Instructions to use OpenASR/qwen3-forced-aligner-0.6b with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- OpenASR
How to use OpenASR/qwen3-forced-aligner-0.6b with OpenASR:
# Install the openasr CLI: https://github.com/QuintinShaw/openasr/releases openasr pull qwen3-forced-aligner-0.6b openasr transcribe audio.wav --model qwen3-forced-aligner-0.6b
- Notebooks
- Google Colab
- Kaggle
license: apache-2.0
base_model: Qwen/Qwen3-ForcedAligner-0.6B
pipeline_tag: automatic-speech-recognition
library_name: openasr
tags:
- openasr
- oasr
- qwen3-forced-aligner-0.6b
Qwen3-ForcedAligner 0.6B · OpenASR
Word-level forced alignment for OpenASR transcripts -- a non-autoregressive Qwen3 audio+text model that refines per-word timestamps
A capability-pack support model for the OpenASR runtime — pure-Rust inference, no Python at inference time. Not a standalone transcription model: it augments another OpenASR ASR model's own decode path.
✨ Highlights
- 🎯 Refined word timestamps — consumes a finished transcript's text plus the source audio and replaces a model family's own approximate per-word timestamps with aligner-refined spans (
--word-timestamps=aligned) - ⚡ Non-autoregressive — a single forward pass over interleaved audio/text with argmax at
<timestamp>positions (5000 80ms-wide bins), not incremental greedy decoding, so it is not dispatched through the qwen3-asr runtime - 🧩 Shares its backbone with Qwen3-ASR — the same audio-encoder + LM
thinkertensor layout, byte-for-byte; only the final head differs (an independent 5000-way classification head instead of the tied vocabulary head) - 🔌 Shared attribution dependency — used explicitly by
--word-timestamps=alignedand internally when external diarization must split a coarse ASR segment at speaker changes - 🦀 Validated native Q4_K default — the public q4_k name follows OpenASR's unified tier naming, while boundary-sensitive audio, token-embedding, and timestamp-head matrices stay Q8_0; Q8_0 and FP16 remain available
- 🦀 Native in OpenASR —
.oasrpacks run with no Python at inference, engineered for peak performance on CPU & GPU
🚀 Quickstart
# 1. Install the OpenASR CLI · https://openasr.org
# 2. Pull the pack
openasr pull qwen3-forced-aligner-0.6b:q4
# 3. Use it as an opt-in refinement for another model's transcribe call
openasr transcribe meeting.wav --model <asr-model> --word-timestamps=aligned
📦 Pack
| Quant | File (.oasr) |
Size |
|---|---|---|
| fp16 | qwen3-forced-aligner-0.6b-fp16.oasr |
1.84 GB |
| q8_0 | qwen3-forced-aligner-0.6b-q8_0.oasr |
986 MB |
| q4_k | qwen3-forced-aligner-0.6b-q4_k.oasr |
765 MB |
🧠 About Qwen3-ForcedAligner 0.6B
Qwen3-ForcedAligner-0.6B is a word-level forced-alignment model from Qwen, sharing its
audio-encoder + LM thinker tensor layout byte-for-byte with Qwen3-ASR (same
Qwen3ASRForConditionalGeneration architecture). The only structural difference is the final
head: instead of a tied vocabulary lm_head, it uses an independent Linear(hidden_size, 5000) classification head over 80ms-wide timestamp bins. Given a transcript's text and its
source audio, it runs a single non-autoregressive forward pass and reads off word-boundary
timestamps at argmax <timestamp> positions -- refining a model family's own (typically
decode-time-approximate) per-word timestamps. This OpenASR repo repackages the weights as
.oasr packs that run natively in the OpenASR runtime -- no Python at inference, all decoding
local. OpenASR recommends the validated q4_k tier and also ships q8_0 and an fp16
full-precision reference tier. The q4_k label is the catalog's unified product name, not a claim
that every matrix uses Q4_K: the audio encoder, token embedding, and timestamp head remain Q8_0,
and pack verification replays the exact per-tensor policy. Q3 and legacy all-Q4 packs are rejected
because small logit perturbations can move a word boundary across multiple 80ms bins.
Not a standalone transcription model. This pack cannot transcribe audio by itself; it is an
alignment dependency consumed explicitly via openasr transcribe <audio> --model <asr-model> --word-timestamps=aligned. It is also invoked internally when external speaker diarization
must split a coarse ASR segment at speaker changes; internally requested word anchors are
removed again unless the caller asked to receive them.
Verification: local verification covers a tensor-parity check against the real upstream checkpoint -- every source safetensors tensor maps 1:1 to a destination tensor, plus the two synthesized frontend tensors. On the fixed 205-item Chinese alignment set, the recommended q4_k pack's CPU and Apple M1 Metal outputs each stayed within 320ms of the official reference and within one 80ms model bin of q8_0. All published tiers pass their declared per-tensor quantization policy.
⚙️ How this pack was made
Converted from Qwen/Qwen3-ForcedAligner-0.6B with the OpenASR local-source
importer (openasr model-pack import qwen-forced-aligner ...).
The .oasr container is GGUF-backed; each shipped quant stores weights at the
requested precision while parity-sensitive tensors stay f32 where required.
⚖️ License
This pack inherits the upstream model's license: Apache-2.0 (source). OpenASR packaging retains the upstream copyright; the only modifications are format conversion and quantization.
🙏 Acknowledgements
This pack is a redistribution of Qwen3-ForcedAligner-0.6B, created and open-sourced by Qwen (Qwen/Qwen3-ForcedAligner-0.6B). All credit for the original architecture, training, and weights belongs to the authors; the license is inherited from and identical to the upstream model (Apache-2.0). OpenASR only performs format conversion, quantization, runtime verification, and local-inference adaptation.
🔗 Links
- 🦀 OpenASR — https://github.com/QuintinShaw/openasr
- 🌐 Website — https://openasr.org
- 🤗 Upstream model — Qwen/Qwen3-ForcedAligner-0.6B