--- base_model: Qwen/Qwen3-ASR-0.6B license: mit library_name: transformers pipeline_tag: automatic-speech-recognition language: - zh - en tags: - automatic-speech-recognition - taiwan-mandarin - traditional-chinese - code-switching - qwen3-asr - speech --- # TEA-ASR-1.1-mini · Taiwan Everyday Audio 🍵 **TEA-ASR is an open, drop-in speech-recognition model purpose-built for Taiwan Mandarin.** It turns real speech into natural **Traditional Chinese** with authentic **Taiwan vocabulary**, and it stays robust through the everyday **Mandarin–English code-switching** common in Taiwan. Adapted from the state-of-the-art **Qwen3-ASR** foundation and merged into a single self-contained checkpoint, TEA-ASR **loads and runs exactly like stock Qwen3-ASR** — no converters, no post-processing. `TEA-ASR-1.1-mini` is the **780M compact model (best accuracy-per-parameter)** of the second generation. For the 2B flagship, see [`JacobLinCool/TEA-ASR-1.1`](https://huggingface.co/JacobLinCool/TEA-ASR-1.1). Compared with the first-generation `TEA-ASR-1-mini`, this release **substantially improves code-switching** — ASCEND and CSZS drop by 1.29 and 0.70 points absolute — with CommonVoice roughly level. > **Need a controllable numeral style?** The > [`TEA-ASR-1.1-mini-fmt`](https://huggingface.co/JacobLinCool/TEA-ASR-1.1-mini-fmt) variant adds a > numeral-convention dial for formatting-sensitive, Mandarin-dominant audio (it trades dense > code-switch robustness — see its card). This model stays the best compact pick for recognition. ## What's new in 1.1-mini - 🔀 **Code-switch leap** — ASCEND 12.49 → **11.20**, CSZS 13.21 → **12.51**; embedded English is *transcribed*, not translated. - 🏷️ **Format tags** — trained with output-convention tags: an optional decoder-prefix control that biases toward verbatim English and a chosen numeral style (see [Format tags](#format-tags)). - 🪶 Still a **single drop-in checkpoint**, `< 10 hours` of public training audio, no runtime post-processing. ## Quick start ```bash pip install qwen-asr ``` ```python from qwen_asr import Qwen3ASRModel model = Qwen3ASRModel.from_pretrained("JacobLinCool/TEA-ASR-1.1-mini") result = model.transcribe(audio="utterance.wav", language="Chinese")[0] print(result.text) # -> Traditional Chinese with Taiwan lexicon ``` Set `language="Chinese"` for Taiwan speech (recommended). You can also pass a `context=` string of hotwords (names, jargon) for contextual biasing, exactly as with the base Qwen3-ASR. ## Benchmark results Mixed Error Rate (MER%, **lower is better**), all numbers from a **single self-measured run under one protocol** (see [Evaluation](#evaluation)). Columns: the two TEA-ASR-1.1 models, the original (unadapted) **Qwen3-ASR** bases, and two references — **Breeze-ASR-25** (a Taiwan-specialist ASR) and **Whisper-large-v3**. **Bold = this model.** | Benchmark | TEA-ASR-1.1 | TEA-ASR-1.1-mini | Qwen3-ASR-1.7B | Qwen3-ASR-0.6B | Breeze-ASR-25 | Whisper-large-v3 | |---|---|---|---|---|---|---| | CommonVoice 19 (zh-TW) | 3.58 | **5.12** | 3.90 | 5.79 | 8.03 | 10.17 | | ASCEND (zh-en) | 9.60 | **11.20** | 10.57 | 12.54 | 17.53 | 19.61 | | CSZS (zh-en) | 10.94 | **12.51** | 11.03 | 16.03 | 12.18 | 23.24 | | NTUML2021 | 6.67 | **7.53** | 10.12 | 11.03 | 7.50 | 9.68 | **Generational improvement — TEA-ASR-1.1-mini vs TEA-ASR-1-mini** (780M, same protocol, lower is better): | Benchmark | TEA-ASR-1.1-mini | TEA-ASR-1-mini | Δ | |---|---|---|---| | CommonVoice 19 (zh-TW) | **5.12** | 5.14 | −0.02 | | ASCEND (zh-en) | **11.20** | 12.49 | −1.29 | | CSZS (zh-en) | **12.51** | 13.21 | −0.70 | | NTUML2021 | 7.53 | **7.37** | +0.16 | **How to read this.** 1.1-mini delivers most of the 2B flagship's quality at well under half the parameters (780M vs 2B) and leads every 0.6B-class system in the table. Against the first-generation mini it is a clear code-switch upgrade (ASCEND −1.29, CSZS −0.70), trading a small step back on the in-domain lecture set (NTUML2021 +0.16). The metric **folds away script differences** (see Evaluation), so it does *not* reflect the decisive practical change: TEA-ASR emits **Traditional script and Taiwan vocabulary natively**, whereas the base produces Simplified script. ## Format tags `TEA-ASR-1.1-mini` was trained with **output-convention format tags** — an optional prefix, in the same channel as the language hint, that steers *formatting* without changing the recognition: - **`keep-en`** — transcribe embedded English verbatim (do not translate dense code-switch). - **`digits` / `zh-num`** — force Arabic (`123`) or Chinese (`一二三`) numerals. Plain decoding (no tag) works well by default; the tags are for callers who need a specific convention. Try them interactively in the [Space](https://huggingface.co/spaces/JacobLinCool/TEA-ASR-Demo). ## Evaluation - **Metric — Mixed Error Rate (MER).** Character Error Rate for Chinese and Word Error Rate for the English tokens, computed jointly per utterance and micro-averaged. - **Content fold (applied uniformly to every dataset and every system).** Before scoring, both the reference and the hypothesis are normalized to a common form — **converted to Simplified Chinese with OpenCC (`t2s`)**, lowercased, and stripped of punctuation. This isolates *recognition* from *script style*, so a Simplified-output model and a Traditional-output model (TEA-ASR) are compared fairly on content. (TEA-ASR's actual output is Traditional; the fold is only for scoring.) - **Decoding.** TEA-ASR and Qwen3-ASR are decoded with `language=Chinese`; Whisper-large-v3 and Breeze-ASR-25 use their own automatic language detection. All systems are scored with the **same code on the same public splits**; we do not import numbers reported elsewhere. | Dataset | What it tests | Eval split (n) | |---|---|---| | **CommonVoice 19 (zh-TW)** | Read Taiwan-Mandarin speech | full test (5013) | | **ASCEND** | Spontaneous Mandarin–English code-switch conversation | full test (1315) | | **CSZS (zh-en)** | Zero-resource code-switch benchmark | full test (3176) | | **NTUML2021** | Mandarin lecture speech (university ML course) | test[:2000] | - **No train/test leakage.** Fine-tuning used **only** the *training* pools, disjoint from every evaluation split: the NTUML2021 *train* split, the ASCEND *train* split, and a CommonVoice slice drawn from `validated_without_test`. Evaluation runs on the **full, untouched** test splits; CSZS is not used in training at all. Every number above is leak-free. ## How it was built - **Base** `Qwen/Qwen3-ASR-0.6B` (AuT audio encoder + Qwen3 decoder). - **Adaptation**: a rank-16 **decoder LoRA** (plus a low-LR encoder LoRA) trained on **under 10 hours of public audio** (CommonVoice zh-TW, ASCEND, NTUML2021, and [TaiMECS](https://huggingface.co/datasets/JacobLinCool/TaiMECS)), with general + code-switch **replay** and English-preservation training so dense code-switch is *transcribed*, not translated, plus error-analysis-driven targeted supplements and the format-tag conditioning above. - **Localization**: Traditional-script + Taiwan-lexicon output is rendered through the model's **own tokenizer** (baked once at build time); there is **no post-processing at inference**. - **Packaging**: the adapter is **merged** into the base and the localized tokenizer is shipped with it, so the release is a single drop-in checkpoint that loads like stock Qwen3-ASR (decode verified bit-exact on 152k+ sequences). - **Decoding tip**: pass `language="Chinese"` for Taiwan speech; this also prevents translation-style outputs on dense code-switch. ## Limitations - **Compact-model trade-off**: on the hardest code-switch sets and on in-domain lectures the 780M mini trails the 2B `TEA-ASR-1.1`; for the best accuracy prefer the flagship. - **Scope**: validated on the Qwen3-ASR family; loads via the `qwen-asr` package exactly like the base. ## Acknowledgements - Base model: [Qwen3-ASR](https://huggingface.co/Qwen/Qwen3-ASR-0.6B) by Alibaba Cloud (Apache-2.0; underlying weights remain subject to the Apache-2.0 license and its attribution/NOTICE terms). - [TaiMECS](https://huggingface.co/datasets/JacobLinCool/TaiMECS) (CC-BY-4.0). - Benchmarks: Common Voice (Mozilla), ASCEND (CAiRE), CSZS, NTU ML2021. ## Citation ```bibtex @misc{teaasr2026, title = {Tokenizer-First Adaptation of Mandarin ASR to Taiwan Mandarin}, author = {TEA-ASR contributors}, year = {2026}, note = {TEA-ASR (Taiwan Everyday Audio); adapted from Qwen3-ASR} } ``` The TEA-ASR adaptation and this checkpoint are released under the **MIT License**.