VoiceBridge ASR Loader
The transcription workhorse that downloads itself
- model_key
Before VoiceBridge can translate speech, it has to know what was said. That's the job of the ASR (automatic speech recognition) side of this pack, and this node is where you load the model. It wraps Alibaba's Qwen3-ASR - the open-weights speech-recognition model that, like the rest of the Qwen family, the community reaches for because it's actually downloadable and actually runs locally.
What it loads
Two model sizes, chosen from the repo_id dropdown: Qwen/Qwen3-ASR-1.7B (the default) and Qwen/Qwen3-ASR-0.6B. The 1.7B is the better ear; the 0.6B is the "I want it faster and smaller" option. Whichever you pick, the first run downloads the weights and drops them into ComfyUI/models/Qwen3-ASR/ - the loader even checks your existing HuggingFace and ModelScope caches first and migrates the model from there instead of re-downloading, which is a genuinely thoughtful touch.
You can also short-circuit the download entirely with local_model_path_asr and local_model_path_fa - give them a relative path under ComfyUI/models/ and the loader uses that instead of hitting the network.
The settings that matter
source-HuggingFaceorModelScope. ModelScope matters if you're in a region where HuggingFace is slow or blocked; it's a one-click swap that most packs don't bother offering.precision-bf16by default, withfp16andfp32options. Leave it on bf16 unless you have a reason not to; on Apple Silicon (MPS) it automatically falls back to fp16.attention-auto(default),flash_attention_2,sdpa, oreager. Defaultautois fine; reach forflash_attention_2only if you have flash-attn installed and want the speed.forced_aligner- the one that matters most for the pipeline. Set it toQwen/Qwen3-ForcedAligner-0.6Bto get word-level timestamps on transcription. That's whatVoiceBridge ASR Transcribe'sforced_alignsoutput and theGenerate SRTnode depend on. No forced aligner, no precise subtitle timing.max_new_tokens(default 256) - caps how long a transcription run can get. Raise it for very long audio segments.
The output, and the design gotcha
The output is a model_key (type MODEL_KEY), and here's the thing to internalize about this pack: the loaders do not hand you the model. They load it into an in-process cache and hand you a key that other nodes use to look it up. That's why VoiceBridge ASR Transcribe takes model_key as its first input, and why the cache is keyed on your exact settings - change repo_id or precision and the loader knows to clear and reload. It's also why there's a VoiceBridge Unload Model node: the cache holds VRAM, and you can free it deliberately.
Wire model_key into VoiceBridge ASR Transcribe and you're done with the loader.
Installing it
Part of the comfyui_voicebridge pack - ComfyUI Manager search "VoiceBridge", or:
cd ComfyUI/custom_nodes
git clone https://github.com/YanTianlong-01/comfyui_voicebridge.git
cd comfyui_voicebridge
pip install -r requirements.txt
Restart, then be patient on the first run: the 1.7B model plus the forced aligner is a few gigabytes of download, then it loads into VRAM. If you're on a modest card, that's the moment to remember the Unload node - you don't need the ASR model resident once transcription is done, and VoiceBridge Unload Model will free it so the TTS model has room. Community chatter on Qwen3-TTS is lively (a few hundred threads), but this pack itself is brand new with zero write-ups - the [VoiceBridge] console logs are your best troubleshooting aid if the model fails to download or load.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| repo_id | COMBO | Qwen/Qwen3-ASR-1.7B | 2 options: Qwen/Qwen3-ASR-1.7B, Qwen/Qwen3-ASR-0.6B |
| source | COMBO | HuggingFace | 2 options: HuggingFace, ModelScope |
| precision | COMBO | bf16 | 3 options: fp16, bf16, fp32 |
| attention | COMBO | auto | 4 options: auto, flash_attention_2, sdpa, eager |
| max_new_tokensopt | INT | 2561–4096 | The maximum number of tokens to generate in the transcription. |
| forced_aligneropt | COMBO | None | 2 options: None, Qwen/Qwen3-ForcedAligner-0.6B |
| local_model_path_asropt | STRING | The local path to the ASR model. If provided, the model will be loaded from this path instead of downloading it from HuggingFace or ModelScope. | |
| local_model_path_faopt | STRING | The local path to the forced aligner model. If provided, the model will be loaded from this path instead of downloading it from HuggingFace or ModelScope. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| model_key | MODEL_KEY | — |