Comfyui_SynVow_Qwen3ASR
ComfyUI speech recognition plugin based on Qwen3-ASR with multi-language support and forced alignment for timestamps.
Nodes (4)
Original Project
https://github.com/QwenLM/Qwen3-ASR
Features
- � Speech-to-Text: Transcribe audio to text with high accuracy
- 🌍 Multi-language Support: Supports 52 languages/dialects with automatic language detection
- ⏱️ Forced Alignment: Generate word/character-level timestamps
- 🤖 Auto Model Download: Automatically download models from HuggingFace on first use
- 📊 Long Audio Support: ASR supports up to 20 minutes, alignment supports up to 3 minutes (auto-chunking for longer audio)
Installation
1. Install Dependencies
pip install -r requirements.txt
Or manually install:
pip install qwen-asr huggingface_hub torchaudio
2. Model Download
Models will be automatically downloaded to the following directory on first use:
ComfyUI/models/Qwen3-ASR/
├── Qwen3-ASR-1.7B/ # ASR model (1.7B, default)
├── Qwen3-ASR-0.6B/ # ASR model (0.6B, lighter)
└── Qwen3-ForcedAligner-0.6B/ # Forced alignment model
Node Description
1. Qwen3-ASR Loader
Load Qwen3-ASR speech recognition model.
Input Parameters:
model_name: Select model versionQwen3-ASR-1.7B(default) - Better accuracyQwen3-ASR-0.6B- Faster, lower VRAM
Output:
model: ASR model for transcription node
2. Qwen3-ASR Transcribe
Transcribe audio to text.
Input Parameters:
model: Model from Loader nodeaudio: Audio input (ComfyUI AUDIO type)language: Language selection (default: Auto)
Output:
text: Transcribed textlanguage: Detected language
3. Qwen3 ForcedAligner Loader
Load forced alignment model for generating timestamps.
Input Parameters:
model_name: Select model versionQwen3-ForcedAligner-0.6B(default)
Output:
aligner: Aligner model for alignment node
4. Qwen3 Forced Align
Generate word/character-level timestamps.
Input Parameters:
aligner: Aligner from Loader nodeaudio: Audio input (ComfyUI AUDIO type)text: Text to alignlanguage: Language (supports 11 languages)segment_by_sentence: Segment by sentence (default: true). When enabled, splits output by punctuation; when disabled, outputs per character/word.
Output:
timestamps: Timestamps in formattext\tstart_time\tend_timetext_list: Text segments, one per linestart_times: Start times, one per lineend_times: End times, one per line
Usage Example
Basic Speech-to-Text
- Use
Load Audionode to load audio file - Connect
Qwen3-ASR Loaderto load model - Connect
Qwen3-ASR Transcribefor transcription - Output text and detected language
With Timestamps
Load Audio→Qwen3-ASR Loader→Qwen3-ASR Transcribe→ Get textQwen3 ForcedAligner Loader→Qwen3 Forced Align(input audio + text) → Get timestamps
Supported Languages
ASR (52 languages): Chinese, English, Cantonese, Arabic, German, French, Spanish, Portuguese, Indonesian, Italian, Korean, Russian, Thai, Vietnamese, Japanese, Turkish, Hindi, Malay, Dutch, Swedish, Danish, Finnish, Polish, Czech, Filipino, Persian, Greek, Romanian, Hungarian, Macedonian, etc.
Forced Alignment (11 languages): Chinese, English, Cantonese, French, German, Italian, Japanese, Korean, Portuguese, Russian, Spanish
Notes
-
VRAM Requirements:
- Qwen3-ASR-0.6B: ~4GB VRAM
- Qwen3-ASR-1.7B: ~8GB VRAM
- ForcedAligner-0.6B: ~4GB VRAM
-
Audio Length Limits:
- ASR: Max 20 minutes (1200 seconds)
- Forced Alignment: Max 3 minutes (180 seconds)
- Longer audio is automatically chunked and merged
License
This project follows the license of the original Qwen3-ASR project.
Related Links
Changelog
2026-02-06
- Qwen3 Forced Align: Added
segment_by_sentenceparameter (boolean, default: true) to split alignment output by sentence/phrase based on punctuation in input text - Qwen3 Forced Align: Added 3 new outputs:
text_list,start_times,end_timesfor easier downstream processing