voice_audio_multi/include/engine/community_models/audio8_asr/assets.h
Fabio c36510c21e
Some checks failed
Linux Build / Linux cpu (push) Has been cancelled
Linux Build / Linux cpu-clang (push) Has been cancelled
Linux Build / Linux vulkan (push) Has been cancelled
mac-build / macOS CPU (push) Has been cancelled
Nix Build / Nix (cpu) (push) Has been cancelled
Nix Build / Nix (vulkan) (push) Has been cancelled
windows-build / Windows CPU (push) Has been cancelled
Initial import: audio.cpp with Orange Pi documentation
2026-11-04 19:05:22 +01:00

31 lines
1.1 KiB
C++

#pragma once
#include "engine/framework/assets/resource_bundle.h"
#include "engine/framework/tokenizers/llama_bpe.h"
#include "engine/models/qwen3_asr/assets.h"
#include <filesystem>
#include <memory>
#include "engine/community_models/audio8_asr/types.h"
namespace engine::community_models::audio8_asr {
struct Audio8ASRAssets {
// Bundle and config for this family (arkasr layout).
assets::ResourceBundle resources;
Audio8ASRConfig config;
// Qwen2 BPE tokenizer shared with the Qwen3-ASR family tooling.
std::shared_ptr<engine::tokenizers::LlamaBpeTokenizer> tokenizer;
// A Qwen3-ASR view over the same bundle so the audio encoder and Whisper
// frontend implementations can be reused unchanged. The weights source in
// this view renames Audio8 tensors to the prefixes those implementations
// expect (`audio_encoder.*` -> `model.audio_tower.*` etc.).
std::shared_ptr<const qwen3_asr::Qwen3ASRAssets> encoder_assets;
};
std::shared_ptr<const Audio8ASRAssets> load_audio8_asr_assets(const std::filesystem::path & model_path);
} // namespace engine::community_models::audio8_asr