JacobLinCool/TEA-ASR-1.1-fmt

🤗 Hugging Face sourceautomatic-speech-recognitionmit2B params4.1 GBsafetensors✓ 1 checksumupdated today
Submit in one command

Run it next to your model folder. It makes the torrent, checks your files against Hugging Face, and submits it. You just start seeding and paste your key from your account. It only reads your files and never changes them. Read the script first if you like.

curl -fsSL https://pirateface.co/package.sh | bash -s -- --repo JacobLinCool/TEA-ASR-1.1-fmt ./model-folder
Needs a seeder →

TEA-ASR-1.1-fmt · Taiwan Everyday Audio 🍵 (format-controllable)

TEA-ASR-1.1-fmt is the output-convention-controllable variant of TEA-ASR-1.1. Same drop-in Taiwan-Mandarin ASR — native Traditional Chinese, Taiwan vocabulary, Mandarin–English code-switch — plus a working numeral-style dial: a decoder-prefix format tag that switches the SAME audio between Arabic (digits → 108年) and Chinese (zh-num → 一百零八年) numeral renderings.

Which one should I use?

  • Formatting-sensitive, Mandarin-dominant work (subtitles, meeting/agency records, call-center logs that must follow one numeral convention) → this model.
  • Heavy Mandarin–English code-switching → use TEA-ASR-1.1, which posts the best code-switch error rates of the family (this variant trades a measured amount of dense-code-switch robustness for the format control — see the table).

Format control

The tag rides the same decoder-prefix channel as the language hint:

from qwen_asr import Qwen3ASRModel
m = Qwen3ASRModel.from_pretrained("JacobLinCool/TEA-ASR-1.1-fmt")

# plain (recommended default): natural convention per domain
m.transcribe(audio="utt.wav", language="Chinese")

# force a numeral convention via the forced decoder prefix:
#   language Chinese format digits<asr_text>   -> Arabic numerals (108年)
#   language Chinese format zh-num<asr_text>   -> Chinese numerals (一百零八年)
#   append keep-en to bias embedded English toward verbatim transcription

(The public transcribe(language=...) API validates the language string, so pass the full prefix through the forced-prefix path — see the demo Space source for a 20-line reference implementation.)

Measured control strength (multi-digit test panels, deterministic first-30 selection; scripts/probe_numeral_flip.py):

Panel (audio) pair flip (both directions honored) digits compliance zh-num compliance
CommonVoice zh-TW (Chinese-numeral speech) 0.63 0.67 0.93
NTUML2021 (digit-convention lectures) 0.53 0.60 0.80

(Measured on this released checkpoint.)

The dial is a strong bias, not a hard switch: expect it to flip most multi-digit renderings and to leave single digits (是1 / 是一) and decimals/percentages to the domain's natural convention. keep-en biases embedded English toward verbatim output; plain decoding already preserves English well, so its per-utterance effect is modest.

Benchmark results

Mixed Error Rate (MER%, lower is better), same protocol as the TEA-ASR-1.1 card (content fold: OpenCC t2s + lowercase + punctuation strip; full test splits; single self-measured run).

Benchmark TEA-ASR-1.1-fmt TEA-ASR-1.1 Qwen3-ASR-1.7B Breeze-ASR-25 Whisper-large-v3
CommonVoice 19 (zh-TW) 3.96 3.58 3.90 8.03 10.17
ASCEND (zh-en) 9.63 9.60 10.57 17.53 19.61
CSZS (zh-en) 11.29 10.94 11.03 12.18 23.24
NTUML2021 6.57 6.67 10.12 7.50 9.68

How to read this. The fmt variant matches the flagship on lectures (best-in-family 6.57) and ASCEND, and pays a measured premium on CommonVoice (+0.38) and dense code-switch (CSZS +0.35) for the numeral dial — the training mass that makes the tag causal necessarily shifts the conditioned output space. If you don't need convention control, use TEA-ASR-1.1.

Evaluation, data, and packaging

Identical to TEA-ASR-1.1: same leak-free train/test protocol, < 10 hours of public training audio (CommonVoice zh-TW, ASCEND, NTUML2021, TaiMECS), rank-16 decoder LoRA + low-LR encoder LoRA merged into a single drop-in checkpoint, Traditional output rendered by the model's own tokenizer (no runtime post-processing; decode verified bit-exact on 152k+ sequences). The fmt recipe additionally trains numeral-convention counterfactual pairs — the same real audio supervised under both conventions with opposite tags — mined from the same public corpora (no extra audio budget).

Acknowledgements & license

Same as TEA-ASR-1.1: adapted from Qwen3-ASR (Apache-2.0); TaiMECS (CC-BY-4.0); benchmarks: Common Voice, ASCEND, CSZS, NTU ML2021. Released under the MIT License.

@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}
}