TingMix-Small
CPU-first, natively streaming speech recognition for Taiwanese Mandarin, English and Mandarin-English code-switching. Same streaming API as TingMix-Large; code: github.com/tc3oliver/tingmix.
- Causal log-mel front end -> 2 causal strided convs (25 frames/s) -> unidirectional GRU 768 x 4 -> CTC over 5,025 units (CJK characters + 400 English BPE pieces). Every layer is causal: audio is consumed once, state is kept between chunks, and chunked decoding equals offline decoding.
- Real time on CPU: RTF 0.0604 with 4 threads, 100 ms chunks, p50 5.69 ms / p95 6.85 ms compute per chunk (measured on a server CPU core budget of 4 threads).
- Accuracy is far below TingMix-Large: use Large when a GPU is available.
Use
pip install torch --index-url https://download.pytorch.org/whl/cpu
pip install "tingmix[large,server] @ git+https://github.com/tc3oliver/tingmix.git"
tingmix listen --model tc3oliver/TingMix-Small --lm lm/lmCN_cv_parl_ascend_ntuml.charlm.json.gz --lm-alpha 0.35 --lm-beta 1.5 # microphone, CPU
tingmix transcribe audio.wav --model tc3oliver/TingMix-Small --lm lm/lmCN_cv_parl_ascend_ntuml.charlm.json.gz --lm-alpha 0.35 --lm-beta 1.5
Partial results are greedy (cheap); with --lm each final result is re-decoded by CTC prefix beam search with the bundled
character 5-gram LM (n-gram counts from training transcripts, no audio).
Test results (error rate %, LM decoding of finals, single run)
| Test set | Metric | TingMix-Small |
|---|---|---|
| Common Voice zh-TW 27.0 | CER | 30.36 |
| Taiwan Parliament A | CER | 26.60 |
| Taiwan Parliament B | CER | 26.87 |
| ASCEND, code-switched sentences | MER | 43.99 |
| NTUML2021, code-switched sentences (in-domain) | MER | 26.47 |
| FLEURS en_us | WER | 80.32 |
| LibriSpeech test-clean | WER | 39.71 |
| LibriSpeech test-other | WER | 60.49 |
| VoxPopuli en | WER | 48.18 |
| AMI IHM | WER | 64.77 |
Model chosen on development sets only; scoring as in the Embed2ASR / TingMix-Large benchmark. Training data: same sources as TingMix-Large (not distributed). Trained from scratch (small-s4).