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 | |
| <div align="center"> | |
| # Qwen3-ForcedAligner 0.6B Β· OpenASR | |
| **Word-level forced alignment for OpenASR transcripts -- a non-autoregressive Qwen3 audio+text model that refines per-word timestamps** | |
| [](https://huggingface.co/Qwen/Qwen3-ForcedAligner-0.6B/blob/c7cbfc2048c462b0d63a45797104fc9db3ad62b7/LICENSE) | |
| [](https://github.com/QuintinShaw/openasr) | |
| [](https://openasr.org) | |
| [](https://huggingface.co/Qwen/Qwen3-ForcedAligner-0.6B) | |
| A capability-pack support model for the **[OpenASR](https://github.com/QuintinShaw/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. | |
| </div> | |
| --- | |
| ## β¨ 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 `thinker` tensor 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=aligned` and 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** β `.oasr` packs run with no Python at inference, engineered for peak performance on CPU & GPU | |
| ## π Quickstart | |
| ```bash | |
| # 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](https://huggingface.co/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](https://huggingface.co/Qwen/Qwen3-ForcedAligner-0.6B/blob/c7cbfc2048c462b0d63a45797104fc9db3ad62b7/LICENSE)). 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](https://huggingface.co/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](https://huggingface.co/Qwen/Qwen3-ForcedAligner-0.6B) |