語音合成

已完成

備註

有關更多詳細信息,請參閱 文本和圖像 選項卡!

語音合成 (也稱為文字轉語音 (TTS) ) 將書面文字轉換為口語音訊。 當虛擬助理閱讀通知、導航應用程式指示方向或輔助工具幫助使用者以聽覺方式接收書面內容時,您會遇到語音合成。

語音合成系統通過四個不同的階段處理文本。 每個階段都會逐步轉換輸入,形成聽起來自然且易於理解的最終音訊波形。

文字正規化:標準化文字

文字正規化透過將縮寫、數字和符號擴展為口語形式來準備原始文字以進行發音。

考慮一下這句話:“史密斯博士在 2023 年 12 月 15 日以 25.50 美元的價格訂購了 3 件商品。

標準化系統將其轉換為:“史密斯醫生於二〇二三年十二月十五日訂購了三件商品,總價為二十五美元五十美分。”

常見的正規化工作包括:

  • 擴展縮寫(“Dr”變為“Doctor”,“Inc.”變為“Incorporated”)
  • 將數字轉換為單詞(“3”變成“三”,“25.50”變成“二十五點五零”)
  • 處理日期和時間(“12/15/2023”變為“十二月十五日,二千零二十三年”)
  • 處理符號和特殊字元 (“$” 變為 “dollars”,“@” 變為 “at”)
  • 根據內容解析同形異義詞 (「讀」為現在式與過去式)

文字正規化可防止系統嘗試發音原始符號或數字,這會產生不自然或難以理解的輸出。

小提示

不同的網域需要專門的正規化規則。 醫學文本處理藥物名稱和劑量的方式與金融文本處理貨幣和百分比的方式不同。

語言分析:將文字映射到音素

語言分析將標準化文本分解為 音素 (聲音的最小單位)並確定每個單詞的發音方式。 語言分析階段:

  1. 將文本分割成單詞和音節。
  2. 在詞典(發音詞典)中查找單詞發音。
  3. 應用 G2P 規則或神經模型來處理未知單字。
  4. 標記音節邊界並識別重讀音節。
  5. 決定相鄰聲音的語音上下文。

字素到音素的轉換

字素到音素 (G2P) 轉換將書面字母(字素)映射到發音(音素)。 英語拼寫不能可靠地指示發音,因此 G2P 系統同時使用規則和學習模式。

例如:

  • 「雖然」一詞轉換為 /θoʊ/
  • 「通過」一詞轉換為 /θruː/
  • “咳嗽”一詞轉換為 /kɔːf/

每個單詞都包含字母“ough”,但發音卻大不相同。

現代 G2P 系統使用以發音詞典訓練的神經網絡。 這些模型學習拼字和聲音之間的模式,比基於規則的系統更優雅地處理不常見的單字、專有名稱和區域差異。

在確定音素時,語言分析通常使用 轉換器 模型來幫助考慮 上下文。 例如,“閱讀”一詞在“我 書”(現在時:/riːd/)與“我昨天 讀了 那本書”(過去式:/rɛd/)中的發音不同。

韻律生成:決定發音

韻律是指使語音聽起來自然的節奏、重音和語調模式。 韻律生成決定怎樣說單詞,而不是僅僅發出什麼聲音

韻律元素

韻律涵蓋多種聲音特徵:

  • 音高輪廓:表示問題與陳述的上升或下降音高模式
  • 持續時間:保持每個聲音多長時間,創造強調或自然節奏
  • 音量強度變化:利用音量的變化來突出重要字詞
  • 停頓:短語或句子之間的休息,有助於理解
  • 重音模式:哪些音節會在單字和句子中得到強調

韻律對口語文本的解釋方式有重大影響。 例如,考慮以下句子如何根據強調哪個音節或單字而改變含義:

  • 從來沒有說過他吃了蛋糕。”
  • “我從來沒有說 過他 吃了蛋糕。”
  • “我從來沒有說過他 了蛋糕。”
  • “我從來沒有說過他吃 了蛋糕。”

基於 Transformer 的韻律預測

現代語音合成系統使用 Transformer 神經網路來預測韻律。 轉換器擅長了解整個句子的內容,而不只是相鄰的單字。

韻律生成過程:

  1. 輸入編碼:轉換器接收具有語言特徵(標點符號、詞性、句子結構)的音素序列
  2. 上下文分析:自我注意力機制識別單詞之間的關係(例如,代詞引用的名詞,句子邊界落在哪裡)
  3. 韻律預測: 模型在每個音素處輸出音高、持續時間和能量的預測值
  4. 風格因素:系統考慮說話風格(中性、表達性、對話式)和說話者特徵

Transformers 通過從數千小時的錄製語音和文字記錄中學習來預測韻律。 該模型發現了模式:問題在結尾時音調上升,逗號表示短暫的停頓,強調的單詞略有延長,句尾單詞的音調經常下降。

影響韻律選擇的因素:

  • 語法:子句邊界指出暫停的位置
  • 語義:重要概念得到強調
  • 話語背景: 對比信息或問題答案可能會帶來額外的壓力
  • 說話者身份:每個聲音都有特徵的音調範圍和說話率
  • 情緒基調:興奮、擔憂或中立塑造韻律模式

韻律預測創建了一個目標規範:“以 180 Hz 的頻率產生音素 /æ/,持續 80 毫秒,強度適中,然後暫停 200 毫秒。

這很重要

韻律極大地影響自然性。 聽起來像機器人的語音通常是由平坦、單調的韻律引起的,而不是由於不完美的音素發音。

語音合成:生成音頻

語音合成根據音素序列和韻律規範生成最終的音頻波形。

波形產生方法

現代系統使用神經聲碼器——直接產生音訊樣本的深度學習模型。 流行的聲碼器架構包括 WaveNet、WaveGlow 和 HiFi-GAN。

合成過程:

  1. 聲學特徵生成:聲學模型(通常是變壓器)將音素和韻律目標轉換為梅爾頻譜圖——聲音頻率隨時間變化的視覺表示
  2. 聲碼器:神經聲碼器將梅爾頻譜圖轉換為原始音訊波形(每秒 16,000 至 48,000 個樣本的振幅值序列)
  3. 後處理: 系統應用過濾、歸一化或音頻效果以匹配目標輸出規格

備註

是什麼讓神經聲碼器有效:

  • 高保真度:生成接近錄音室錄音的音頻質量
  • 自然度:捕捉微妙的聲音特徵,如呼吸和音質
  • 效率:在現代硬體上即時生成(對於互動式應用程式很重要)
  • 靈活性:適應不同的說話者、語言和說話風格

聲碼器本質上執行與自動語音辨識相反的功能——語音辨識將音訊轉換為文本,而聲碼器將語言表示轉換為音訊。

完整的管道在運作

當您請求「陳醫生的預約時間為下午 3:00」的語音合成時:

  1. 文字歸一化 將其擴展為「陳醫生的預約時間是下午三點」
  2. 語言分析會將它轉換成音素:/ˈdɑktər ˈtʃɛnz əˈpɔɪntmənt ɪz æt θri əˈklɑk pi ɛm/
  3. 韻律生成會預測音調在「約會」處略微上升,「是」之後有所停頓,然後強調「三」
  4. 語音合成 會產生符合這些規格的音訊波形

在現代硬體上,整個過程通常在一秒鐘內完成。