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
463 lines
14 KiB
JSON
463 lines
14 KiB
JSON
{
|
|
"family": "qwen3_asr",
|
|
"display_name": "Qwen3-ASR",
|
|
"description": "Qwen ASR model family for language identification and speech recognition across 30 languages, 22 Chinese dialects, and multiple English accents, with robustness for noisy, long-form, and singing audio.",
|
|
"category": "asr",
|
|
"status": "supported",
|
|
"tasks": [
|
|
"asr"
|
|
],
|
|
"modes": [
|
|
"offline",
|
|
"streaming"
|
|
],
|
|
"languages": [
|
|
"zh",
|
|
"en",
|
|
"yue",
|
|
"ar",
|
|
"de",
|
|
"fr",
|
|
"es",
|
|
"pt",
|
|
"id",
|
|
"it",
|
|
"ko",
|
|
"ru",
|
|
"th",
|
|
"vi",
|
|
"ja",
|
|
"tr",
|
|
"hi",
|
|
"ms",
|
|
"nl",
|
|
"sv",
|
|
"da",
|
|
"fi",
|
|
"pl",
|
|
"cs",
|
|
"fil",
|
|
"fa",
|
|
"el",
|
|
"hu",
|
|
"mk",
|
|
"ro",
|
|
"zh dialects"
|
|
],
|
|
"capabilities": {
|
|
"asr": [
|
|
"word_timestamps",
|
|
"vad_chunking",
|
|
"partial_results"
|
|
]
|
|
},
|
|
"options": {
|
|
"request": [
|
|
{
|
|
"name": "language",
|
|
"type": "string",
|
|
"description": "Recognition language code or label. Omit to detect language automatically; Auto also selects automatic detection.",
|
|
"required": false
|
|
},
|
|
{
|
|
"name": "max_tokens",
|
|
"type": "int",
|
|
"description": "Maximum generated transcript tokens; omitted uses the checkpoint generation_config.json (512 when absent).",
|
|
"required": false,
|
|
"min": 1
|
|
},
|
|
{
|
|
"name": "return_timestamps",
|
|
"type": "bool",
|
|
"description": "Return word-level timestamps by running Qwen3 ForcedAligner after ASR; default false and requires forced_aligner_path when enabled. Offline only; streaming rejects true even when an aligner is configured.",
|
|
"required": false,
|
|
"default": false
|
|
},
|
|
{
|
|
"name": "audio_chunk_mode",
|
|
"type": "enum",
|
|
"description": "Audio chunking mode; default auto uses fixed chunks normally and VAD chunks when timestamps are requested. Offline only; streaming uses fixed-duration windows regardless of this selection.",
|
|
"values": [
|
|
"auto",
|
|
"fixed",
|
|
"vad",
|
|
"none"
|
|
],
|
|
"required": false,
|
|
"default": "auto"
|
|
},
|
|
{
|
|
"name": "audio_chunk_duration_sec",
|
|
"type": "float",
|
|
"description": "Maximum audio chunk duration in seconds; must be > 0 when chunking or streaming. Ignored with audio_chunk_mode=none offline. Default 30 for streaming and offline transcription, or 15 for offline timestamps/VAD chunking.",
|
|
"required": false,
|
|
"min": 0
|
|
},
|
|
{
|
|
"name": "clamp_timestamps_to_audio",
|
|
"type": "bool",
|
|
"description": "Opt-in guard for word timestamp output: keep repaired forced-aligner word spans inside the local audio chunk. Defaults to false to preserve existing timestamp repair behavior.",
|
|
"required": false,
|
|
"default": false
|
|
},
|
|
{
|
|
"name": "preserve_punctuation",
|
|
"type": "bool",
|
|
"description": "Opt-in text output mode for timestamped chunked ASR: preserve ASR punctuation in text_output instead of rebuilding text from aligned words.",
|
|
"required": false,
|
|
"default": false
|
|
}
|
|
],
|
|
"session": [
|
|
{
|
|
"name": "perf_mode",
|
|
"type": "enum",
|
|
"values": [
|
|
"off",
|
|
"cuda_perf"
|
|
],
|
|
"description": "Performance preset. cuda_perf selects flash attention, packed projections, f16 KV, 256-token attention alignment and two independent offline chunks per decode batch. Explicit session options override the preset.",
|
|
"required": false,
|
|
"default": "off"
|
|
},
|
|
{
|
|
"name": "attention",
|
|
"type": "enum",
|
|
"values": [
|
|
"mixed",
|
|
"auto",
|
|
"eager",
|
|
"flash"
|
|
],
|
|
"description": "Decoder attention preference. Default mixed preserves manual prefill and flash cached decoding; cuda_perf selects flash for both. auto uses the shared backend policy. Explicit values override the preset.",
|
|
"required": false
|
|
},
|
|
{
|
|
"name": "packed_projections",
|
|
"type": "bool",
|
|
"description": "Pack decoder QKV and gate/up projections without changing weight dtype. Default false, true with cuda_perf. Explicit values override the preset.",
|
|
"required": false
|
|
},
|
|
{
|
|
"name": "kv_cache_type",
|
|
"type": "enum",
|
|
"values": [
|
|
"f32",
|
|
"f16"
|
|
],
|
|
"description": "Decoder KV storage. Default f32, f16 with cuda_perf. Explicit values override the preset.",
|
|
"required": false
|
|
},
|
|
{
|
|
"name": "kv_cache_alignment",
|
|
"type": "int",
|
|
"min": 1,
|
|
"description": "Cached decoder attention prefix alignment in tokens. Default 1 attends over full cache capacity; cuda_perf uses cached 256-token prefix windows. Explicit values override the preset.",
|
|
"required": false
|
|
},
|
|
{
|
|
"name": "offline_batch_size",
|
|
"type": "int",
|
|
"min": 1,
|
|
"max": 2,
|
|
"description": "Independent offline chunks decoded together. Default 1, 2 with cuda_perf. Does not change chunk boundaries or streaming scheduling. Explicit values override the preset.",
|
|
"required": false
|
|
},
|
|
{
|
|
"name": "lora",
|
|
"type": "path",
|
|
"description": "PEFT LoRA adapter directory or checkpoint file; merged into matching encoder/decoder weights at session creation.",
|
|
"required": false
|
|
},
|
|
{
|
|
"name": "lora_scale",
|
|
"type": "float",
|
|
"description": "Multiplier for the adapter's alpha/r scaling; default 1.",
|
|
"required": false,
|
|
"default": 1.0
|
|
},
|
|
{
|
|
"name": "forced_aligner_path",
|
|
"type": "path",
|
|
"description": "Optional Qwen3 ForcedAligner model path required for return_timestamps.",
|
|
"required": false
|
|
},
|
|
{
|
|
"name": "vad_model_path",
|
|
"type": "path",
|
|
"description": "Optional VAD model path for VAD chunking (any built-in VAD family); default assets/framework/models/silero_vad.",
|
|
"required": false,
|
|
"default": "assets/framework/models/silero_vad"
|
|
},
|
|
{
|
|
"name": "weight_type",
|
|
"type": "enum",
|
|
"description": "Shared text decoder weight storage fallback; default native.",
|
|
"required": false,
|
|
"default": "native",
|
|
"preset": "weight_type_full"
|
|
},
|
|
{
|
|
"name": "audio_encoder_weight_type",
|
|
"type": "enum",
|
|
"description": "Audio encoder weight storage type; default native.",
|
|
"required": false,
|
|
"default": "native",
|
|
"preset": "weight_type_conv"
|
|
},
|
|
{
|
|
"name": "text_decoder_weight_type",
|
|
"type": "enum",
|
|
"description": "Text decoder matmul weight storage type; defaults to weight_type when set, otherwise native.",
|
|
"required": false,
|
|
"preset": "weight_type_full"
|
|
},
|
|
{
|
|
"name": "audio_encoder_graph_arena_mb",
|
|
"type": "int",
|
|
"description": "Audio encoder graph arena size in MiB; default 128.",
|
|
"required": false,
|
|
"min": 1,
|
|
"default": 128
|
|
},
|
|
{
|
|
"name": "text_decoder_prefill_graph_arena_mb",
|
|
"type": "int",
|
|
"description": "Text decoder prefill graph arena size in MiB; default 256.",
|
|
"required": false,
|
|
"min": 1,
|
|
"default": 256
|
|
},
|
|
{
|
|
"name": "text_decoder_decode_graph_arena_mb",
|
|
"type": "int",
|
|
"description": "Text decoder cached-step graph arena size in MiB; default 256.",
|
|
"required": false,
|
|
"min": 1,
|
|
"default": 256
|
|
},
|
|
{
|
|
"name": "text_decoder_weight_context_mb",
|
|
"type": "int",
|
|
"description": "Text decoder weight context size in MiB; default 64.",
|
|
"required": false,
|
|
"min": 1,
|
|
"default": 64
|
|
}
|
|
],
|
|
"load": []
|
|
},
|
|
"runtime": {
|
|
"tags": [
|
|
"gguf",
|
|
"stream"
|
|
]
|
|
},
|
|
"ui": {
|
|
"recommended_package": "qwen3_asr_1_7b_q8_0",
|
|
"tags": [
|
|
"ASR",
|
|
"GGUF",
|
|
"Stream"
|
|
],
|
|
"docs": [
|
|
"docs/models/qwen3_asr.md",
|
|
"docs/asr.md",
|
|
"docs/gguf.md"
|
|
]
|
|
},
|
|
"package_defaults": {
|
|
"download": {
|
|
"kind": "huggingface_snapshot",
|
|
"repo": "audio-cpp/audio.cpp-gguf",
|
|
"revision": "main",
|
|
"gated": false
|
|
}
|
|
},
|
|
"packages": [
|
|
{
|
|
"id": "qwen3_asr_1_7b_q8_0",
|
|
"display_name": "Qwen3-ASR 1.7B Q8_0 GGUF",
|
|
"default": true,
|
|
"format": "gguf",
|
|
"precision": "q8_0",
|
|
"target_directory": "Qwen3-ASR-1.7B-GGUF",
|
|
"files": [
|
|
"Qwen3-ASR-1.7B-GGUF/qwen3-asr-1.7b-q8_0.gguf"
|
|
],
|
|
"strip_prefix": "Qwen3-ASR-1.7B-GGUF"
|
|
},
|
|
{
|
|
"id": "qwen3_asr_1_7b_f16",
|
|
"display_name": "Qwen3-ASR 1.7B F16 GGUF",
|
|
"format": "gguf",
|
|
"precision": "f16",
|
|
"target_directory": "Qwen3-ASR-1.7B-GGUF",
|
|
"files": [
|
|
"Qwen3-ASR-1.7B-GGUF/qwen3-asr-1.7b-f16.gguf"
|
|
],
|
|
"strip_prefix": "Qwen3-ASR-1.7B-GGUF"
|
|
},
|
|
{
|
|
"id": "qwen3_asr_0_6b_q8_0",
|
|
"display_name": "Qwen3-ASR 0.6B Q8_0 GGUF",
|
|
"format": "gguf",
|
|
"precision": "q8_0",
|
|
"target_directory": "Qwen3-ASR-0.6B-GGUF",
|
|
"files": [
|
|
"Qwen3-ASR-0.6B-GGUF/qwen3-asr-0.6b-q8_0.gguf"
|
|
],
|
|
"strip_prefix": "Qwen3-ASR-0.6B-GGUF"
|
|
},
|
|
{
|
|
"id": "qwen3_asr_0_6b_f16",
|
|
"display_name": "Qwen3-ASR 0.6B F16 GGUF",
|
|
"format": "gguf",
|
|
"precision": "f16",
|
|
"target_directory": "Qwen3-ASR-0.6B-GGUF",
|
|
"files": [
|
|
"Qwen3-ASR-0.6B-GGUF/qwen3-asr-0.6b-f16.gguf"
|
|
],
|
|
"strip_prefix": "Qwen3-ASR-0.6B-GGUF"
|
|
},
|
|
{
|
|
"id": "qwen3_asr_1_7b_safetensors",
|
|
"display_name": "Qwen3-ASR 1.7B HF Safetensors",
|
|
"format": "safetensors",
|
|
"precision": "native",
|
|
"target_directory": "Qwen3-ASR-1.7B-hf",
|
|
"files": [
|
|
"config.json",
|
|
"generation_config.json",
|
|
"model.safetensors",
|
|
"processor_config.json",
|
|
"tokenizer_config.json",
|
|
"tokenizer.json"
|
|
],
|
|
"download": {
|
|
"kind": "huggingface_snapshot",
|
|
"repo": "Qwen/Qwen3-ASR-1.7B-hf"
|
|
}
|
|
},
|
|
{
|
|
"id": "qwen3_asr_0_6b_safetensors",
|
|
"display_name": "Qwen3-ASR 0.6B Safetensors",
|
|
"format": "safetensors",
|
|
"precision": "native",
|
|
"target_directory": "Qwen3-ASR-0.6B",
|
|
"files": [
|
|
"config.json",
|
|
"generation_config.json",
|
|
"model.safetensors",
|
|
"preprocessor_config.json",
|
|
"tokenizer_config.json"
|
|
],
|
|
"download": {
|
|
"kind": "huggingface_snapshot",
|
|
"repo": "Qwen/Qwen3-ASR-0.6B"
|
|
}
|
|
},
|
|
{
|
|
"id": "qwencleo_asr_q8_0",
|
|
"display_name": "QwenCleo-ASR Egyptian Arabic Q8_0 GGUF",
|
|
"description": "Egyptian Arabic and Arabic-English code-switching fine-tune of Qwen3-ASR-1.7B from mohammedaly22/QwenCleo-ASR. Use language=Arabic.",
|
|
"format": "gguf",
|
|
"precision": "q8_0",
|
|
"target_directory": "QwenCleo-ASR-GGUF",
|
|
"files": [
|
|
"qwencleo-asr-q8_0.gguf"
|
|
],
|
|
"download": {
|
|
"kind": "huggingface_snapshot",
|
|
"repo": "mohammedaly22/QwenCleo-ASR-GGUF"
|
|
}
|
|
},
|
|
{
|
|
"id": "qwencleo_asr_f16",
|
|
"display_name": "QwenCleo-ASR Egyptian Arabic F16 GGUF",
|
|
"description": "Egyptian Arabic and Arabic-English code-switching fine-tune of Qwen3-ASR-1.7B from mohammedaly22/QwenCleo-ASR. Use language=Arabic.",
|
|
"format": "gguf",
|
|
"precision": "f16",
|
|
"target_directory": "QwenCleo-ASR-GGUF",
|
|
"files": [
|
|
"qwencleo-asr-f16.gguf"
|
|
],
|
|
"download": {
|
|
"kind": "huggingface_snapshot",
|
|
"repo": "mohammedaly22/QwenCleo-ASR-GGUF"
|
|
}
|
|
},
|
|
{
|
|
"id": "qwencleo_asr_safetensors",
|
|
"display_name": "QwenCleo-ASR Egyptian Arabic Safetensors",
|
|
"description": "Egyptian Arabic and Arabic-English code-switching fine-tune of Qwen3-ASR-1.7B from mohammedaly22/QwenCleo-ASR. Use language=Arabic.",
|
|
"format": "safetensors",
|
|
"precision": "native",
|
|
"target_directory": "QwenCleo-ASR",
|
|
"files": [
|
|
"config.json",
|
|
"generation_config.json",
|
|
"model.safetensors",
|
|
"preprocessor_config.json",
|
|
"tokenizer_config.json",
|
|
"tokenizer.json",
|
|
"vocab.json",
|
|
"merges.txt",
|
|
"chat_template.json"
|
|
],
|
|
"download": {
|
|
"kind": "huggingface_snapshot",
|
|
"repo": "mohammedaly22/QwenCleo-ASR"
|
|
}
|
|
}
|
|
],
|
|
"sources": [
|
|
{
|
|
"format": "gguf",
|
|
"roots": {
|
|
"model": ".",
|
|
"weights": "$gguf"
|
|
},
|
|
"files": {
|
|
"config": "model:config.json",
|
|
"generation_config": "model:generation_config.json",
|
|
"tokenizer_config": "model:tokenizer_config.json"
|
|
},
|
|
"optional_files": {
|
|
"preprocessor_config": "model:preprocessor_config.json",
|
|
"processor_config": "model:processor_config.json",
|
|
"chat_template": "model:chat_template.json",
|
|
"chat_template_jinja": "model:chat_template.jinja",
|
|
"vocab": "model:vocab.json",
|
|
"merges": "model:merges.txt",
|
|
"tokenizer_json": "model:tokenizer.json"
|
|
},
|
|
"tensors": {
|
|
"weights": "weights:"
|
|
}
|
|
},
|
|
{
|
|
"format": "safetensors",
|
|
"roots": {
|
|
"model": "."
|
|
},
|
|
"files": {
|
|
"config": "model:config.json",
|
|
"generation_config": "model:generation_config.json",
|
|
"tokenizer_config": "model:tokenizer_config.json"
|
|
},
|
|
"optional_files": {
|
|
"preprocessor_config": "model:preprocessor_config.json",
|
|
"processor_config": "model:processor_config.json",
|
|
"chat_template": "model:chat_template.json",
|
|
"chat_template_jinja": "model:chat_template.jinja",
|
|
"vocab": "model:vocab.json",
|
|
"merges": "model:merges.txt",
|
|
"tokenizer_json": "model:tokenizer.json"
|
|
},
|
|
"tensors": {
|
|
"weights": "model:model.safetensors"
|
|
}
|
|
}
|
|
]
|
|
}
|