M07.05|語音辨識與合成:AI 的耳朵和嘴巴
Siri 和 Alexa 背後的技術 — 把聲音變文字、把文字變聲音
本講學習重點
ASR:把音訊波形轉換成文字,核心挑戰是噪音、口音、語速、多語混雜
管線式 ASR:特徵提取(MFCC)→ 聲學模型(HMM/DNN)→ 語言模型(N-gram)
端對端 ASR:直接輸入音訊波形,輸出文字(Wav2Vec 2.0, Whisper)
Whisper:OpenAI (2022),68 萬小時多語言弱監督訓練,支援 99 種語言和翻譯
TTS 技術演進:規則拼接 → 統計參數 → 神經 TTS(WaveNet, Tacotron, VITS)
聲音複製(Voice Cloning):幾秒音頻即可複製聲音,深偽聲音(Deepfake Audio)風險
台灣挑戰:國台夾雜(「母湯」「哩係安怎」)、台灣腔國語、外來語音譯
WER(字元錯誤率):ASR 標準評估指標,越低越好
🎙️ Podcast(中文)
一句話搞懂
語音辨識(ASR)就是 AI 的「耳朵」——把麥克風收到的聲音波形變成文字;語音合成(TTS)就是 AI 的「嘴巴」——把一串文字變成聽起來像真人說話的聲音;兩者合起來,就是語音助理、自動客服、智能翻譯機的核心技術。
白話解說
聲音在電腦眼中是什麼
在理解語音辨識之前,先理解電腦如何「聽到」聲音。聲音是空氣的壓力波動,麥克風把這個物理波動轉換成隨時間變化的電壓訊號,再以固定的採樣率(Sampling Rate)——通常是 16,000 Hz(每秒採樣 16,000 次)——把連續的模擬訊號轉成一串數字,這就是數位音訊(Digital Audio)。
一段三秒鐘的語音片段,在 16 kHz 採樣率下是 48,000 個數字的序列。電腦收到的就是這樣一串數字——它不知道這是一個人說「你好」還是「拜拜」,只知道一連串的波形數值。如何從這堆數字中辨識出說話的內容,正是自動語音辨識(Automatic Speech Recognition, ASR) 要解決的問題。
語音辨識的挑戰遠比想像的複雜:同樣的「謝謝」,不同人說的聲音波形差異極大(男聲/女聲/小孩/老人、快語速/慢語速、台灣腔/大陸腔/廣東腔);背景噪音(捷運、辦公室、路邊)會疊加在語音訊號上;語速、停頓、吞音(把「你有沒有」說成「你有沒」)、連讀(「不一定」說得像「布一定」)都讓辨識更困難。
兩種 ASR 架構路線
語音辨識系統在技術上有兩種主要架構路線,代表了不同時代的設計哲學。
管線式架構(Pipeline ASR) 是傳統方法,把語音辨識分解成多個模組依序處理:首先做特徵提取,把原始波形轉換成更緊湊的聲學特徵表示(最常用的是 MFCC,梅爾頻率倒譜係數,它模仿人耳對不同頻率的感知,把一小段音訊壓縮成 13–40 個係數);接著送入聲學模型(Acoustic Model)——傳統是 HMM(隱馬可夫模型),現代是 DNN——把聲學特徵序列對應到音素(Phoneme,語音的最小單位)序列;最後用語言模型(Language Model)——傳統是 N-gram,現代是 Transformer——根據語言的統計規律,從多個候選音素序列中選出最符合語言習慣的文字輸出(例如「ㄅㄤ」聲音在語境中更可能是「幫忙」而不是「棒球棒」)。
管線式架構的問題是:各模組獨立訓練、最佳化目標不一致,錯誤會在模組間累積(聲學模型的錯誤傳遞給語言模型,語言模型無法修正);同時需要大量人工標注(每段音訊對應的文字、每個文字對應的音素)。
端對端架構(End-to-End ASR) 是近年的主流方向:直接把音訊輸入給一個神經網路,輸出文字,不需要明確的音素標注或分開訓練的模組。代表技術包括基於 CTC(Connectionist Temporal Classification) 損失函數的架構,以及後來的完全 Transformer 端對端系統。端對端的優勢是訓練資料更容易獲取(只需要音訊-文字對,不需要音素標注)、錯誤不會累積、可以做到聯合最佳化。
Whisper:多語言語音辨識的里程碑
2022 年 9 月,OpenAI 發布了 Whisper,代表了語音辨識技術的一個重要里程碑。Whisper 最特別的地方不在於架構(它使用標準的 Transformer 編碼器-解碼器),而在於訓練資料的規模和多樣性:OpenAI 從網路上收集了 68 萬小時的多語言、多音質的音訊資料,涵蓋 99 種語言,用弱監督(Weakly Supervised)的方式訓練——利用網路上已有的字幕、轉錄文字作為標注,雖然品質參差,但數量規模遠超傳統方法。
Whisper 的能力令人印象深刻:它不只做語音辨識(ASR),還能做語音翻譯(直接把其他語言的語音翻譯成英文文字);它對口音、背景噪音、口語夾雜的魯棒性遠超過傳統系統;對台灣繁體中文的支援品質也明顯優於早期多語言模型(雖然在台語夾雜上仍有限制)。Whisper 有多個大小版本(Tiny/Base/Small/Medium/Large),大型版本精度更高但速度慢,小型版本可部署在邊緣設備,適合需要本地端語音辨識的隱私敏感應用。
評估語音辨識系統的標準指標是 WER(Word Error Rate,字元錯誤率):計算辨識結果和真實文字之間的替換(Substitution)、插入(Insertion)、刪除(Deletion)操作總數,除以真實文字的總字數。WER 越低越好,人類在一般對話中的 WER 約 5%,頂尖 ASR 系統在乾淨音源上也能達到 3–5% 的水準。
TTS:從機器音到以假亂真
語音合成(Text-to-Speech, TTS) 技術的演進,可以分為三個明確的時代,每個時代的語音品質都有質的飛躍。
規則拼接式(Concatenative TTS,1980s–2000s):把大量真人錄製的音節或音素片段儲存在資料庫,合成時按規則挑選和拼接對應的片段。這種方式的語音品質受限於拼接處的不自然過渡,聽起來「斷斷續續」,是早期電話語音系統(「您的話費餘額——是——五十——元」)的典型聲音。
統計參數式(Statistical Parametric TTS,2000s–2010s):不再拼接音訊片段,而是訓練一個統計模型(HMM 或 DNN),讓它直接生成表示聲音特徵的聲學參數(如聲譜包絡、基頻)。語音更流暢,但往往聽起來「悶、平、機器感強」,缺乏自然的語調起伏。
神經網路 TTS(Neural TTS,2016年至今):DeepMind 2016 年發布的 WaveNet 是這個時代的起點,用 CNN 直接生成波形樣本(每秒 16,000 個),語音質量接近真人,但運算量極大(當時生成一秒語音需要幾十秒)。後續的發展朝兩個方向:一是兩階段架構(先生成頻譜,再用聲碼器生成波形),代表是 Tacotron 2(生成梅爾頻譜)+ WaveGlow 或 HiFi-GAN(頻譜轉波形),這是目前業界最廣泛部署的方案;二是全端對端架構(直接從文字生成波形),代表是 VITS(2021),速度快、品質高,在開源社群極受歡迎。
聲音複製(Voice Cloning) 是近年最引人注目也最具爭議的 TTS 應用:只需要 3–10 秒的目標說話人音訊,系統就能學習其聲音特徵(音色、語調習慣、口音),並用這個聲音說出任意文字。正面應用包括:個人化語音助理、有聲書製作、聲音殘障輔助(讓漸凍症患者用自己的聲音說話);但也帶來嚴重的深偽語音(Deepfake Audio)風險:模仿知名人士的聲音發布虛假言論、電話詐騙冒充親屬或主管聲音(「老闆打電話叫我緊急匯款」)。台灣已有多起利用 AI 合成聲音進行詐騙的案例,這是語音技術必須正視的倫理責任。
應用場景
| 場景 | 技術類型 | 核心需求 | 挑戰 |
|---|---|---|---|
| 智能客服自動語音應答(IVR 2.0) | ASR + TTS | 24 小時電話自動服務,理解客戶問題並語音回覆 | 電話音質差、各地口音、情緒識別 |
| 即時會議字幕和紀錄 | 串流 ASR | 多人會議即時轉文字,區分說話者 | 多人同時說話、專業術語、低延遲需求 |
| 有聲書和 Podcast 自動生成 | 高品質 TTS | 把文章自動轉換成自然悅耳的朗讀音頻 | 長段落語調自然性、段落節奏感 |
| 車用語音助理 | ASR + NLU + TTS | 免手持操作導航、音樂、車內控制 | 車內噪音、高速行駛干擾 |
| 語言學習 App | ASR(發音評估) | 評估學習者的發音準確度並給予回饋 | 非母語口音的容忍度調節 |
| 醫院病歷語音輸入 | 醫療領域 ASR | 醫師邊診療邊語音輸入病歷,替代打字 | 醫學術語、各科口語縮寫、低 WER 要求 |
| 廣播和影視字幕自動化 | 多語言 ASR | 自動產生多語言字幕,降低人工配字成本 | 多播音員快語速、疊聲、方言 |
常見誤區
誤區 1:「用 Whisper 就能完美解決台灣中文語音辨識,不需要其他處理」
Whisper Large 在普通話(普通台灣腔)上的 WER 已很低,但在以下幾個台灣特有場景仍有明顯限制:國台夾雜——當說話者在一句中文中混入台語詞彙(「這個你不可以母湯啦」),Whisper 往往對台語詞的部分輸出亂碼或乾脆忽略;台語全語音辨識——目前 Whisper 對台語的支援極為有限,台語專用 ASR 需要使用台灣研究機構開發的專用模型(如台大或中研院的台語辨識系統);電話品質音訊——客服錄音通常採用 8 kHz 採樣率的電話頻道音質,而 Whisper 在訓練時偏向 16 kHz 的網路音質,降頻後有時效果下降。在台灣企業的實際應用中,評估是否需要針對本土語料進行 Whisper 微調,或搭配後處理步驟(如關鍵字糾正),是部署前必須做的工作。
誤區 2:「TTS 技術已經完美,生成的語音和真人無法區分」
頂尖的神經 TTS 系統(如 ElevenLabs、微軟 Azure TTS 的神經語音)在朗讀型語音(書面文字的清晰朗讀)上確實接近真人水準。但人類的語音遠不只是「把文字讀出來」——對話語氣的情感變化(說「謝謝」時可能是真誠感謝、也可能是諷刺)、停頓和呼吸的自然性、即興對話中的猶豫和修正(「那個……我想說……」),這些都是當前 TTS 系統仍然薄弱的地方。更重要的是,即使現有系統聽起來很自然,隨著 Deepfake Audio 偵測技術的發展,研究人員正在開發能識別 AI 合成語音的工具。使用 TTS 時,應明確告知對方是 AI 語音(特別是在客服、互動教育等場景),這不只是倫理要求,在某些國家也是法規規定。
誤區 3:「語音辨識的錯誤都是同等嚴重的,降低整體 WER 就夠了」
WER 是一個平均指標,但在真實應用中,不同類型的辨識錯誤嚴重程度差異極大。在醫療語音輸入場景中,把「青黴素」辨識為「輕微素」是輕微錯誤(上下文可修正),但把「不能」辨識為「能」(數字前加了否定詞被吞掉)則可能導致嚴重醫療事故。在金融電話客服中,把「一百萬」辨識為「一十萬」或把客戶「不同意」中的「不」漏掉,後果不堪設想。因此,實際部署時應針對關鍵詞彙和關鍵錯誤類型進行重點評估,而不只看整體 WER:識別關鍵術語的 WER(Domain-Specific WER)、特定類型錯誤的頻率(如否定詞被吞掉的比例)、以及在最惡劣音質條件下的效能,才能全面反映系統在業務場景中的真實可靠性。
小練習
練習 1:分析語音辨識的錯誤類型
以下是一段台灣客服電話語音辨識的原始錄音內容和 ASR 系統的輸出結果,請分析每個辨識錯誤的類型(替換/插入/刪除),並計算 WER:
真實文字(Ground Truth): 「您好,我要查詢我的帳戶餘額,帳號是一二三四五六七八。」(共 20 個字)
ASR 輸出: 「您好,我要查詢我的帳戶餘額,帳號是一二三四五六七。」
另,以下哪種錯誤在客服場景中更嚴重,為什麼?
- 錯誤 A:把「不退款」辨識成「退款」
- 錯誤 B:把「三千元」辨識成「三元」
查看答案
**WER 計算:** 比較真實文字和 ASR 輸出的差異: - 真實文字:一二三四五六七**八**(帳號最後一位「八」) - ASR 輸出:一二三四五六七(「八」被漏掉) 這是一個**刪除(Deletion)錯誤**:ASR 漏掉了「八」這個字。 **WER = (替換數 S + 插入數 I + 刪除數 D) / 真實文字總字數 N** = (0 + 0 + 1) / 20 = **0.05 = 5%** 整體 WER 看起來很低(5%),但從業務角度,帳號最後一位數字被漏掉,客服系統將無法查詢到正確帳戶,這個「只有 5% WER」的錯誤在業務上等同於完全失敗。 **兩種錯誤的嚴重性分析:** **錯誤 A「不退款」→「退款」更嚴重**。因為這是**語意反轉型錯誤**:否定詞「不」被吞掉,導致整個句子意義完全相反。如果客服 AI 系統根據辨識結果「退款」執行了退款操作,而客戶當時說的是「不退款(我不想要退款)」,就會產生實際的業務損失和客戶糾紛。這類否定詞、否定助詞的遺漏是語音辨識在業務場景中最危險的錯誤類型。 **錯誤 B「三千元」→「三元」相對可控**,因為「三元」在客服對話的金融語境中幾乎不可能出現,客服人員或後台系統很容易發現這是辨識錯誤(金額不合理),會觸發人工確認流程,有糾錯機制。 **結論:** 評估 ASR 系統時,應針對高風險詞彙(否定詞、數字、帳號、日期)單獨測試和監控,不能只看整體 WER 指標。練習 2:設計語音 AI 方案並考量倫理
一家壽險公司想推出三個語音 AI 應用。請為每個應用說明技術選型,並針對每個應用的最主要倫理/法規風險提出一條具體的防護措施:
| 應用 | 描述 | 技術選型 | 主要倫理/法規風險 | 建議防護措施 |
|---|---|---|---|---|
| A. 電話理賠客服機器人 | 客戶打電話自動報案理賠,系統辨識案件類型,回覆所需文件 | ? | ? | ? |
| B. 業務員話術輔助 | 業務員與客戶通話時,即時語音辨識 + AI 建議回應 | ? | ? | ? |
| C. 保戶個人化語音助理 | 用保戶本人聲音(聲音複製)為其唸出保單重點摘要 | ? | ? | ? |