💡一句話定義
為什麼要特別學它?因為聲音不像文字是一個個現成的符號——它是連續的壓力波,電腦得先把它「切片、編號、抽特徵」才能交給模型。這個「把類比世界數位化」的前處理,就是語音 AI 與純文字 NLP 最大的差別,也是考題常出現取樣率、量化這些名詞的原因。
👂ASR 流程圖解:聲波怎麼變成文字
把一段「你好」的聲音丟進 ASR,中間其實經過六站。先看圖,再逐站白話解釋。
- 聲波(Waveform):麥克風收到的是連續變化的空氣壓力,畫出來就是一條上下起伏的曲線。
- 取樣(Sampling)與量化(Quantization):電腦不能存「連續」,所以每秒固定抓 N 個點(取樣率,例如 16 kHz=每秒 16,000 個點),每個點的高度再用有限位元表示(位元深度,例如 16-bit=65,536 階)。這一步把類比變數位,下一節有互動可以玩。
- 特徵擷取(Feature Extraction):原始樣本點太多、太雜,先切成 20–25 ms 的小視窗,用傅立葉轉換算出每個視窗「各頻率有多大聲」→ 頻譜圖(Spectrogram);再依人耳對低頻較敏感的特性壓成 梅爾頻譜(Mel Spectrogram);傳統方法再多做一步取倒譜係數得到 MFCC。它們都是「把聲音變成一張圖」給模型看。
- 聲學模型(Acoustic Model):看這張「聲音的圖」,判斷每個時間片段最可能是哪個音素(Phoneme)或哪個字。
- 語言模型(Language Model):聲學模型可能聽成「一樣/衣樣/醫樣」,語言模型用「哪個詞序在語言裡比較常見」來挑出最合理的句子。
- 文字輸出:得到最終的逐字稿(Transcript)。
🗣️TTS 流程圖解:文字怎麼變成聲音
TTS 是 ASR 的鏡像:從文字出發,一路生出波形。重點在「先決定怎麼念,再真的發出聲音」。
先把「明天」拆成怎麼念:ㄇㄧㄥˊ ㄊㄧㄢ。這一步要處理破音字、數字(「2024」念「二零二四」還是「兩千零二十四」)、縮寫。
決定重音、停頓、語調、語速。少了韻律,每個字都對但聽起來像機器人念稿,這就是舊式 TTS「怪怪的」的來源。
把音素序列畫成梅爾頻譜——先畫「聲音的設計圖」,還不是真的聲音。
把設計圖還原成一個個樣本點的波形(如 WaveNet、HiFi-GAN)。聲碼器好壞直接決定「像不像真人」。
🎮互動一:取樣率與量化實驗
下面這條波是模擬的「人聲」:由 220 Hz 的基頻加上幾個泛音疊成。拉動取樣率與位元深度滑桿,看數位化後的波形(橘色階梯)跟原始波形(淡藍線)差多遠;按「🔊 試聽」可以直接聽失真(1 秒,請先調小音量)。
🎮互動二:WER 計算機
ASR 做得好不好,要用數字講:WER(Word Error Rate,詞錯誤率)把辨識結果跟正確答案對齊,數出替換 S、刪除 D、插入 I 三種錯,除以參考句的詞數 N。中文沒有空白分詞,實務上多用CER(Character Error Rate,字錯誤率)——同一個公式、單位換成「字」。
想看「編輯距離怎麼一格一格算」的動畫版,站內有專頁:CER & WER 互動教學。
🧠關鍵概念:考題會問的名詞
| 名詞 | 白話意思 | 考試怎麼問 |
|---|---|---|
| 取樣率 | 每秒抓幾個點。8 kHz 電話、16 kHz 語音 AI、44.1 kHz CD 音樂 | 給情境問「語音辨識常用哪個取樣率」或考 Nyquist 2 倍規則 |
| 梅爾頻譜/MFCC | 把聲音切片後畫成「哪個頻率多大聲」的圖,依人耳特性壓縮低/高頻解析度 | 問「ASR 的特徵擷取常用什麼」 |
| 聲學模型 vs 語言模型 | 聲學模型管「這段聲音像哪個音」,語言模型管「這串字合不合理」 | 問哪個模組能修正「同音不同字」 |
| 端到端模型 | 一個 Transformer 從頻譜直接吐文字(Whisper、Conformer) | 問 Whisper 屬於哪類架構、優點是什麼 |
| 語音辨識 vs 語者辨識 | 辨識「說了什麼」(Speech Recognition)vs 辨識「誰在說」(Speaker Recognition/聲紋) | 最愛混淆的一組:銀行聲紋登入是語者辨識,不是 ASR |
| 喚醒詞(Wake Word) | 「Hey Siri」「OK Google」——裝置上一個很小的模型 24 小時只聽這幾個字,聽到才啟動完整 ASR | 問為什麼要有喚醒詞(省電、隱私:不用把所有聲音上傳雲端) |
| 即時串流 vs 離線 | 串流(Streaming):邊說邊出字,延遲低但只能看「到目前為止」;離線(Offline/批次):整段聽完再辨識,可用前後文、準確率較高 | 情境題:即時字幕/語音助理選串流,會議錄音轉逐字稿選離線 |
| CER/WER | 字/詞錯誤率,越低越好 | 給 S、D、I、N 算數值;問中文為何常用 CER |
| 聲碼器 Vocoder | TTS 最後一步,把梅爾頻譜還原成波形 | 問 TTS 流程順序或哪個模組決定音質 |
🤔ASR、TTS、語者辨識、喚醒詞:到底差在哪
四個名詞都跟「聲音」有關,但輸入、輸出、目的完全不同。一張表釐清:
| 技術 | 輸入 → 輸出 | 回答的問題 | 典型應用 |
|---|---|---|---|
| ASR 語音辨識 | 聲波 → 文字 | 你說了什麼? | 字幕、語音輸入法、客服逐字稿、會議紀錄 |
| TTS 語音合成 | 文字 → 聲波 | 這句話怎麼念? | 導航語音、有聲書、視障朗讀、客服語音機器人回話 |
| 語者辨識 | 聲波 → 身分/是否同一人 | 誰在說? | 聲紋登入、電話詐騙偵測、會議「誰說了哪段」 |
| 喚醒詞偵測 | 聲波 → 有/沒有關鍵詞 | 有人叫我嗎? | Hey Siri、智慧音箱待機 |
| 語音情緒/意圖 | 聲波或文字 → 類別 | 他什麼心情/想做什麼? | 客服分流、滿意度分析 |
⚠️挑戰與風險:口音、噪音、Voice Cloning
訓練資料多半是「標準腔」,台灣國語、客語腔、混用英文(code-switching)都會讓 WER 飆高。解法:收集多樣化資料、微調、加語言模型修正。
捷運站、工廠、多人同時講話(雞尾酒會問題)。解法:麥克風陣列、降噪前處理、資料增強(訓練時故意混入噪音)。
藥名、人名、公司名在訓練資料裡太少。解法:客製詞典、熱詞加權(hot words)、後接 LLM 校正。
幾秒鐘的錄音就能複製一個人的聲音。好處:ALS 病人留下自己的聲音;風險:詐騙電話模仿家人、偽造名人發言、繞過聲紋驗證。
🏢應用情境:考題常出現的三個場景
| 場景 | 用到什麼 | 關鍵取捨 |
|---|---|---|
| 客服語音機器人 | 喚醒/來電 → 串流 ASR → NLU 意圖辨識/LLM → TTS 回話 | 延遲要低(人會等不耐煩)、要處理打斷與口音、敏感資料要留在本地 |
| 影片/會議字幕 | 離線 ASR+語者分段(diarization)+標點還原 | 準確率優先可用大模型;直播字幕才需要串流 |
| 無障礙(Accessibility) | 視障:TTS 朗讀螢幕;聽障:ASR 即時字幕;語言障礙:個人化 TTS 聲音 | 可靠度與隱私;少數族群口音的資料公平性 |
| 語音輸入法/筆記 | 裝置端小模型(省流量、隱私)或雲端大模型(準確) | 裝置端 vs 雲端:延遲、成本、隱私三角 |
✅自我檢測
點選答案,立即看對錯與解釋。
🎯重點整理
- 定義:ASR 聲波→文字(耳朵),TTS 文字→聲波(嘴巴)。
- ASR 流程:聲波 → 取樣/量化 → 特徵(頻譜圖/梅爾頻譜/MFCC)→ 聲學模型 → 語言模型 → 文字;端到端(Whisper)把後兩者併成一個 Transformer。
- TTS 流程:文字 → 音素+韻律 → 聲學模型(梅爾頻譜)→ 聲碼器 → 波形。
- 數位化:取樣率至少是最高頻率的 2 倍(Nyquist);語音 AI 常用 16 kHz/16 bit;取樣不足會混疊、位元不足會有量化雜訊。
- 評估:WER=(S+D+I)/N,中文常用 CER;越低越好、可超過 100%。
- 易混點:語音辨識聽「說什麼」,語者辨識聽「誰在說」;喚醒詞只負責「有沒有叫我」。
- 取捨:串流(低延遲)vs 離線(高準確);裝置端(隱私、省電)vs 雲端(準確)。
- 風險:口音、噪音、專有名詞拉高錯誤率;Voice cloning 帶來詐騙與身分冒用,需浮水印、偵測與多因子驗證。