Loading…
Loading…
Compact fine-tuned Qwen3-ASR-0.6B for Hong Kong Colloquial Cantonese (yue-HK) + English code-switching, exported to GGUF for llama.cpp (llama-server) and OraType.
Trained with dedicated support for short voice commands (閂燈, 閂冷氣, 開燈) and anti-parroting context hotword biasing, natively outputting Hong Kong Traditional Chinese (係, 喺, 嘅, 咗, 㗎, 閂) while keeping English words in English — at ~584 MB total (Q4_K_M + mmproj).
Original BF16 (Transformers) weights: joe2643/Qwen3-ASR-0.6B-Cantonese-HK.
Larger 1.7B GGUF tier: joe2643/Qwen3-ASR-1.7B-Cantonese-HK-GGUF.
src-tauri/src/stt/models.rs)| File | Quant | Size (bytes) | SHA-256 |
|---|---|---|---|
Qwen3-ASR-0.6B-Cantonese-HK.Q4_K_M.gguf |
Q4_K_M |
396700672 |
05ec6b785cd59b7e57ace187b4377d82fa6df389b918a89a4e3ecbf9d73afe56 |
Qwen3-ASR-0.6B-Cantonese-HK.Q6_K.gguf |
Q6_K |
495102976 |
3ba4ebb8f93713c98bb3043ee937807e7b45b329b32908f61a74d331ad1ff41d |
Qwen3-ASR-0.6B-Cantonese-HK-Q8_0.gguf |
Q8_0 |
639442944 |
d94dbc7eddd4c241f699bc4436f1708a8433c9e113946dd5478d9f1e2bb468b5 |
Qwen3-ASR-0.6B-Cantonese-HK.mmproj-Q8_0.gguf |
Q8_0 (mmproj) |
214392416 |
e9140ebcb5b9f5c666e01884da51914bc9e204c1c268c142868ebd859eb6448f |
transformers)| Test Set | Stock Qwen3-ASR-0.6B |
This (0.6B-Cantonese-HK) |
Stock Qwen3-ASR-1.7B |
1.7B-Cantonese-HK v2 |
whisper-large-v3 |
|---|---|---|---|---|---|
FLEURS (yue_hant_hk) |
6.10% | 5.70% | 4.20% | 3.95% | 20.97% |
Common Voice yue |
6.84% | 5.12% | 5.46% | 3.86% | 36.44% |
Common Voice 23 zh-HK |
9.55% | 6.44% | 7.65% | 5.09% | 41.76% |
| MDCC | 5.45% | 3.29% | 4.25% | 2.49% | 34.52% |
| LegCo (HK Legislative Council) | 8.81% | 7.62% | 7.22% | 7.16% | 32.15% |
| MCE (Cantonese-English Code-Switching) | 15.52% | 6.98% | 11.74% | 5.62% | 24.00% |
Verified with llama-server (llama.cpp 78ffbaa) on 60 test clips across mce, cvhk, fleurs, mdcc (CER without number normalisation): Q4_K_M 4.76%, Q6_K 4.52%, Q8_0 4.76%, plus short voice command 閂燈 passing both with and without hotword context (0.0% prompt parroting on the 210-clip context stress suite).
llama-serverllama-server \
-m Qwen3-ASR-0.6B-Cantonese-HK.Q4_K_M.gguf \
--mmproj Qwen3-ASR-0.6B-Cantonese-HK.mmproj-Q8_0.gguf \
--host 127.0.0.1 --port 8180 -c 4096 -np 1
Standard transcription:
curl http://127.0.0.1:8180/v1/chat/completions -H "Content-Type: application/json" -d '{
"messages": [{"role": "user", "content": [{"type": "input_audio",
"input_audio": {"data": "'"$(base64 -w0 clip.wav)"'", "format": "wav"}}]}],
"temperature": 0}'
With optional hotwords / custom vocabulary (via system message):
curl http://127.0.0.1:8180/v1/chat/completions -H "Content-Type: application/json" -d '{
"messages": [
{"role": "system", "content": "閂燈, 開燈, 閂冷氣, 較細聲啲"},
{"role": "user", "content": [{"type": "input_audio",
"input_audio": {"data": "'"$(base64 -w0 clip.wav)"'", "format": "wav"}}]}
],
"temperature": 0}'
The reply looks like language Cantonese<asr_text>…; the transcript is the part after <asr_text>.
If this model is useful to you, consider buying me a lemon tea (請飲杯檸檬茶) to support future open-source Cantonese speech training runs: buymeacoffee.com/joe2643 🍋
joe2643/Qwen3-ASR-0.6B-Cantonese-HK