語音 AI - 語音辨識 (STT) 與語音合成 (TTS)

語音 AI - 語音辨識 (STT) 與語音合成 (TTS)

有了 CNN 和 YOLO 當作眼睛,AI 現在需要耳朵和嘴巴!本篇將帶你了解從早期的機器感口音,到如今擁有豐沛情緒的 ElevenLabs,以及能聽懂多國語言的 Whisper,語音 AI 是如何演進的!


Day 28 (YOLO) 中,我們透過電腦視覺為 AI 裝上了「眼睛」。 但如果要打造一個能像鋼鐵人管家 J.A.R.V.I.S. 一樣跟你對答如流的 AI,它還需要具備「聽覺」與「口條」。

這就是我們今天要探討的兩大核心技術:

  1. 語音辨識 (Speech-to-Text, STT / ASR):讓機器聽懂你說的話。
  2. 語音合成 (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 WhisperTransformer 的降維打擊。用 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 + WaveNetGoogle 的黑科技。由神經網路直接學習「文字到聲學頻譜圖」的映射,再透過 Vocoder 轉成聲音。聲音開始變得極度逼真。
零樣本複製 (2022+)VITS / ElevenLabs情緒與音色複製。只要給它 3 秒鐘你的聲音樣本,它就能立刻用你的聲音說出任何話 (Zero-Shot Voice Cloning),而且自帶生氣、悲傷、大笑等豐沛情緒。

2.2 語音合成的運作原理 (TTS Pipeline)

現代的 AI 語音合成通常分為兩個階段:

  1. 前端 (文字處理):把 "你好嗎?" 轉成發音特徵與音調 (Pitch)。
  2. 聲學模型 (Acoustic Model):把特徵轉為「梅爾頻譜圖 (Mel-Spectrogram)」。
  3. 聲碼器 (Vocoder):把頻譜圖這張「圖片」,還原成真實的連續音訊波形。

3. 實戰:打造 AI 對話管家

我們來看看一個完整的「語音助理」是如何運作的。這是一個典型的三段式架構:

Loading Diagram...

程式碼示範 (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 天以來的修煉成果!