
語音的幕後:AI 如何讓語音隨情緒變化
神經網路語音合成已經發展到這樣的程度:合成語音朗讀一句話時,多數時候聽起來就像真人在朗讀。更難的問題是讓它聽起來像一個「真心在說」的人:聽到好消息時溫暖、讀到哀傷的句子時低沉、調侃時輕快。本文說明情緒感知語音管線是如何設計的——文字如何變成音訊、系統如何從文字推斷情緒語氣、這種語氣如何轉換成語音設定,以及這套做法的不足之處。
在 AINudeGirls 的現況:平台目前沒有任何語音功能。您的 AI 模特兒不會說話,也沒有語音通話。AI 語音通話已列在我們的公開路線圖上,目標時程為 2027 年第二季。以下所有內容都是針對這項未來功能的設計說明,而不是您現在就能使用的功能描述。如果想看看目前已可使用的功能,請從圖片產生器或影片產生器開始。
---
語音合成的運作方式(基礎)
概括來說,現代的文字轉語音(TTS)分三個階段把文字轉成音訊,全部由神經網路處理:
1. 文字分析:輸入的文字被拆解成語言單位——音素、韻律標記、句子結構。系統在這個階段決定哪些音節要重讀、停頓放在哪裡。
2. 聲學建模:由一個網路預測每個片段的音訊特徵——音高、時長、能量與頻譜特徵。
3. 波形產生:由聲碼器(vocoder)把這些聲學預測轉換成真正的音訊波形。
目前的神經網路 TTS 已遠遠超越早期世代的機器人語音。但「聽起來像真人在朗讀文字」與「聽起來像真人一邊說話一邊有所感受」之間仍有落差。情緒感知管線就建立在上述三個階段之上,用來縮小這個落差。
---
語音從哪裡來:供應商選項
要建立語音輸出的平台,必須決定音訊在哪裡合成。常見有三類,各有不同的取捨:
託管式通用 TTS
- 是什麼:大型供應商提供的雲端神經網路 TTS 服務,涵蓋多種語言與口音的大量語音
- 品質:乾淨、自然的語音,帶有模型在訓練時學到的韻律
- 控制程度:有限。您可以選擇語音與語速,但無法細緻地引導情緒表達
- 最適合:只需要自然、中性朗讀的日常語音
專門的表現力語音 API
- 是什麼:專為富有表現力的合成語音而打造的服務,具備鮮明的角色設定
- 品質:三類之中情緒範圍最廣
- 控制程度:可直接調整表達的穩定度、忠實度與戲劇性——正是情緒管線需要的調節桿
- 最適合:情緒張力強的台詞與旁白,平淡的表達會顯得突兀
自行架設的開源引擎
- 是什麼:在自有硬體上執行的開源 TTS 引擎,搭配自訂語音模型
- 品質:因模型而異;有些能妥善處理情緒,有些不行
- 控制程度:完全掌控,但包括品質在內的一切都由您負責
- 最適合:把文字處理留在內部、大量產生,以及進行實驗
我們的後端設定在每一類中各列了一個選項(Edge TTS、ElevenLabs 與 Coqui)。這些都沒有連接到任何面向使用者的功能,而且在語音通話推出前,選擇仍可能改變。
---
偵測文字中的情緒
在 TTS 引擎產生音訊之前,情緒感知管線必須先回答一個簡單的問題:這段文字的情緒語氣是什麼?這個階段的設計如下。
一組實用的情緒類別
七個類別就能涵蓋對話式語音大部分需要表達的情緒:
情緒 說明 典型觸發詞
--------- ------------- -----------------
喜悅 快樂、興奮、熱情 笑聲、慶祝、好消息、俏皮的活力
悲傷 憂鬱、同情、安慰 失去、失望、同理、惆悵
憤怒 挫折、激烈、熱血 衝突、不公、強烈反對
恐懼 焦慮、擔憂、不安 危險、不確定、憂慮、脆弱
驚訝 震驚、揭露 劇情轉折、意外事件、新發現
調情 俏皮、逗弄、吸引 讚美、暗示、曖昧張力
溫柔 輕柔、關懷、親密 安慰、親近、情感上的脆弱、愛
另外還有一個 中性 的預設類別,用於沒有明顯傾向的文字。
兩種偵測方式
最簡單的設計是關鍵字比對。系統掃描文字,尋找與各種情緒相關的字詞與片語:
- 喜悅指標:「哈哈」、「太喜歡了」、「太棒了」、「好興奮」、「太美好了」、驚嘆號
- 悲傷指標:「對不起」、「想你」、「要是……就好了」、「可惜」、「好痛」
- 調情指標:「眨眼」、「逗你」、「臉紅」、「好美」、帶暗示的措辭
- 溫柔指標:「在乎你」、「在我身邊很安全」、「輕輕地」、「柔柔地」、「抱著你」
每一次命中都會為該情緒加分,得分最高的情緒勝出。關鍵字比對透明、便宜、容易除錯,因此是合理的第一版做法。
另一種做法是以模型為基礎的分類器:由一個小型語言模型讀完整則訊息,輸出情緒標籤及其機率。它對語境、反諷與混合訊號的理解好得多,代價則是延遲、運算量,以及較難預測的行為。
信心分數
並非每則訊息都有明確的情緒語氣,因此偵測器也應回報自己有多確定——一個介於 0.0 到 1.0 的信心值:
- 高信心:單一情緒有多個強烈指標。語音參數會明顯改變。
- 中信心:有一些指標,但並不佔主導。參數會適度改變。
- 低信心:文字模稜兩可或中性。語音維持在接近預設的設定。
依信心值混合,可以避免語音在模糊的文字上出現劇烈擺盪:偵測器不確定時,就產生中性的朗讀。
---
情緒如何對應到語音參數
表現力 TTS API 提供少數幾個控制項。各家名稱不同,但有三個很常見,也能很好地對應偵測到的情緒:
穩定度(語音動態)
控制語音是偏向一致還是偏向多變:
- 穩定度較低 = 語音變化更多、更有表現力、更有活力
- 穩定度較高 = 表達更沉穩、受控、平穩
相似度(自然度)
控制輸出與基準語音設定的貼近程度:
- 相似度較低 = 詮釋更自由,可能更有情緒,但一致性較低
- 相似度較高 = 更貼近該語音原本的自然音色
風格(表現力)
控制表達的整體表現力:
- 風格較高 = 更戲劇化、情緒更鮮明
- 風格較低 = 更含蓄、更口語
情緒到參數的對應表
合理的起始對應如下。每項調整的方向比精確數值重要;數值必須在真正的系統存在後,再針對每個語音逐一調校:
情緒 穩定度 相似度 風格 預期效果
--------- ----------- ------------ ------- -----------------
喜悅 較低 中 較高 動態、有活力、有表現力
悲傷 較高 較高 中 較慢、沉穩、輕柔
憤怒 較低 中 較高 激烈、有力、戲劇化
恐懼 中 較高 中 緊張、略顯不穩、急迫
驚訝 較低 中 較高 快速、動態、起伏大
調情 中 中 中 俏皮的變化、溫暖、逗弄
溫柔 較高 較高 中 柔和、溫暖、輕柔、親密
中性 中 中 較低 自然、口語、平衡
這些只是基準。信心分數會再依偵測的不確定程度,按比例把每個參數拉回中性。
---
每位模特兒一個聲音
在這樣的系統裡,每個角色都需要自己的語音身分,而不是共用同一個旁白:
- 語音選擇:每個角色從供應商那裡分配到一個符合其個性的語音
- 基準參數:每個角色都有自己的預設穩定度、相似度與風格值,定義其「中性」音色
- 情緒範圍:有些角色預設就比較外放,有些比較內斂;情緒對應會相對於每個角色的基準進行調整
俏皮、活力充沛的角色即使在中性模式下也保有較動態的聲音,而冷靜、內斂的角色則維持沉穩。情緒變化會疊加在這些預設值之上。在 AINudeGirls,這最終意味著要為每一個 AI 模特兒檔案指定一個聲音——目前這些檔案只有圖片與文字介紹。
---
這套設計的已知限制
設計能妥善處理的部分
- 明顯的情緒。一則充滿驚嘆號、帶有「太棒了」與「愛」等字眼的訊息,很容易被歸類為喜悅。一則關於失去的訊息,很容易被歸類為悲傷。
- 模稜兩可。信心機制能避免模糊的文字造成語音擺盪。
- 對比。喜悅與溫柔的表達聽起來差異夠大,值得投入這番功夫。
處理不好的部分
- 反諷與語境。關鍵字偵測看不懂「喔,太棒了,又是星期一。」「太棒了」一詞會被算成喜悅。
- 混合情緒。同時帶有喜悅與悲傷的訊息,會被簡化成得分較高的那一種,而不是兩者的混合。
- 供應商差異。細緻的對應只有在開放這些參數的供應商上才能完整運作。通用 TTS 依賴內建韻律,對明確的指示反應較弱。
- 自行架設的變異。開源引擎的情緒範圍高度取決於所用的模型。
推出前的未決問題
- 該從關鍵字偵測開始,還是直接採用以模型為基礎的分類器
- 情緒混合(在同一次表達中呈現兩種情緒)是否值得增加的複雜度
- 平台上各種模特兒檔案需要多少種聲音
這些都尚未決定。
---
語音的隱私考量
任何語音功能都會帶來純文字平台不會遇到的問題。以下是設計所依據的限制條件;最終政策會在功能推出前公布:
- 按需產生。音訊在收到請求時才產生,並非預先錄製。
- 僅暫時快取。產生的音訊可能為了播放而短暫快取,不會永久儲存。
- 不擷取使用者語音。管線是單向的:文字進、音訊出。設計中沒有任何部分需要您的麥克風,複製使用者的聲音也不在其中。
- 供應商的資料處理。若由第三方供應商合成音訊,訊息文字會傳送給該供應商,並受其隱私政策規範。自行架設的引擎則把文字留在內部。適用哪一種做法,會在推出時清楚說明。
---
您現在可以做什麼
再重申一次開頭的重點:AINudeGirls 目前沒有語音功能——沒有語音輸出、沒有語音聊天、沒有語音通話。語音通話已列在路線圖上,時程為 2027 年第二季;等到有實際內容可以描述時,本文會隨之更新。
目前上線的是圖片與影片產生:在 NSFW 產生器輸入提示詞或選擇類別、瀏覽各類別,或在影片產生器產生短片。價格按點數計算,列於價格頁面;其餘問題請見常見問題。
