從規則系統到統計模型
4.1 拼接式語音合成
第三章我們談的是表徵學習、潛在空間,以及機器如何從資料中抽取可操作的中間表徵。這些概念幾乎已經成為今日討論語音生成時的基本語言。我們習慣問模型如何表徵說話者、如何分離內容與音色、如何在潛在空間中進行採樣與控制。然而,如果我們把時間往前推,在深度學習尚未改寫語音技術之前,工程師面對的問題並不是「模型如何學會生成聲音」,而是「如何用有限而可控的工程手段,把一串文字變成一段勉強自然、但至少可以理解的語音」。這兩種問題意識看似相近,實際上屬於兩個截然不同的技術時代。
現代語音合成系統之所以令人震撼,很大的程度上正是因為我們已經逐漸忘記要讓機器「說一句話」,原本就是極其困難的工程任務。人類說話時,看似只是把文字轉為聲音,實際上卻牽涉到極為複雜的協調過程:音素如何彼此銜接,語調如何隨語意與句法而起伏,停頓如何透露語篇結構,甚至同一句話在不同情境下,還會有不同的速度、重音與情緒色彩。早期工程師沒有大型神經網路,也沒有端到端學習可以依賴,因此只能把這個連續而整體的現象拆解成許多可以操作的小問題,再用明確規則、資料庫與訊號處理的方法把它們重新組裝起來。
從歷史上來看,現代意義的電腦語音合成大約在二十世紀後半葉逐漸成形,然後,到了 1980 年代至 2000 年代,逐步收斂出兩條主要技術路線。第一條路線是拼接式語音合成(concatenative speech synthesis)。既然真人語音最自然,那麼最直接的策略就是預先錄製大量真人語音片段,然後在合成時盡可能從資料庫中找出最合適的片段加以拼接。第二條路線則是參數式語音合成(parametric speech synthesis)。不再直接拼接波形,而是把語音視為一組可控制的聲學參數,先由模型預測參數,再由聲碼器重建波形。兩者一條偏向「重用真實材料」,一條偏向「建立可生成的抽象模型」。理解這兩條路線如何運作,幾乎等於理解深度學習前語音合成的完整地形圖。
我們先說明拼接式語音合成。它的核心概念其實非常樸素。既然最自然的語音已經存在於真人的錄音中,那麼合成系統最不該做的事情,就是自己「製造」那些細節;相反地,它應該盡可能利用現成的真人語音,把要說的句子拼湊出來。這種思路之所以吸引人,是因為它把最難的部分,語音的自然質地,直接外包給了真人錄音。只要拼接得夠好,理論上系統輸出的每一個局部片段都具有真實語音的聲學品質。
但很快我們就會看到,問題恰恰出在「只要拼接得夠好」這句話上。自然語音不是樂高積木,不是任意兩塊拼起來都能無縫接合。語音最基本的特徵之一,就是協同發音(coarticulation)。一個音素的發音方式,總是會受到前後音素的影響。說話者在準備發出下一個音時,口腔、舌位與嘴唇的動作往往已提前開始,因此同一個音素在不同語境中的聲學表現並不完全相同。這意味著,如果我們只是把最小的音素單位逐個拼起來,很容易在邊界處產生不連續,聽起來像是機器把一段段被切碎的聲音硬黏在一起。
因此,拼接式系統需要仔細選擇語音單元(speech unit)的粒度。理論上,單元可以是音素、音節、詞,甚至更長的固定片語;實作上,雙音素(diphone)曾經是最常用、也最具代表性的折衷方案。雙音素指的是從一個音素中點到下一個音素中點的聲音片段。它的好處在於語音邊界中最不穩定、最容易受協同發音影響的部分,會包含在單元內部;而真正的拼接點則放在兩個音素相對穩定的中段。換句話說,雙音素的設計試圖把「最難拼的地方」預先封裝起來,讓真正的拼接發生在較穩定的區域。這種設計反映出一種很典型的早期工程思維:既然無法讓系統自己學會過渡,那就透過單元設計,把過渡直接做進資料裡。
為了支撐這種合成方法,系統背後必須建立一個龐大的語音單元資料庫(unit database)。這通常需要由專業配音員或播音員在受控的環境中錄製大量語料,盡量覆蓋目標語言中所有重要的雙音素組合。對英語而言,依音素集的定義不同,需要涵蓋的雙音素組合大約在一千到兩千種左右;如果再考慮語速、重音、句尾語調、語境與說話風格等因素,資料庫規模便會進一步膨脹。到這裡我們已經可以看到拼接式系統的第一個現實特徵,它非常依賴語料蒐集與資料庫工程。與其說它是一個「學習型系統」,不如說它首先是一個「高品質錄音素材的組織系統」。
實際合成時,系統的流程通常包括幾個關鍵步驟。第一步是文字分析(text analysis)。輸入的材料往往不是乾淨的音素序列,而是普通文字,其中包含數字、縮寫、標點、大小寫變化,以及多音字、專有名詞與語境依賴的發音差異。系統必須先完成正規化,例如把「2026」判斷為年份還是數量,把「Dr.」展開為 doctor,把句號、逗號、問號轉化為停頓或語調資訊。這些工作看似一種語言前處理,實際上直接決定了後面的合成品質。
第二步是將文字轉為音素或更細的發音單位。這通常涉及字素到音素(grapheme-to-phoneme, G2P)的轉換。第三步則是韻律預測(prosody prediction)。對每個音節或音素預測時長、基頻變化、能量分布與停頓位置。這一個環節尤其重要,因為就算片段本身是真人錄音,如果整句話的韻律錯誤,仍然會立刻暴露出機械感。第四步才是單元選取(unit selection):在龐大的資料庫中,為目標句子的每個位置找到最合適的候選單元。
單元選取本身是一個典型的最佳化問題。系統不是逐一獨立地替每個音素選一段錄音,而是要在整句話的層面同時兼顧兩類代價。第一類是目標代價(target cost),某個候選單元本身是否適合這個位置?它的音素內容、重音狀態、位置、預期時長與基頻是否接近目標?第二類是接合代價(join cost):這個候選項若與前後候選項接起來,邊界是否平順?頻譜、能量與相位是否差異太大?理想的選擇,並不一定是每個位置各自最像目標的片段,而是整體拼接最自然的一串片段。從這裡我們可以看見一個很有意思的事實:即使是看似「把錄音拼起來」這麼直覺的系統,背後也早已涉及搜尋、最佳化與代價函數設計等相關技術,而這些正是後來資料驅動方法的一種前身。
在單元選定之後,最後的階段是波形拼接(waveform concatenation)與必要的訊號修補。若兩段單元長度略有不符,系統可能利用 PSOLA(Pitch Synchronous Overlap and Add)等方法對時長與音高進行有限調整。PSOLA 的基本想法是沿著音高週期的邊界切分與重疊波形,從而在不劇烈破壞音色的前提下改變時長或基頻。這種方法在當時是非常重要的,因為它提供了一種相對低成本的方式,讓既有錄音素材能更彈性地適合不同句子所要求的韻律輪廓。
在 1990 年代至 2000 年代初期,單元選取式拼接系統曾達到很高的工程成熟度。它的最大優勢是局部自然度極高。只要選中的片段夠好、拼接點夠順,那一小段聲音幾乎就是真人語音本身。許多早期商業 TTS 系統之所以令人印象深刻,正是因為在短句、常見句型或資料庫覆蓋良好的場景中,它們的局部片段品質確實相當出色。
然而,拼接式系統的問題也幾乎與其優點同源。首先,它依賴真實錄音,所以資料庫的覆蓋性成為品質上限。若一個系統沒有錄到足夠多的語境組合,它在冷門詞、特殊韻律、罕見語氣或新語域下就會明顯失真。其次,拼接點即使經過最佳化,也常會留下邊界不連續的痕跡,表現在聽感上可能是輕微的斷裂、嗡鳴、接縫感,或難以言說的「不是同一口氣說完」的感覺。其次,韻律預測與單元選取通常屬於相對分離的模組系統。一般性的作法是先預測理想韻律,再在資料庫裡找勉強接近的片段。若找不到真正吻合的片段,預測與材料之間就會以妥協方式呈現結果,而這種妥協往往體現在整句語調的不協調上。
更根本地說,拼接式合成缺乏一個真正可生成的新聲音模型。它並不是從統計規律中「生成」語音,而是在大量先驗材料中「搜尋」語音。這使得它很難優雅地擴展到新語言、新說話者或新風格。若要讓系統多一種說話者,通常就意味著重新錄一整套大型資料庫;若要支援另一種語言,不只要重錄,還必須重做文字分析、字典、韻律規則與單元設計。這種高昂的擴展成本,正是拼接式方法雖然一度實用,卻難以支撐今日大規模、可客製、跨語言聲音服務的重要原因之一。
因此,當我們回頭看拼接式語音合成時,應該把它理解為一種非常成熟、也非常聰明的前深度學習工程方案。它利用人類錄音直接取得自然度,利用資料庫與最佳化搜尋彌補生成模型的缺席。但它無法真正回答一個後來變得越來越關鍵的問題,如果我們不想只在既有材料中挑選,而是想讓機器自己學會語音的生成規律,該怎麼辦?這個問題,正把我們推向第二條歷史路線:參數式語音合成。
4.2 參數式語音合成
如果說拼接式語音合成的核心概念是「自然語音已經在資料庫裡,系統的工作是把它找出來」,那麼參數式語音合成(parametric speech synthesis)的核心概念則是相反的。語音可以被拆解為一組較低維、可控制、可預測的聲學參數,只要我們能準確地預測這些參數,再透過適當的聲碼器重建波形,機器就能真正「合成」出語音,而不只是拼接既有錄音。
這種思想的吸引力非常明確。首先,它大幅降低了對巨型錄音資料庫的依賴。系統不需要為每個可能的雙音素與韻律情境都準備一個真人片段,而是學會一套較抽象的語音描述方式。其次,它具有更強的可操控性。若語音被表徵為一組顯式參數,那麼改變說話速度、基頻、音色甚至說話者風格,就不再完全依賴是否錄到合適的片段,而可以透過參數的調整來實現。再次,它在理論上更容易一般化。一旦模型學會了語音參數與語言條件之間的關係,就可能較容易遷移到新的句子、新的風格,甚至新的說話者。
要理解參數式合成,最重要的直覺是:它不再把語音看成「一整段不能拆的真人錄音」,而是看成由若干可建模成分構成的動態訊號。其中最有影響力的概念框架,是人類的發聲源—濾波器模型(source-filter model)。這個模型認為,語音大致可以分解為兩個部分:一個是聲源(source),例如聲帶週期性振動所產生的激發;另一個是濾波器(filter),也就是口腔、鼻腔與聲道形狀對聲源進行的共振與塑形。若用一個簡單的比喻,聲源像是樂器的振動激發,聲道則像是決定音色的共鳴腔。兩者結合,才形成我們實際聽到的母音、子音與整體的音色。
這個觀念之所以重要,是因為它把原本極其複雜的波形,轉化成較少數但更有結構的參數。比如說,聲源部分可以透過基頻(F0)、有聲/無聲狀態、能量等變數描述;濾波器部分則可以透過頻譜包絡、共振峰位置或 Mel 倒譜係數等特徵描述。這樣一來,語音合成問題就從「如何直接構造每一個波形取樣值」,轉化為「如何根據文字與情境,預測一串隨時間變化的聲學參數」。
事實上,參數式思路的歷史比統計模型還要更早。早在 1960 至 1980 年代,研究者便已開始發展共振峰合成器(formant synthesizer),直接以手動或規則化的方式控制共振峰頻率、頻寬、能量與聲源參數,合成出可理解的語音。這類系統的好處是可控性極高,計算成本也相對較低,甚至能在硬體資源有限的裝置上運作。DECtalk 等著名系統,正是在這條路線上達到極高工程成熟度的代表。然而,共振峰合成的侷限也同樣明顯,它太依賴人類專家對發聲機制的顯式建模,且很難復現真實語音中微妙的隨機性、氣聲、摩擦質地與細膩韻律,因此合成聲音雖清楚可辨,卻常帶有一種強烈的人工感。
隨著統計方法的發展,參數式語音合成開始從「手工設定參數」轉向「讓機率模型來學習參數分布」。在這個意義上,統計參數語音合成(statistical parametric speech synthesis, SPSS)是一個關鍵轉折。它不再只是依賴語音學規則逐步生成聲學參數,而是把大量配對語料,文字與錄音,拿來訓練模型,讓模型自己估計在特定語言條件下最可能出現的聲學特徵序列。在深度學習出現以前,這條路線最成熟、最有影響力的實作,就是基於隱馬可夫模型(HMM)的 HTS 架構。
換句話說,若拼接式合成是「搜尋現成波形」,那麼 HMM-based SPSS 則是「預測一條最合理的參數軌跡,再由聲碼器還原波形」。這是一種更接近現代機器學習思維的方式,因為它開始引入統計建模、機率推論、參數共享與泛化能力等概念。儘管它距離今天的端到端生成模型還有點遠,但它已經把語音合成從資料庫工程推向了模型工程。
4.2.1 隱馬可夫模型的基本邏輯
隱馬可夫模型(Hidden Markov Model, HMM)之所以在語音處理中長期地占有重要地位,是因為它非常適合描述一類特殊的時序現象:系統的內部狀態隨時間推進,但這些狀態本身無法直接觀察,我們只能透過外部訊號去間接推知它們。語音正是一個典型的例子。我們真正量測到的,是連續變化的聲學波形或由波形萃取出的特徵;但在這些可觀測的訊號背後,研究者往往會假設存在一串較穩定的語音狀態,例如某個音素在發音過程中的起始、過渡、穩定段與結束段。HMM 的基本貢獻,就是用一個相對簡潔的機率框架,把這種「看不見的狀態」與「看得見的特徵」連接起來。
在語音合成的情境中,HMM 的概念可以這樣理解:當系統要說出一個音素時,它不會在單一瞬間完成,而是會隨時間經過幾個局部相對穩定的子狀態。每一個子狀態,都對應某種典型的聲學特徵分布;而狀態之間則依一定機率向前轉移。於是,一個完整音素不再只是一個靜態標籤,而變成一個會展開為時間序列的微型生成過程。這種建模方式的價值在於,它把語音的時間性正式納入模型,而不是把語音想成一個沒有內部結構的整體。
在實作上,一個音素常被建模成三到五個狀態。這些狀態不一定具有像「起始」、「中段」、「結束」那樣可由人直接命名的明確語音學意義,但它們確實能夠吸收音素內部不同時間位置上的聲學差異。對每個狀態,系統都要建模它所生成的觀測特徵分布。在早期 HMM-based SPSS(statistical parametric speech synthesis)中,這通常由高斯混合模型(Gaussian Mixture Model, GMM)來描述。換句話說,狀態本身不直接產生波形,而是產生像 MFCC、F0、非週期性等聲學特徵;這些特徵之後再交由聲碼器解釋與重建。從這裡也可以看出,HMM-based SPSS 本質上是一個明確分層的系統:前面負責機率建模,後面負責訊號重建。
從訓練的角度來看,系統需要大量帶有文字對應資訊的語音資料,藉此估計每個音素、每個狀態的轉移機率與觀測分布。這裡真正困難的地方在於:我們雖然知道一句話的文字內容,也聽得到整段語音,但並不知道語音中的每一小幀究竟對應到哪一個隱狀態。也就是說,文字與聲音都是已知的,但中間那條「哪一段聲音屬於哪個狀態」的對齊路徑,其實是看不見的。HMM 的訓練之所以有挑戰,正是因為它必須一邊推測這條隱藏路徑,一邊學會各個狀態本身的聲學分布。
Baum–Welch 演算法作為期望最大化(Expectation-Maximization, EM)框架的一種特例,在這裡扮演了關鍵角色。若用直觀的方式來說,它所做的事情可以分成兩步:先根據目前的模型,估計在每個時間點上,各個隱狀態「有多大機率」對這段資料負責;再利用這些機率性的責任分配,去更新狀態轉移機率與觀測分布。第一步相當於回答「這些聲音片段大概屬於哪些狀態」;第二步則是在這個暫時估計的基礎上,調整模型,使它更能解釋整批訓練資料。如此反覆進行,模型便會逐漸收斂到一組較合理的參數。這種機率式訓練方法之所以重要,在於它不需要我們事先人工標出每一幀的精確狀態對應,卻仍然能夠在統一的框架中,同時處理時間對齊與聲學建模。
到了合成階段,流程則反了過來。給定一段輸入文字,系統先把文字轉成音素序列,再把相應的 HMM 串接起來,形成一句話的複合狀態網路。接著,系統通常不會真的隨機從這些分布中逐點抽樣,而是利用最大似然參數生成演算法(Maximum Likelihood Parameter Generation, MLPG;Tokuda et al., 2000)求出一條平滑且一致的參數軌跡。MLPG 的關鍵在於,它不只是逐幀獨立地取最可能的參數值,而是同時考慮靜態特徵與動態特徵之間的約束關係,使生成的參數序列在時間上必須前後連貫。正是這種跨幀約束,讓輸出軌跡具有整體的平滑性,而非一連串彼此無關的局部最佳值。也就是說,這條軌跡同時隱含兩類結果:一類是時間資訊,也就是每個狀態、每個音素大約持續多久;另一類是聲學資訊,也就是在這些時間位置上,MFCC、F0 與其他聲學參數應該是多少。換句話說,HMM-based SPSS 並不是直接從資料庫中取出某段現成聲音,而是先在參數空間中算出一句話應有的聲學輪廓,再交給後端重建。
在這裡,我們也可以更清楚地看見 HMM-based SPSS 與拼接式系統的一個根本差異。拼接式系統的合成結果,本質上來自資料庫中實際存在的材料;而 HMM-based 系統的輸出,則主要來自模型所預測的參數均值或最可能軌跡。這種作法給了系統更高的靈活性,因為它不再受限於資料庫中是否剛好錄到了某一句話的某一種說法;但也正是因為如此,它必須面對另一個新的問題:模型給出的往往是統計平均,而平均本身常常意味著細節的流失。這也是後來人們常說 HMM-based 語音「平滑但偏機械感」的重要原因之一。
最後,預測出的參數仍然需要轉回波形,這就是聲碼器(vocoder)的角色。像 WORLD 這類傳統聲碼器,會根據 F0、頻譜包絡與非週期性成分,重建出可播放的語音。這一步非常關鍵,因為它使得「統計模型預測參數」與「真正聽到語音」之間建立了橋樑。從某種意義上說,HMM-based SPSS 之所以在當時如此重要,不只是因為它能合成語音,而是因為它第一次用一套清楚、可訓練、可控制的機率模型,把文字、時間結構、聲學參數與最終波形之間的關係系統化地串連了起來。後來深度學習時代的許多架構,雖然逐步打破了這種明確的模組分工,但 HMM-based SPSS 所建立的問題框架,語音如何隨時間展開、如何被參數化、以及如何從參數走回聲音,其實深深影響了後續整個語音合成領域的發展。
4.2.2 情境依賴模型與決策樹聚類
如果我們只為每個音素建立一個固定的 HMM,很快就會遇到一個根本問題:真實語音中的同一音素,在不同語境下並不會聽起來完全一樣。/a/ 這個音素出現在不同輔音之間,嘴形與共振結構都會改變;爆破音後面的元音,會和鼻音後面的同一元音呈現不同的起始過渡。換句話說,語音並不是由一個個彼此獨立、上下文無關的音素機械排列而成,而是一個受到相鄰成分持續塑形的連續過程。這種情境依賴性(context dependency)如果不被納入模型,那麼系統學到的就只能是過度粗糙的平均值。
正因如此,HMM-based SPSS 很快發展出情境依賴模型。它的核心想法是:建模時不能只看某個音素本身,而必須把它所處的語境也一起考慮進來。最經典的形式是三音素(triphone)模型,也就是用「左鄰音素—當前音素—右鄰音素」共同定義一個單位。這樣做的直覺很清楚:一個音素的實際發音,至少在第一近鄰的語境中,會呈現系統性的差異,因此模型也應該對這些差異保持敏感。
然而,這種做法立刻帶來另一個難題:組合數量的爆炸。若一個語言有數十個音素,那麼所有可能的 triphone 組合會迅速膨脹到數萬甚至更多,而真實訓練語料不可能平均覆蓋每一種情境。有些常見組合擁有大量樣本,有些罕見組合卻幾乎看不到。若硬要為每一種 triphone 都建立獨立模型,參數估計就會變得極不穩定,許多模型甚至根本沒有足夠資料可學。
這時,決策樹聚類(decision tree clustering)就成為一個關鍵性的解法。它的核心思想,不是粗暴地忽略情境,而是把問題改寫成一個更細緻的形式:哪些情境差異在聲學上真的重要,哪些其實可以共享參數? 為了回答這個問題,研究者會設計一系列語音學問題,例如「左鄰音素是否為有聲輔音?」「當前音素是否為高前元音?」「右鄰音素是否屬鼻音?」「音節是否帶重音?」等等。決策樹便以這些問題作為分裂節點,把大量 triphone 樣本逐步分群,使得每一群中的聲學特性相對一致,而群與群之間的差異則相對明顯。
這種方法之所以高明,在於它把原本的資料稀疏問題,轉化成參數共享問題。模型不再堅持「每個細緻情境都要獨立估計」,而是讓彼此相似的情境共用統計量。若兩個 triphone 雖然字面上不同,但在關鍵語音學條件上相似,決策樹就可能把它們分到同一個葉節點,讓它們共享觀測分布與持續時間模型。這樣一來,系統同時保留了情境敏感性與估計穩定性:它既不完全忽略語境,也不會因為語境種類過多而無法訓練。
值得注意的是,決策樹聚類不只是一種節省參數的工程技巧。它其實深刻反映了早期語音技術的知識結構:雖然統計模型已經扮演核心角色,但人類的語音學知識仍然明確的寫入系統設計中。換句話說,模型並不是完全從資料中隨機地學習一切,而是在「哪些差異值得保留」這件事上,仍然接受專家設計的問題集合所引導。這正是前深度學習時代的一個典型特徵:統計學習與人工先驗高度交織,模型的能力來自資料,也來自設計者對語音結構的明確理解。
在 HTS 框架中,情境依賴 HMM 加上決策樹聚類,構成了實用層面的核心技術。它使得系統能夠根據文本位置、音節結構、重音、句法斷點等多種語言特徵,為不同情境生成略有差異的聲學參數。這不只改善了音素層級的自然度,也使得系統在說話者調適、風格轉換與跨句型泛化上更具有彈性。相較於拼接式系統,這種架構雖然失去了真人波形材料的局部真實性,卻換來了更強的統一建模能力:整個句子的參數軌跡來自同一個機率框架,而不是來自大量局部片段的拼裝。
然而,我們也應該看清楚它的代價。情境依賴模型再精細,決策樹再巧妙,本質上仍然是在有限的參數化特徵空間中工作。它可以改善「平均得太粗」的問題,卻無法徹底解決參數式系統的另一個核心困境:只要最後輸出的仍然是經過平均化的聲學參數,那麼再好的決策樹,也無法自動恢復真實語音中那些高度細膩、帶有隨機起伏與微妙質地的局部細節。這個問題將直接導向下一節:為什麼早期系統即使在工程上非常成熟,卻仍然存在一個難以突破的自然度上限。
4.3 為什麼早期系統自然度有限
無論是拼接式合成還是參數式合成,在最好的情況下,訓練有素的聆聽者往往仍然能夠辨別出合成語音與真人語音之間的差異。這個「玻璃天花板」的存在,並不只是工程細節尚未調到最好,也不只是硬體算力還不夠,而是這兩類早期系統在基本設計上都帶有某些難以根本排除的限制。換句話說,早期系統並不是完全失敗;相反地,它們在當時的技術條件下已經做得相當成熟。但正因為它們已經發展得足夠成熟,我們才更容易看清楚:它們的自然度上限其實來自方法本身,而不只是來自實作品質。
第一個問題,是韻律建模的分解化。真實語音中的韻律,並不是幾條彼此獨立的控制曲線簡單拼起來而已。一個句子的語調走向,受到語義、說話者意圖、語篇結構、重音配置,甚至文化慣例的共同影響,形成一個跨越多個時間尺度的整體模式。自然語音中的停頓、節奏、音高起伏與能量分布,往往是彼此牽動、共同決定的。早期系統為了讓問題可解,通常會把韻律拆成若干子任務,分別預測音素時長、逐幀的 F0 值、有聲與無聲狀態切換,以及能量包絡,最後再把這些子結果組合起來。這種做法在工程上合理,因為它讓系統可以模組化地處理複雜問題;但代價是,韻律的整體性被打散了。模型也許能分別把各個維度都預測得不差,卻很難保證它們組合起來之後,仍然具有真人語音那種自然一致、前後呼應的韻律感。
第二個問題,是聲學特徵的過度平滑(over-smoothing)。在統計參數合成系統中,常見的做法是根據 HMM 或其他統計模型的狀態均值,求出一條最可能的聲學參數軌跡。從統計的角度看,這樣的均值軌跡是合理的,因為它代表了模型認為最穩定、最典型的輸出;但從聽覺的角度看,這種「取平均」的做法往往會抹去真實語音中大量細微而重要的起伏。真人語音的頻譜在時間上充滿局部變化,包含細小的能量波動、共振峰的微妙偏移,以及許多難以明確參數化的隨機細節;而統計模型所產生的均值序列,則傾向於把這些高頻變動消除,使輸出變得過於平滑。其結果就是:語音雖然清楚、可懂,也大致正確,但聽起來總像少了一層真實質地,帶有一種模糊、偏薄、缺乏生命感的特質。研究者後來提出了許多補救方法,例如全域方差(Global Variance, GV)的最大後驗估計,試圖把被平均掉的變異補回來;但這些方法雖有改善,仍然無法徹底消除問題。
第三個問題,來自聲碼器本身的限制。參數式合成系統的輸出,通常不是直接波形,而是像 MFCC、F0、非週期性這類較低維的聲學參數。這意味著,在最後一步,系統還必須依賴聲碼器把這些參數重新轉回可播放的波形。聲碼器在這裡扮演的是橋梁角色:一端連著統計模型,另一端連著人耳真正聽到的聲音。然而,傳統聲碼器的重建過程,本身就建立在對語音生成機制的簡化假設之上。它可以大致重現聲音的結構,卻很難完整恢復真實語音中那些細膩而不規則的局部特徵。尤其是摩擦音等強烈依賴非週期噪聲質地的聲音,以及真人發聲中大量細微的隨機性(stochasticity),在傳統聲碼器下往往都會被重建得較為粗糙。這也是為什麼許多早期參數式系統,即使在內容與時序上已經相當正確,整體聽感仍常被形容為帶有「塑料感」、「電話感」或某種不自然的機械質地。
第四個問題,則是靈活性與自然度之間的結構性取捨。拼接式系統的優勢,在於它使用的是真人錄製的局部波形,因此只要單元豐富、選取得當,局部自然度可以非常高;但它的缺點是靈活性很差,說話者、語言、風格的改變都意味著必須重新收集大量資料,甚至重建資料庫。參數式系統則正好相反:它能夠在統一的參數框架中調整語音屬性,較容易做說話者調適、風格轉換與跨句型泛化,但它的輸出品質又受制於平滑問題與聲碼器品質。也就是說,兩條技術路線各自在不同維度上取得了優勢,卻都未能同時達到高自然度與高靈活性。這種取捨,不是偶然的歷史結果,而是早期技術框架本身的內在難題。
如果把這些問題放在一起來看,就會發現一個關鍵事實:早期語音合成系統的限制,並不只來自某一個單點元件,而是來自整體設計邏輯。拼接式系統依賴真實材料,因此受制於資料庫的邊界;參數式系統依賴抽象參數,因此受制於平均化與重建誤差。前者難以靈活泛化,後者難以保留真實細節。這也正是為什麼,當深度學習出現之後,它不只是帶來一個「更好的模型」,而是重新改寫了問題本身:研究者不再只是思考如何更精巧地拼接真人片段,或如何更準確地預測低維參數,而是開始追問,模型能否直接從大量資料中學出更完整的聲音生成規律,並在不依賴過度簡化的先驗假設下生成更自然的語音。
這個問題,將直接把我們帶到下一節。因為深度學習之所以會成為轉折點,不只是因為它「比較新」,而是因為它第一次在模型容量、端到端訓練與波形生成能力上,同時對這些早期系統的核心瓶頸做出了回應。
4.4 深度學習為何成為轉折點
深度學習之所以成為語音合成的轉折點,不只是因為它「表現更好」,而是因為它重新定義了這個問題應該如何被表述。早期系統的基本精神,是把語音合成拆解成一系列人類可理解、可分工的中間任務:先分析文字,再預測韻律,再決定片段或聲學參數,最後由訊號處理模組輸出波形。深度學習帶來的改變則是:與其由人類事先決定哪些中間表徵最重要,不如讓模型在大量資料中自己學出對任務最有用的表徵與映射。這種觀念上的轉變,正好與我們在第二章、第三章討論過的聲音表示、表徵學習與資料驅動方法相互呼應。
這場轉變最早並不是在語音合成中爆發,而是在語音識別中先顯現出來。當深度神經網路(Deep Neural Network, DNN)與 HMM 的混合架構,也就是常說的 DNN-HMM,在聲學建模上大幅超越傳統方法時,整個語音研究社群開始意識到:神經網路特別擅長處理高維輸入與複雜輸出之間的非線性關係,而語音恰好就是這樣的一個問題領域。這裡所說的 DNN,簡單來說,就是由多層神經網路堆疊而成的模型。它不像早期較淺的統計模型那樣只能描述相對有限的關係,而是能夠透過多層轉換,逐步抽取更複雜、更抽象的特徵。值得注意的是,DNN-HMM 混合架構最初的成功場景是語音辨識,而非語音合成。正是因為它在辨識端的聲學建模上展現了遠超傳統方法的能力,研究者才進一步意識到:同樣的建模優勢也可能被反向應用於合成端,如果 DNN 能更好地理解語音特徵,那它也應該能更好地預測語音特徵。於是,研究者開始嘗試把深度神經網路引入語音合成流程。
最初的做法其實相對保守。研究者並沒有立刻丟棄既有的 HMM-based SPSS 流程,而是先用 DNN 取代其中的聲學模型部分。也就是說,輸入仍然是人工設計好的語言特徵,輸出仍然是傳統聲學參數,但中間那個最核心的映射,改由更有表達能力的深度網路來承擔。這一步之所以重要,是因為它已經清楚展示:光是提升「語言條件到聲學特徵」這段映射的建模能力,就足以改善合成品質。DNN 不再像 HMM 那樣依賴相對簡單的狀態分布假設,而是能更靈活地擬合複雜的非線性關係,因此在某種程度上緩解了過度平滑的問題,也讓韻律條件與聲學輸出之間的關係變得更細緻。
然而,這還不是根本性的改朝換代。真正使語音合成進入新時代的,是兩個方向幾乎同時成熟。
第一個方向,是直接波形建模的成功。WaveNet 的出現,向整個領域證明了一件過去幾乎難以想像的事:神經網路可以不經由傳統聲碼器,而直接學習音訊波形的機率分布。這件事的意義非常深遠。過去參數式合成的一個根本限制,是最後必須依賴聲碼器的理論假設來重建波形;WaveNet 則等於宣告,波形本身可以成為模型直接學習的對象。模型不再需要人類先決定哪些聲學參數是充分的,而是能夠從資料中自己學會哪些局部波形模式、哪些長程依賴,以及哪些細節結構會對應到自然人聲。這不只提升了音質,更重要的是,它動搖了早期語音合成中的一項深層假定:波形細節不必只能交給訊號處理理論來處理,模型也可以直接學會它。
第二個方向,是端到端序列生成架構的崛起。這裡最具代表性的系統之一,就是 Tacotron。Tacotron 可以簡單理解為一種把文字序列直接轉成聲學表示的神經語音合成模型。它通常不是直接輸出最終波形,而是先從輸入文字生成 Mel 頻譜圖之類的中間聲學表示,再交給後端聲碼器把它轉回可聽語音。Tacotron 的真正突破,不只是「能從文字生成 Mel 頻譜圖」,而是它展示了一種全新的工作方式:系統不必再由人明確指定輸入文字如何切分、哪個音素對應哪段時間、每個音節該持續多久,而可以讓模型在大量資料中自己學出文字序列與聲學輸出之間的對齊關係。
注意力機制在這裡扮演了決定性的角色。它使模型在生成每一小段聲學輸出時,可以動態地「查看」輸入序列中當前最相關的位置。這相當於把原本需要人工設計或外部對齊工具處理的問題,直接納入模型內部,變成可學習的一部分。也正因為如此,Tacotron 常被視為語音合成中的一個代表性轉折點:它讓語音合成首次清楚地呈現出端到端生成模型的形態,而不再只是多個模組彼此串接的工程流程。
Tacotron 之後,語音合成的問題開始被重新理解為一個序列到序列(sequence-to-sequence)的映射:輸入是一串字元、音素或文字 token,輸出則是一串隨時間展開的聲學表徵。這種架構比早期系統更接近我們今天熟悉的生成式模型思維。它不再把語音合成視為一連串彼此分離模組的接力,而是把它視為一個在共同目標下整體學習的系統。從這個角度看,深度學習帶來的不只是品質提升,更是一種系統設計哲學的翻轉。
我們可以更系統地看出,這種翻轉主要發生在幾個層面。
第一,是表徵層面的改變。早期系統高度依賴人類決定哪些特徵最重要;深度學習則逐漸把特徵抽取與中介表示的形成交給模型本身。第二,是對齊層面的改變。早期系統通常需要顯式規則、外部分段或機率式對齊模型;端到端架構則讓對齊關係在訓練過程中自發形成。第三,是波形生成層面的改變。早期系統仰賴傳統聲碼器來完成最後一步;神經聲碼器與直接波形模型則讓模型自己學會真實語音中的局部結構與微細質地。第四,是優化目標的改變。模組式系統通常各自優化子任務;深度學習系統則更有可能在整體輸出品質上共同訓練,減少模組之間的誤差累積與割裂感。
當然,這並不是說深度學習一出現,所有問題便立即解決。WaveNet 最初的推論速度非常慢,Tacotron 也存在對齊不穩、重複、漏字與長句失敗等問題。換句話說,深度學習不是一夜之間消除了語音合成的所有困難,而是把「主要困難」從人工模組設計與訊號理論限制,轉移到模型架構、訓練穩定性、資料規模與推論效率等新的問題上。這些新問題之後催生了一系列新路線:以非自回歸方式解決推論速度與對齊穩定性的 FastSpeech、將聲學模型與聲碼器整合為端到端系統的 VITS、以對抗式訓練加速高品質波形生成的 GAN vocoder,以及借助擴散過程逐步精煉輸出的 diffusion TTS。這些方向也將構成本文第五章與第六章的核心內容。
不過,即使保留這些限制,我們仍然可以說,深度學習標誌著語音合成史上的真正分水嶺。因為從這一刻起,研究者不再只是問:「如何用規則與參數把語音拼得更像人?」而開始問:「如何讓模型從資料中自行發現語音生成的規律?」這兩個問題看似接近,但它們對應的是兩種完全不同的方法論。前者假定語音的主要結構必須由人先行拆解;後者則假定,只要模型足夠有能力、資料足夠豐富,許多原本由人手工指定的中介步驟,其實可以交由模型共同學會。
從拼接式合成到 HMM-based SPSS,再到 WaveNet 與 Tacotron,這條歷史線索展示的不是一連串彼此斷裂的技術替換,而是一個不斷重構問題的過程。早期方法教會我們如何把語音分解成可管理的工程部件;深度學習則進一步讓我們看見,哪些部件其實可以由模型共同學會,哪些先驗條件可以被資料驅動的方法取代,以及哪些品質上限原來不是因為語音本身太難,而是因為舊有方法無法充分表達。正因為如此,理解早期方法並不是歷史考古,而是為了看清楚:第五章即將登場的深度語音生成架構,究竟是如何站在前一代工程努力的基礎上,完成方法論上的躍遷。
本章小結
本章回顧了深度學習全面進場之前,語音合成技術的兩條主要路線:拼接式合成與統計參數式語音合成(HMM-based SPSS)。拼接式合成的核心邏輯,是從大型語音資料庫中選出最合適的真實片段,再加以拼接與平滑處理。它的優勢在於局部材料來自真人錄音,因此在理想條件下可以呈現高度自然的局部音質;但它的限制也同樣明顯:高度依賴資料庫覆蓋率,對新句型、風格控制與跨說話者泛化的能力相對有限。
相較之下,HMM-based SPSS 代表了另一種方法論。它不再直接拼接真實波形,而是以隱馬可夫模型為核心,把語音理解為隨時間展開的狀態序列,並在這些狀態上建模聲學參數分布。情境依賴模型與決策樹聚類,進一步讓系統能夠把左右鄰音、重音、音節位置、句法條件等語言特徵納入建模,從而在有限資料下兼顧情境敏感性與估計穩定性。這條路線的重要意義,在於它把語音合成從「片段挑選」轉向「統計建模」,使系統第一次具備較高的統一性、可控性與調適能力。
然而,本章也指出,無論是拼接式還是參數式,早期系統都存在難以完全突破的自然度上限。拼接式系統受制於資料庫邊界與拼接不連續問題;參數式系統則受制於過度平滑、韻律整體性不足,以及傳統聲碼器重建能力有限等問題。這些限制並不是單一元件的小缺陷,而是整體方法論所導致的結構性後果。也正因如此,語音合成領域最終需要的,不只是局部修補,而是一種能夠重新表述整個問題的技術轉向。
深度學習之所以成為這個轉向的真正分水嶺,不只是因為它提升了合成品質,更因為它改變了語音合成的問題框架。DNN-HMM 混合架構先證明了神經網路能更有效地建模語言條件與聲學輸出之間的複雜非線性關係;WaveNet 進一步證明,波形本身可以成為模型直接學習的對象;Tacotron 等端到端架構又顯示,文字與聲學輸出之間的對齊關係,也可以在模型內部被共同學出來。從這一刻起,研究者不再只是問「如何用規則與參數把語音拼得更像人」,而開始問「如何讓模型從資料中自行發現語音生成的規律」。
因此,本章真正展示的,並不是一連串彼此斷裂的技術替換,而是一個持續重構問題的歷史過程。拼接式系統讓我們看見真實材料的重要性,HMM-based SPSS 讓我們理解參數化與統一建模的價值,而深度學習則進一步揭示:許多原本由人工先驗硬性拆分的模組,其實可以交由模型共同學習。理解這段歷史,不是為了考古,而是為了看清楚後續深度語音生成架構究竟是在解決哪些舊問題,又是在何處打開新的可能性。
接下來的問題不再只是「深度學習是否比早期方法更強」,而是更具體地變成:在深度學習時代,語音生成系統究竟沿著哪些主要架構演進?它們各自解決了什麼問題,又帶來了哪些新的限制?第五章將從這個角度出發,系統性地整理深度語音生成架構的發展脈絡,說明 WaveNet 之後的語音合成,如何一步步走向端到端、可控化與高自然度的新階段。
參考文獻
Black, A. W., & Taylor, P. (1997). Automatically clustering similar units for unit selection in speech synthesis. In Proceedings of Eurospeech 1997 (pp. 601–604).
Fant, G. (1960). Acoustic theory of speech production. Mouton.
Hinton, G., Deng, L., Yu, D., Dahl, G., Mohamed, A., Jaitly, N., Senior, A., Vanhoucke, V., Nguyen, P., Nguyen, T., Sainath, T., & Kingsbury, B. (2012). Deep neural networks for acoustic modeling in speech recognition. IEEE Signal Processing Magazine, 29(6), 82–97.
Hunt, A. J., & Black, A. W. (1996). Unit selection in a concatenative speech synthesis system using a large speech database. In Proceedings of the IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP) (Vol. 1, pp. 373–376).
Jurafsky, D., & Martin, J. H. (2024). Speech and language processing (3rd ed. draft). Stanford University. https://web.stanford.edu/~jurafsky/slp3/
Moulines, E., & Charpentier, F. (1990). Pitch-synchronous waveform processing techniques for text-to-speech synthesis using diphones. Speech Communication, 9(5–6), 453–467.
Klatt, D. H. (1980). Software for a cascade/parallel formant synthesizer. Journal of the Acoustical Society of America, 67(3), 971–995.
Klatt, D. H. (1987). Review of text-to-speech conversion for English. Journal of the Acoustical Society of America, 82(3), 737–793.
Morise, M., Yokomori, F., & Ozawa, K. (2016). WORLD: A vocoder-based high-quality speech synthesis system for real-time applications. IEICE Transactions on Information and Systems, E99-D(7), 1877–1884.
Taylor, P. (2009). Text-to-speech synthesis. Cambridge University Press.
Tokuda, K., Yoshimura, T., Masuko, T., Kobayashi, T., & Kitamura, T. (2000). Speech parameter generation algorithms for HMM-based speech synthesis. In Proceedings of ICASSP 2000 (pp. 1315–1318).
Tokuda, K., Nankaku, Y., Toda, T., Zen, H., Yamagishi, J., & Oura, K. (2013). Speech synthesis based on hidden Markov models. Proceedings of the IEEE, 101(5), 1234–1252.
van den Oord, A., Dieleman, S., Zen, H., Simonyan, K., Vinyals, O., Graves, A., Kalchbrenner, N., Senior, A., & Kavukcuoglu, K. (2016). WaveNet: A generative model for raw audio. arXiv preprint arXiv:1609.03499.
Wang, Y., Skerry-Ryan, R. J., Stanton, D., Wu, Y., Weiss, R. J., Jaitly, N., Yang, Z., Xiao, Y., Chen, Z., Bengio, S., Le, Q., Agiomyrgiannakis, Y., Clark, R., & Saurous, R. A. (2017). Tacotron: Towards end-to-end speech synthesis. In Proceedings of Interspeech 2017 (pp. 4006–4010).
Zen, H., Senior, A., & Schuster, M. (2013). Statistical parametric speech synthesis using deep neural networks. In Proceedings of the IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP) (pp. 7962–7966).























