--- license: apache-2.0 base_model: - Qwen/Qwen3-ASR-1.7B - Qwen/Qwen3-ASR-0.6B - Qwen/Qwen3-ForcedAligner-0.6B pipeline_tag: automatic-speech-recognition tags: - comfyui - qwen3-asr - speech-recognition - forced-alignment --- # Qwen3-ASR for ComfyUI

ComfyUI v0.40+ 30 languages Apache 2.0

Nodes on GitHub · Drama 3 for ComfyUI · The original model

Qwen's **[Qwen3-ASR](https://huggingface.co/Qwen/Qwen3-ASR-1.7B)** speech recognition, one file per size, for the native nodes in **[ComfyUI-Drama3](https://github.com/PedroMarinhoDev/ComfyUI-Drama3)**: speech to text in 30 languages and 22 Chinese dialects, singing included. In that pack it writes a voice clip's transcript straight into Drama 3's Encode Voice, and it works on any audio. **Qwen3-ForcedAligner** gives the time of every word, so the Drama 3 Editor's captions follow the voice word by word. The nodes run both on ComfyUI's own Qwen3 decoder with a native audio encoder: no extra Python packages. ## Files | File | Size | Notes | |---|---|---| | [`qwen3_asr_1.7b_bf16.safetensors`](qwen3_asr_1.7b_bf16.safetensors) | 4.1 GB | the larger model | | [`qwen3_asr_0.6b_bf16.safetensors`](qwen3_asr_0.6b_bf16.safetensors) | 1.6 GB | nearly the same transcripts of clean speech in our tests, in half the time | | [`qwen3_forced_aligner_0.6b_bf16.safetensors`](qwen3_forced_aligner_0.6b_bf16.safetensors) | 1.8 GB | Qwen3-ForcedAligner: the time of every word, for the Drama 3 Editor | All go in `ComfyUI/models/asr`. A 6.6 s clip takes ~2 s with the 1.7B and ~1 s with the 0.6B on an RTX 3090, model load included. ```bash hf download PedroMarinhoDev/Qwen3-ASR-ComfyUI qwen3_asr_1.7b_bf16.safetensors --local-dir ComfyUI/models/asr ``` Then add **Load Qwen3-ASR** and **Qwen3-ASR Transcribe** in ComfyUI: `language` detects the language or forces one, `context` takes names and terms that help recognition, and the node returns the text and the language. For word timing, load the aligner with **Load Qwen3-ASR** and connect it to the **Drama 3 Editor**'s `aligner` input: ```bash hf download PedroMarinhoDev/Qwen3-ASR-ComfyUI qwen3_forced_aligner_0.6b_bf16.safetensors --local-dir ComfyUI/models/asr ``` ## How close it is to Qwen's code Against Qwen's `qwen-asr` package on five clips and three prompt variants per size: the prompt ids are identical, the encoder output matches within 1e-6 in fp32, the first generated token is the same, and the transcripts match on clips up to 8 s. On longer clips the encoder attends in Qwen's 8 s windows, as their vLLM backend does (their transformers backend attends across the whole clip), which can move a comma. The aligner, against Qwen's own on a 40 s take: 121 of 131 words get the same times, and every other word is within 0.16 s. ## How these files were made The original checkpoints' bf16 tensors, unchanged, in one file each, with the pack's `tools/convert.py asr`: the audio encoder under `audio_tower.` and the decoder under `decoder.model.`. The LM head is left out because it is the embedding table (checked tensor for tensor), and the model config is stored in the file's metadata. The aligner keeps its head, which classifies each word's time in 80 ms steps, as `timestamp_head.weight`. ## License Apache License 2.0, as the original models ([LICENSE](LICENSE), [NOTICE](NOTICE)). Qwen3-ASR is by the [Qwen team](https://github.com/QwenLM/Qwen3-ASR); this repository is not affiliated with or endorsed by it.