讓每一句話,都被聽懂。
TingWo(聽我) 是一個為「非典型語音」打造的開源語音辨識工具箱,目標是幫助說話不清楚的人——例如因中風、腦性麻痺、帕金森氏症而構音障礙的朋友——先被機器聽懂,進而被人聽懂。以台灣華語(zh-TW)為第一優先。
靈感來自 Google 的 Project Relate:它證明了「個人化語音辨識」可行,但只支援英文、未在台灣提供、且已停止接受新使用者。說中文的朋友需要一個開放的替代品,這就是 TingWo 存在的原因。
目前提供 baseline 評測工具:把錄音交給多個開源 ASR 模型,量出字元錯誤率(CER),回答兩個關鍵問題——
- 現成模型「開箱」能聽懂多少?
- 需不需要走個人化微調?要做到多深?
| key | 模型 | 用途 |
|---|---|---|
breeze-asr-25 |
MediaTek-Research/Breeze-ASR-25 | 台灣華語+中英夾雜(預設) |
breeze-asr-26 |
MediaTek-Research/Breeze-ASR-26 | 台語 Taigi |
whisper-large-v3 |
openai/whisper-large-v3 | 對照組 baseline |
whisper-large-v3-turbo |
openai/whisper-large-v3-turbo | 較快的對照組 |
whisper-tiny |
openai/whisper-tiny | 煙霧測試用,勿用於正式評估 |
需求:uv、ffmpeg(解碼 m4a/mp3 用)、NVIDIA GPU(建議但非必要;純 CPU 也能跑,只是慢)。
git clone https://github.com/harry18456/TingWo.git
cd TingWo
# 模型快取會佔數 GB,建議指到空間充足的磁碟(選擇性):
$env:HF_HOME = "D:\hf-cache"
uv sync --extra asr # Windows/Linux 自動安裝 CUDA 12.6 版 torch接著三步:
-
依照錄音指引錄 30–50 句(樣句在
assets/phrases/phase0-zh-tw.txt),放進data/ -
建立 manifest(CSV、UTF-8,
audio路徑相對於 manifest 所在位置):audio,text recordings/u001.m4a,我想要一杯溫開水 recordings/u002.m4a,麻煩幫我叫一台計程車
-
跑評測:
uv run tingwo bench --manifest data/manifest.csv --models breeze-asr-25,whisper-large-v3
報告輸出到 reports/(已被 .gitignore 排除)。結果解讀見 Phase 0 指南。
其他指令:
uv run tingwo models # 列出支援模型
uv run tingwo transcribe 錄音.m4a # 快速轉錄單檔
uv run tingwo bench --manifest data/manifest.csv --validate-only # 只驗證 manifest- 指標為 CER(字元錯誤率),採混合分詞:中文逐字、英文與數字逐詞——符合台灣中英夾雜的語言現實。
- 評分前參考文本與辨識結果會經過相同的正規化:NFKC 全形折疊、簡→繁(OpenCC
s2twp;對 vanilla Whisper 常輸出簡體的情況才公平)、阿拉伯數字→中文數字、統一小寫。 - 已知限制(多位數字寫法、台華夾雜句)詳見 Phase 0 指南。
語音是敏感的生物特徵資料。本專案的三條鐵律:
- 一切都在本機——模型下載後,推論不需要網路;錄音不離開你的電腦。
data/與reports/永不進入版本控制(.gitignore 強制)。- 先取得同意——替他人錄音前,請確認對方理解用途並同意。
- Phase 0(現在):baseline 評測工具
- Phase 1:引導式錄音收集工具 + LoRA 個人化微調管線
- Phase 2:Android App(sherpa-onnx 離線推論)+ 清晰複述(TTS)
- Phase 3:台語/客語支援、社群自架文件
細節與技術選型理由見 docs/roadmap.md。
歡迎任何形式的參與——程式、文件、語言治療專業意見、測試回饋。請先讀 CONTRIBUTING.md 與行為準則。
uv sync --dev # 開發環境(不含重型 ASR 依賴)
uv run pytest # 單元測試
uv run ruff check . # lint
uv run ruff format . # 格式化TingWo 是溝通輔助工具,不是醫療器材,不提供診斷或治療建議。名稱「聽我」取自「聽我說」——每個人都值得被聽懂。
Apache License 2.0。本專案站在這些工作的肩膀上:
- MediaTek Research Breeze-ASR 系列(Apache-2.0)
- OpenAI Whisper
- OpenCC
- 研究脈絡:Google Project Relate / Project Euphonia、CDSD 中文構音障礙語料庫、個人化構音障礙 ASR 研究
TingWo (聽我, "listen to me" in Mandarin) is an open-source toolkit for speech recognition of non-standard speech (dysarthria), Taiwanese Mandarin (zh-TW) first. It is inspired by Google's Project Relate, which supports English only and is currently closed to new users.
Phase 0 ships a baseline benchmark CLI: run open ASR models (MediaTek Breeze-ASR-25/26, OpenAI Whisper) over your own recordings and measure CER with fair zh normalization — Simplified→Traditional conversion, digit folding, and mixed CJK-character / Latin-word tokenization. The roadmap covers personalized LoRA fine-tuning, an offline Android app built on sherpa-onnx, and Taigi/Hakka support.
Privacy by design: everything runs locally, and recordings/reports are excluded from version control. Licensed under Apache-2.0. Documentation is currently zh-TW first; English contributions are welcome.