Nodes/ComfyUI-Qwen3-ASR/Qwen3 Forced Aligner Config
ComfyUI Node

Qwen3 Forced Aligner Config

Word-level timestamps are one config node away (Qwen3 Forced Aligner)

By kaushiknishchay·Created 7 months ago·Updated 6 months ago· 29
Qwen3 Forced Aligner Config
    • aligner_config
    model_name
    devicecuda
    precisionbf16
    flash_attention_2false

    Don't judge this node by its four inputs and one output. It looks like a stub that does nothing, but it's the difference between a plain transcript and a transcript with word-level timestamps you can actually use. It ships in the same pack as the Qwen3 ASR Transcriber, and its entire job is to hand that node the recipe for loading the Qwen3-ForcedAligner-0.6B model.

    What it actually does

    Transcribe with the main Qwen3 ASR Transcriber node and you get text plus a timestamps output that reads "No timestamps generated." Connect this config node's aligner_config output into the Transcriber's optional forced_aligner input and that same output fills with aligned lines like [0.00 - 0.42] hello, one per word or short segment. That's the whole value: instead of searching a video's audio for where someone said "yes," you get it handed to you.

    Under the hood, get_config resolves the model path and bundles a small dict - model name plus load kwargs for device, dtype, and attention backend - into a QWEN3_ALIGNER_CONF that the Transcriber consumes. Nothing heavy happens here. This node does not load the aligner model; the Transcriber does that when the workflow runs, so the real VRAM hit shows up there, not here.

    The inputs

    Since it's a config node, every input matters, but only in how it must agree with the Transcriber:

    • model_name - the dropdown of folders under models/diffusion_models/Qwen3-ASR/; pick Qwen3-ForcedAligner-0.6B. If it says "None Found," the model isn't placed (it needs huggingface-cli download Qwen/Qwen3-ForcedAligner-0.6B --local-dir models/diffusion_models/Qwen3-ASR/Qwen3-ForcedAligner-0.6B).
    • device - should match the Transcriber's, cuda normally.
    • precision - should also match the Transcriber's; the aligner is loaded with the same dtype, and mismatches mean a reload (or worse) on the next run.
    • flash_attention_2 - off by default. The tooltip spells out the catch: it requires a compatible GPU and bf16/fp16. Turn it on with fp32 and you're asking for an error.

    The single output, aligner_config, wires straight into the Transcriber's forced_aligner socket. If you're wondering why it's a config object instead of just a checkbox on the Transcriber, that's the design: it keeps the aligner's own model choice and load settings separate so you can swap models or backends without reworking the main node.

    What it doesn't do

    Worth knowing before you build a whole timestamping pipeline on it: the forced aligner supports a smaller set of languages than the ASR model itself. Early community testing found it aligned English words cleanly but only partially covered languages the ASR handled fine - Hindi was the example that bit people. If you're working in an aligner-unsupported language, don't assume the gaps are a bug in your workflow. And if you only ever transcribe short clips and never need timestamps, you can skip this node entirely - it's purely additive.

    Install

    It's one node out of the same pack, so there's no separate install - grab kaushiknishchay/ComfyUI-Qwen3-ASR via ComfyUI Manager or git clone into ComfyUI/custom_nodes, run pip install -r requirements.txt, and grab the aligner weights with the huggingface-cli command above. Then load the Transcriber, add this node next to it, and watch your transcripts grow timecodes.

    CategoryQwen3-ASR

    Inputs (4)

    NameTypeDefaultDescription
    model_nameCOMBOThe Qwen3 Forced Aligner model to use for generating timestamps.
    deviceCOMBOcudaThe device to run the aligner on.
    precisionCOMBObf16The numerical precision to use for the aligner model.
    flash_attention_2BOOLEANfalseEnable Flash Attention 2 for faster inference and lower VRAM usage (requires compatible GPU and bf16/fp16).

    Outputs (1)

    NameTypeDescription
    aligner_configQWEN3_ALIGNER_CONF