
語音 AI - 語音辨識 (STT) 與語音合成 (TTS)
有了 CNN 和 YOLO 當作眼睛,AI 現在需要耳朵和嘴巴!本篇將帶你了解從早期的機器感口音,到如今擁有豐沛情緒的 ElevenLabs,以及能聽懂多國語言的 Whisper,語音 AI 是如何演進的!
在 Day 28 (YOLO) 中,我們透過電腦視覺為 AI 裝上了「眼睛」。 但如果要打造一個能像鋼鐵人管家 J.A.R.V.I.S. 一樣跟你對答如流的 AI,它還需要具備「聽覺」與「口條」。
這就是我們今天要探討的兩大核心技術:
- 語音辨識 (Speech-to-Text, STT / ASR):讓機器聽懂你說的話。
- 語音合成 (Text-to-Speech, TTS):讓機器說出像真人一樣的聲音。
1. 聽懂人話:語音辨識 (STT) 的演進史
語音辨識 (Automatic Speech Recognition, ASR) 的任務,是將聲音的連續波形,轉換成正確的文字。這比想像中困難,因為每個人說話的速度、口音、環境背景音都截然不同。
1.1 STT 的發展階段
| 時代 | 代表技術 | 主要特色與痛點 |
|---|---|---|
| 古典時期 (1990s) | HMM + GMM (隱馬可夫模型) | 統計學霸主。把語音切成極小的音素 (Phonemes) 來計算機率。缺點是需要極度專業的語言學知識,抗雜音能力極差。 |
| 深度學習崛起 (2010s) | RNN / LSTM + CTC | 引入神經網路。CTC 演算法解決了「語音長度與文字長度對不起來」的問題。準確率大幅提升,但訓練極慢。 |
| 注意力機制 (2017+) | Seq2Seq + Attention | 讀懂上下文。模型學會了前後文的關聯,不再單純是「聽音辨字」,而是會根據文意來猜字 (例如:發音都是 "Ta",知道是「他」還是「她」)。 |
| 大一統時代 (2022+) | OpenAI Whisper | Transformer 的降維打擊。用 68 萬小時的無監督語音資料暴力訓練,支援 99 種語言,自動過濾雜音、自動加標點符號,甚至自帶翻譯功能。 |
1.2 Whisper 的強大之處
Whisper 之所以震撼業界,是因為它是真正的 端對端 (End-to-End) 模型。 過去你要做語音辨識,需要先做「聲音降噪」、「語音斷詞」、「聲學模型轉換」、「語言模型校正」。而 Whisper 只需要:「輸入一段錄音檔 ➔ 直接吐出含標點符號的完美字幕」。
2. 開口說話:語音合成 (TTS) 的演進史
如果說 STT 是在做減法 (從複雜聲音萃取出文字),那 TTS 就是在做加法 (從乾癟的文字,還原出包含語氣、呼吸、情緒的聲音),這難度其實更高。
2.1 為什麼以前的 Siri 聽起來很「機器人」?
| 時代 | 代表技術 | 主要特色與痛點 |
|---|---|---|
| 拼接合成 (2000s) | Concatenative TTS (拼接法) | 初代 Siri 的做法。請配音員錄下幾萬個字,然後像剪輯影片一樣,把字一個一個「剪接」起來。優點是單字很清晰,缺點是沒有抑揚頓挫,聽起來像生硬的機器人。 |
| 參數合成 (2010s) | Parametric TTS (HMM/DNN) | 透過公式生成。不再錄下所有字,而是讓機器學習聲帶發聲的「參數」,然後用演算法合成波形。聲音變得比較流暢,但有嚴重的「電子金屬音」。 |
| 神經網路合成 (2016) | Tacotron 2 + WaveNet | Google 的黑科技。由神經網路直接學習「文字到聲學頻譜圖」的映射,再透過 Vocoder 轉成聲音。聲音開始變得極度逼真。 |
| 零樣本複製 (2022+) | VITS / ElevenLabs | 情緒與音色複製。只要給它 3 秒鐘你的聲音樣本,它就能立刻用你的聲音說出任何話 (Zero-Shot Voice Cloning),而且自帶生氣、悲傷、大笑等豐沛情緒。 |
2.2 語音合成的運作原理 (TTS Pipeline)
現代的 AI 語音合成通常分為兩個階段:
- 前端 (文字處理):把 "你好嗎?" 轉成發音特徵與音調 (Pitch)。
- 聲學模型 (Acoustic Model):把特徵轉為「梅爾頻譜圖 (Mel-Spectrogram)」。
- 聲碼器 (Vocoder):把頻譜圖這張「圖片」,還原成真實的連續音訊波形。
3. 實戰:打造 AI 對話管家
我們來看看一個完整的「語音助理」是如何運作的。這是一個典型的三段式架構:
程式碼示範 (Python)
以下示範如何使用開源套件,在短短幾行內完成語音的辨識與合成:
# 安裝所需套件
pip install openai-whisper gTTS
import whisper
from gtts import gTTS
import os
# --- 1. 語音辨識 (Speech to Text) ---
print("正在載入 Whisper 模型...")
model = whisper.load_model("base") # 使用基礎輕量模型
# 辨識錄音檔 (假設有一個 input.wav)
print("正在辨識語音...")
result = model.transcribe("input.wav")
text = result["text"]
print(f"AI 聽到了:{text}")
# --- 2. 大語言模型處理 (省略,假設 LLM 給出以下回應) ---
response_text = f"你剛剛說的是:「{text}」,這真是一個好問題!"
# --- 3. 語音合成 (Text to Speech) ---
print("正在合成語音...")
tts = gTTS(text=response_text, lang='zh-tw') # 使用 Google 的免費 TTS
tts.save("output.mp3")
print("完成!已儲存為 output.mp3")
# os.system("start output.mp3") # 在 Windows 上自動播放
4. 總結
語音技術的突破,徹底改變了人機互動的方式:
- STT (聽):透過 Whisper 這類強大的模型,AI 不僅能聽懂多國語言,還能克服環境噪音與怪異口音。這也是為什麼現在的會議逐字稿軟體 (如 Vocol, 雅婷逐字稿) 準確度可以這麼高。
- TTS (說):從早期生硬的機械音,進化到 ElevenLabs 這種帶有豐富情緒、甚至能「複製聲音」的黑科技,讓有聲書、虛擬 VTuber 和 AI 客服變得極度真實。
眼睛 (CNN/YOLO)、大腦 (Transformer/RAG)、嘴巴與耳朵 (TTS/STT),我們終於集齊了打造強大 AI 的所有拼圖!
下一關 (Day 30),也是我們這趟 30 天奇幻旅程的最終回。我們將為你獻上:機器學習中級考題實戰解析篇,驗收這 30 天以來的修煉成果!