聲音的幕後:AI 如何讓語音承載情感
當你的 AI 伴侶開口說話時,那個聲音不是平板單調的文字朗讀。系統會分析每則訊息的情感內容並相應調整聲音——喜悅的回應聽起來充滿活力與溫暖,溫柔的時刻輕柔而從容,俏皮的調侃則帶著更輕快、更靈動的質感。
這篇文章將完整說明背後的原理:文字轉語音管線、情緒偵測系統、聲音參數對應,以及目前做法的誠實侷限。
---
文字轉語音如何運作(基礎篇)
從宏觀來看,現代文字轉語音(TTS)透過神經網路將文字轉為音訊:
1. 文字分析:輸入文字被拆解為語言單位(音素、韻律標記、句子結構)
2. 聲學建模:神經網路預測音訊特徵——每個片段的音高、時長、能量與頻譜特徵
3. 波形生成:聲碼器將聲學預測轉換為你實際聽到的音訊波形
現代神經 TTS 系統能產生驚人自然的語音,早已遠遠超越早期世代的機械音。但在「聽起來像人在唸文字」與「聽起來像人帶著情感說話」之間仍有落差。我們的系統正致力於縮小這道落差。
---
我們的三家 TTS 供應商
我們使用三家不同的 TTS 供應商,各司其職:
Edge TTS(免費層)
- 是什麼:Microsoft 的神經 TTS 服務,透過 Edge 執行環境存取
- 聲音數量:40 種以上,涵蓋多種語言與口音
- 品質:自然度佳,具基本韻律控制
- 費用:免費——不按字元計費
- 最適合:一般對話、輕鬆互動,以及不想把點數花在語音上的使用者
Edge TTS 產生乾淨、自然的語音。它不支援 ElevenLabs 那種細緻的情感參數控制,但藉由神經模型內建的自然韻律模式,基本的情感表達處理得不錯。
ElevenLabs(進階層)
- 是什麼:專精 AI 語音合成的平台,具備進階情感控制
- 聲音數量:多款高品質聲音,各有鮮明的角色特質
- 品質:情感表現力與自然度業界頂尖
- 費用:依生成字元數消耗點數
- 最適合:情感豐富的對話、親密時刻、故事模式旁白
ElevenLabs 是我們的情緒轉語音管線發揮最大效果的地方。其 API 開放對聲音參數的直接控制,例如 stability、similarity boost 與 style——我們將偵測到的情緒對應到這些參數。
Coqui(本地/自架)
- 是什麼:在我們自己的伺服器上運行的開源 TTS 引擎
- 聲音數量:可設定,支援自訂聲音模型
- 品質:品質良好,隨模型更新持續進步
- 費用:無外部 API 成本(僅運算成本)
- 最適合:大量生成、降低外部相依、自訂聲音的實驗
Coqui 讓我們能夠不依賴外部服務生成語音,也是我們實驗性語音功能的試驗場。
---
情緒偵測系統
在 TTS 引擎生成音訊之前,我們的系統會先分析文字以偵測情感基調。運作方式如下。
我們偵測的 7 種情緒
情緒 描述 典型觸發
--------- ------------- -----------------
喜悅 快樂、興奮、熱情 笑聲、慶祝、好消息、俏皮的能量
悲傷 憂鬱、同情、安慰 失去、失望、同理、惆悵
憤怒 挫折、強烈、激昂 衝突、不公、強烈歧見
恐懼 焦慮、擔憂、不安 危險、不確定、憂慮、脆弱
驚訝 震驚、恍然大悟 劇情轉折、意外事件、新發現
調情 俏皮、挑逗、心動 讚美、曖昧暗示、浪漫張力
溫柔 輕柔、關懷、親密 安慰、親近、情感上的脆弱、愛
偵測如何運作
目前的情緒偵測系統是基於關鍵字的。它會掃描文字中與各情緒相關的字詞和片語:
- 喜悅指標:「haha」、「love it」、「amazing」、「excited」、「wonderful」、驚嘆號
- 悲傷指標:「sorry」、「miss you」、「wish」、「unfortunately」、「hurts」
- 調情指標:「wink」、「tease」、「blush」、「gorgeous」、帶暗示的措辭
- 溫柔指標:「care about you」、「safe with me」、「gently」、「softly」、「hold you」
每個偵測到的關鍵字都會累加該情緒的信心分數。分數最高的情緒即成為主要偵測情緒。
信心評分
並非每則訊息都有明確的情感基調。系統會為偵測到的情緒指定一個信心值(0.0 到 1.0):
- 高信心(0.7 以上):單一情緒有多個強力指標。聲音參數大幅調整。
- 中信心(0.4-0.7):有一些指標但不佔主導。聲音參數適度調整。
- 低信心(低於 0.4):文字曖昧或中性。聲音維持在接近預設/中性的樣貌。
這種基於信心的混合機制,可避免聲音在曖昧文字上出現劇烈的情緒擺盪。系統不確定情緒為何時,就採取保守做法。
---
情緒如何對應到聲音參數
以 ElevenLabs(我們表現力最強的供應商)為例,偵測到的情緒會轉換為三項關鍵聲音參數:
Stability(聲音動態)
控制聲音的穩定與變化程度:
- 較低的 stability = 更多聲音變化、更具表現力、更有活力
- 較高的 stability = 更從容、克制、平穩的表達
Similarity Boost(自然度)
控制輸出與基礎聲音樣貌的貼合程度:
- 較低的 similarity = 更多創造性詮釋,可能更有情感但較不一致
- 較高的 similarity = 更緊貼該聲音的自然音色
Style(表現力)
控制整體表達的表現力:
- 較高的 style = 更戲劇化、情感更鮮明
- 較低的 style = 更含蓄、更像日常對話
情緒與參數對應表
以下是各情緒如何調整這些參數:
情緒 Stability Similarity Boost Style 效果
--------- ----------- ----------------- ------- --------
喜悅 較低(0.3) 中(0.6) 較高(0.7) 靈動、有活力、富表現力
悲傷 較高(0.7) 較高(0.8) 中(0.5) 較慢、從容、輕柔
憤怒 較低(0.25) 中(0.5) 較高(0.8) 強烈、有力、戲劇化
恐懼 中(0.5) 較高(0.7) 中(0.6) 緊繃、略顯不穩、急切
驚訝 較低(0.3) 中(0.5) 較高(0.7) 迅捷、靈動、音域寬廣
調情 中(0.45) 中(0.6) 中(0.6) 俏皮多變、溫暖、挑逗
溫柔 較高(0.65) 較高(0.75) 中(0.5) 輕柔、溫暖、體貼、親密
中性 中(0.5) 中(0.65) 較低(0.4) 自然、對話感、平衡
這些數值是基準線,還會再依信心分數調整——低信心會將所有參數拉近中性。
---
依角色的聲音個人化
不同的 AI 伴侶擁有不同的預設聲音樣貌:
- 聲音選擇:每個角色都會從 TTS 供應商獲派一個符合其個性的專屬聲音 ID
- 基準參數:各角色擁有專屬的預設 stability、similarity 與 style 值,定義其「中性」聲線
- 情感幅度:有些角色天生表現力較強,有些則較為內斂。情緒對應會相對於各角色的基準線調整。
活潑有勁的角色即使在中性模式下也擁有天生較靈動的聲線,而沉靜神祕的角色則有較從容的基準線。情緒變化是疊加在這些角色專屬預設之上的。
---
誠實的侷限
我們相信應該坦白說明這套系統擅長什麼、不足在哪。
表現良好之處
- 明顯的情緒能可靠捕捉。充滿驚嘆號、「amazing」和「love」等字眼的訊息,能正確觸發喜悅的聲音。談及失去與悲傷的訊息,則產生更輕柔、更從容的表達。
- 信心系統可防止誤判。曖昧的文字不會造成劇烈的聲音擺盪。
- 不同情緒聽起來明顯不同。使用者能聽出喜悅回應與溫柔回應的差別。
表現不佳之處
- 關鍵字偵測不是機器學習。它不理解語境、諷刺或細膩的情感層次。像「Oh great, another Monday」(帶諷刺)這樣的訊息,很可能因為「great」一詞被判定為正面。
- 混合情緒被簡化。若一則訊息同時包含喜悅與悲傷,系統會取主導者而非混合兩者。真實的人類語音經常同時承載多種情緒。
- Edge TTS 的參數控制有限。細緻的情緒對應只有搭配 ElevenLabs 才能完全發揮。Edge TTS 依賴其內建韻律模型,對明確的情緒指令較不敏感。
- Coqui 的情感幅度因模型而異。有些本地模型的情緒處理比其他模型好。
我們正在改進的
- 我們正在評估能理解語境而非只看關鍵字的機器學習情緒偵測模型。這將大幅改善對諷刺、反諷與細膩情緒狀態的處理。
- 我們正在開發情緒混合——讓聲音能同時承載兩種情緒。
- 我們正在擴充聲音庫,加入更多元的聲音樣貌。
---
隱私與音訊資料
關於我們如何處理語音資料,幾點重要說明:
- 音訊隨需生成。當你請求語音輸出時,音訊是即時生成的。
- 僅暫時快取。生成的音訊可能為播放效能短暫快取,但不會永久儲存。
- 絕不複製使用者的聲音。我們不錄製、不儲存、不處理你的聲音。TTS 系統是單向的:文字進、音訊出。絕不會存取你的麥克風。
- 供應商的資料處理。使用 ElevenLabs 時,訊息文字會傳送至其 API 進行合成。ElevenLabs 的資料處理受其自身隱私政策規範。偏好文字在本地處理的使用者,可選擇完全在我們伺服器上運行的 Coqui。
---
結語
我們的語音系統是一條管線:文字進入、偵測情緒、調整聲音參數、生成富有表現力的音訊。它並不完美——關鍵字偵測有實際的侷限,神經 TTS 在情感真實度上也仍有成長空間。
但最終的成果,是遠比平板朗讀更有人味的語音輸出。你的 AI 伴侶不只是說出字句——而是用符合字句意涵的方式說出來。我們也持續努力,讓這種契合更貼近、更自然。
我們寧可誠實面對不完美,也不願假裝系統是它所不是的樣子。這項技術確實令人驚豔,而且每一次迭代都在變得更好。