AI 並不是直接理解「聲音」
2.1 聲音的物理基礎:波形、頻率、振幅與時間
如果我們問一個看似簡單的問題:AI 是如何「聽見」一段聲音的?第一個需要澄清的答案其實是否定性的:AI 並不是像人一樣直接聽見聲音。人耳與大腦面對的是一個連續、流動、帶有感知意義的經驗世界;電腦面對的則必須是一串可以儲存、運算與比較的數字。因此,在真正進入介紹模型之前,我們必須先理解一件事:所謂的「聲音」在物理上究竟是什麼,而它又如何被轉換成機器可處理的形式。
聲音的本質,是介質中壓力的變化。當吉他弦振動、人的聲帶振動,或揚聲器振膜前後移動時,它們都會推動周圍的空氣分子,形成一連串高壓區與低壓區。這種壓力變化不是靜止的,而是以波的方式向外傳遞。當這些壓力波抵達耳膜,耳膜便跟著振動,之後再經由聽覺神經系統的處理,被我們經驗為音高、響度、音色、節奏與語意。換句話說,人聽到的雖然是「聲音」,但物理世界中發生的其實是壓力隨時間的連續變化。
描述這種變化最直接的方式是波形(waveform)。在波形圖中,橫軸代表時間,縱軸代表相對於平衡位置的壓力偏移量,也就是振幅。波形的重要性在於,它是最接近原始訊號的一種表示:如果一段聲音以理想方式被完整測量,那麼波形就包含了重建該聲音所需的全部資訊。這也是為什麼在語音與音訊工程中,波形常被視為最原始、最忠實的物理表示。
但是,只說「波形是壓力隨時間的變化」其實還不夠。要真正理解聲音,我們還需要掌握幾個基本的物理量。
第一是振幅(amplitude)。振幅描述的是壓力偏移的大小。一般而言,振幅越大,我們感受到的聲音也越響。不過要補充說明的是,振幅與人耳感知到的響度(loudness)並不是一一對應的線性關係。人耳對不同頻率的敏感度不同,因此兩個振幅相同的聲音,若頻率分布不同,實際上感受到的響度也可能不同。不過,即便如此,在最基礎的訊號層次上,振幅仍然是理解「聲音強弱」最直接的入口。
第二是頻率(frequency)。頻率指的是每秒鐘完成多少次的完整振盪,單位是赫茲(Hertz, Hz)。頻率與我們經驗到的音高(pitch)密切相關:頻率越高,通常音高越高。以平常語音對話的範圍來看,成年男性說話的基頻經常落在約 80 到 150 Hz 之間,成年女性則常在約 150 到 300 Hz 左右;樂器與歌聲的頻率範圍則更廣。人類理論上的可聽範圍大約在 20 Hz 到 20,000 Hz 之間,但實際敏感度會隨著年齡與個體差異改變。這裡要特別區分的是:頻率是一個物理量,而音高是一種感知量。兩者密切相關,但並不完全等同。
第三是週期(period)。週期是頻率的倒數,表示完成一次完整振動所需的時間。例如,一個 440 Hz 的 A 音,代表每秒振動 440 次,因此其週期就是 1/440 秒,也就是約 2.27 毫秒。頻率與週期之間的互換,在後續討論取樣、窗長與時頻解析度時會相當重要,因為它提醒我們:聲音中的某些規律本來就發生在極短的時間尺度上。
然而,在現實世界中的聲音很少以單一頻率的純音(pure tone)方式出現。教科書中的純音,只是理論上的最簡單例子。真實的語音、樂器聲、自然環境聲與噪音,幾乎都是許多頻率成分疊加後的結果。當一個人發出母音時,我們聽到的不是單一頻率,而是一個基頻加上一串諧波,再加上聲道共鳴所塑造的頻譜包絡。當鋼琴彈下一個音符時,也不是一條單純的波,而是多個頻率成分共同構成了該音色的豐富質地。
這裡就出現了一個重要的問題:如果真實聲音本質上是多種頻率成分的混合,那麼只看時間軸上的波形,我們究竟能知道多少?答案是,波形當然保留了完整資訊,但它並不直接揭示聲音的內部組成。它把所有頻率成分都疊合在同一條時間軸上,讓我們看得見訊號的起伏與變動,卻不容易立刻回答另一個更關鍵的問題:這段聲音裡到底有哪些頻率?它們各自有多強?又是如何共同形成某種音色的?
這正是聲音分析真正困難的起點。對人耳而言,母音、鋼琴音、雨聲之所以彼此不同,並不只是因為它們在時間上「長得不一樣」,更因為它們的頻率分布不同。可是,這些差異若只放在波形圖中,往往並不容易直接讀出來。換句話說,時間域的表示忠實地保存了聲音的原貌,卻未必是一種最有利於分析其結構的表示方式。
因此,當我們的目標只是描述「聲音如何隨時間變化」時,波形是已經足夠;但當我們想進一步理解「聲音是由什麼組成的」,尤其是想分析音色、諧波、共振,以及不同聲音為何聽起來不同時,就需要把同一段訊號換一個角度來看。這不是因為時間域不重要,而是因為它更適合呈現變化,而不擅長直接揭露聲音組成。
這就把我們帶到另一個重要的視角:時間域(time domain)與頻率域(frequency domain)的區別。
在時間域中,我們關心的是訊號如何隨時間變化,也就是波形本身的變化。在頻率域中,我們關心的則是:這段訊號是由哪些不同頻率成分組成的?每一種成分各有多強?要完成時間域到頻率域的轉換,最核心的數學工具就是傅立葉轉換(Fourier transform)。傅立葉轉換背後的概念其實可以說得很簡單:即使一個訊號看起來非常複雜,只要它具有適當條件,我們仍然可以把它理解為是許多不同頻率的正弦波疊加而成。對聲音做傅立葉轉換,就是把「時間上的複雜變動」重新表達成「頻率成分的分布」。
對於聲音表徵處理而言,這個想法是相當重要的。因為,一旦能把複合聲音分解到頻率軸上,我們就能開始看見許多在波形中不易察覺的結構。例如,我們可以看見某個母音的共振峰(formants)集中在哪些區域,可以看見一個打擊聲的高頻能量如何迅速衰減,也可以看見噪音與有聲訊號在頻率分布上的差異。對語音與音訊 AI 來說,這種「把時間訊號重新整理為可解讀的頻率結構」的能力,正是後續許多表徵方法的起點。
但這裡立刻會遇到一個問題:標準傅立葉轉換傾向把整段訊號視為一個整體來分析,而語音與音樂卻是典型的非穩態(non-stationary)訊號。也就是說,它們的統計特性與頻率組成都會隨時間改變。說一個字時,起始子音、中間母音與結尾部分的頻譜結構就可能完全不同;一段旋律中,不同音符的基頻與能量分布也會不斷移動。如果我們對整段訊號只做一次全局式傅立葉轉換,就像把整部電影所有畫面重疊成一張平均圖像,我們會知道它「大致包含哪些元素」,但卻無法知道這些元素何時出現、如何變化。
而這正是短時傅立葉轉換(Short-Time Fourier Transform, STFT)出現的理由。STFT的基本的策略是:不要把整段訊號當作一個不可分的整體,而是把它切成許多短小、彼此部分重疊的片段,也就是幀(frame),再針對每一幀分別做傅立葉轉換。只要幀的時間夠短,我們就可以近似地把每一幀看成短時間內相對穩定的訊號。於是,我們同時保留了「時間上的位置」與「頻率上的組成」。最後得到的結果,就是一個二維表示:橫軸是時間、縱軸是頻率、顏色或亮度代表能量強弱,而這就是頻譜圖(spectrogram)。
從認識聲音的角度來看,頻譜圖的重要性在於它改變了我們觀看聲音的方式。原本藏在波形中的時頻結構,被重新攤平成一張可視化的圖。研究者可以在其中辨識母音的共振峰、擦音的高頻噪聲、停頓的無聲區段,甚至音高輪廓的走向。也正因為這種表示兼顧了時間與頻率,頻譜圖才會成為現代聲音 AI 中最核心的中介表徵之一。
到這裡,我們可以先得到一個初步結論:聲音在物理上是壓力隨時間的連續變化;波形是它最完整的時間域表示;頻率分析則提供了另一種更有利於理解結構的視角;而 STFT 進一步讓我們面對非穩態訊號時,仍然能夠同時掌握時間與頻率。下一步的問題便是:即使我們已經知道聲音是什麼,電腦又如何把這個連續世界轉換成可以儲存與計算的離散資料?這時就進入數位化的問題。
2.2 數位化:取樣、量化與編碼
到目前為止,我們談的還是物理世界中的聲音。物理聲波是連續的:時間連續,壓力變化也連續。但電腦不是一個直接處理連續世界的裝置。它的記憶體、運算單元與儲存系統都建立在有限位元與離散狀態之上。因此,如果我們希望讓機器學習模型處理聲音,第一步不是「理解語音」,而是先把類比世界中的連續訊號轉換成數位世界中的離散資料。這個過程通常包含三個步驟:取樣(sampling)、量化(quantization)與編碼(encoding)。
先看取樣。取樣的概念很簡單:如果我們無法儲存一條真正連續的曲線,那麼就只能在固定時間間隔上,去量測它在那些時刻的數值。每秒鐘量測多少次,就稱為取樣率(sampling rate)。假設一段音訊的取樣率是 16 kHz,意思就是每秒鐘量測 16,000 次;若是 44.1 kHz,則是每秒量測 44,100 次。對電腦而言,原本流動的波形就此被轉換為一串按時間順序排列的數值序列。
這裡很容易產生一個直觀的疑問:如果原本的聲音是連續的,而我們只是在離散時刻取樣,難道不會遺漏中間的資訊嗎?答案是:會,但在特定條件下,遺漏的程度可以被控制到足以完整重建。而這正是奈奎斯特-夏農取樣定理(Nyquist-Shannon sampling theorem)的核心內容。該定理指出,若一個訊號中的最高頻率成分為 fmax,那麼取樣率至少要大於 2fmax,才能在理論上完整重建原始訊號。這個2fmax 的下限通常稱為奈奎斯特頻率條件。
這個定理解釋了為什麼不同音訊任務會採用不同的取樣率。電話語音長期使用 8 kHz 左右的取樣率,原因不是「電話只會發出低品質聲音」,而是日常語音可懂度所依賴的關鍵頻率多集中在 4 kHz 以下。若只追求基本通話理解,8 kHz 已足夠。相對地,CD 音質採用 44.1 kHz,因為人類可聽上限約在 20 kHz 左右,而 44.1 kHz 滿足超過兩倍的取樣需求,並保留一定餘裕。對多數語音 AI 任務而言,16 kHz 是很常見的折衷點:它比電話語音細緻得多,又不至於像 44.1 kHz 那樣帶來過高的計算成本。音樂生成與高傳真音訊處理則常用 24 kHz、32 kHz、44.1 kHz,甚至更高的取樣率,以保留更多高頻細節與空間感。
但只有取樣還不夠。取樣告訴我們「在哪些時刻記錄數值」,卻還沒有回答另一個問題:每一個取樣點的振幅應該記得多精細?在物理世界中,振幅是一個連續值;在電腦裡,我們卻只能讓它落在有限個可表示的數值等級上。這就是量化(quantization)。
量化的意思,是把原本連續的振幅值,映射到有限個離散等級。量化的精度由位元深度(bit depth,亦稱位深)決定:n 個位元可以表示2n 個不同的振幅等級。例如,若使用 16-bit 位元深度,那麼理論上可表示的振幅級數為 216,也就是 65,536 個等級。位元深度越高,可表示的振幅級數越多,量化後對原始訊號的逼近也越細緻。相反地,若位元深度較低,兩個原本不同的微小振幅值,可能會被迫落到同一個離散等級上,從而產生誤差。
這個誤差就是量化雜訊(quantization noise)的來源。它不是外部世界的噪音,而是訊號從連續值壓縮到有限級數時所產生的近似誤差。從原理上看,位元深度越高,量化雜訊越小。這也是為什麼音樂與高品質語音製作常使用 16-bit、24-bit,甚至更高精度;在某些深度學習訓練或推論流程中,則可能為了節省記憶體與加快運算,而在模型內部改用較低精度的表示。
接著是編碼(encoding)。取樣和量化之後,我們得到的是一長串離散數值;編碼則決定這些數值如何被實際儲存、傳輸與封裝。最基本的無壓縮方式,是脈衝編碼調變(Pulse Code Modulation, PCM)。PCM 並不試圖聰明地壓縮資料,而是直接把每個取樣點的量化值用固定位元數依序寫下來。WAV 等常見無損音訊格式,本質上便是建立在 PCM 或其相近的機制之上。
然而,直接用 PCM 儲存音訊,資料量會很可觀。以一段單聲道、一分鐘、16 kHz、16-bit 的語音為例,其原始資料量可計算為:
16,000 × 16 × 60 = 15,360,000 bits ≈ 1.92 MB
若改為雙聲道,資料量立刻加倍;若提高取樣率與位元深度,也會按比例增加。這就是為什麼在日常傳輸與網路應用中,我們經常使用壓縮編碼器(codec),例如 MP3、AAC、Opus 等。這些編碼方式會利用人類聽覺感知的心理聲學特性,盡可能刪除「對聽起來影響較小」的成分,以較小檔案保留可接受的主觀音質。
對聲音 AI 來說,這裡包含兩個重要的概念。
第一,數位化不是一個中性的記錄程序,而是一連串的取捨。取樣率決定了最高可保留的頻率範圍,位元深度決定了振幅表示的精細程度,編碼方式則決定了我們是保留原始細節,還是以感知為基準進行壓縮。不同資料集、不同產品與不同應用場景,往往就在這裡做出不同的選擇。
第二,模型面對的從來不是「聲音本身」,而是經過數位化之後的資料。換言之,任何後續的聲音表徵學習、語音合成或音訊生成,都建立在這個離散化的世界之上。這件事情聽起來似乎理所當然,但它其實有著深遠的後果:模型所能學到的東西,首先受限於資料是如何被取樣、量化與編碼的。若訓練資料在高頻細節上已被壓縮掉,那麼模型就不可能憑空學到不存在的資訊。若資料集中的大多數檔案是低取樣率電話語音,則模型學到的自然也會偏向那樣的頻帶與音色條件。
因此,當我們說「AI 在學習聲音」時,更精確地說,它其實是在學習某種經過數位化與表示化之後的聲音資料分布。這個觀點會在後續各章不斷重現。接下來,我們要進一步討論一個在頻譜表示中尤其關鍵、但常被忽略的問題:相位。
2.3 相位與頻譜重建問題
到這裡,我們似乎已經得到一個很漂亮的中間答案:把波形轉成頻譜圖,聲音就從難以閱讀的一維振幅序列,變成較容易觀察與學習的二維時頻表徵。那麼,問題是不是已經解決了?還沒有。因為頻譜圖雖然非常有用,卻隱藏了一個重要代價:它常常只保留幅度(magnitude)資訊,而忽略了相位(phase)。
這裡需要先理解 STFT 的輸出本質上是什麼。短時傅立葉轉換之後,每一個時間幀、每一個頻率位置所對應的結果,不只是單純一個「能量值」,而是一個複數。複數的兩個核心成分可以轉寫為幅度與相位。幅度描述的是該頻率成分的能量有多強;相位則描述該頻率成分在特定時刻的振動位置,以角度(- π 到 π 之間)表示,或者更精確地說,是它相對於某個參考點的角度偏移。
如果僅以直覺理解,可以把相位想成「這條正弦波現在走到哪裡了」。兩個頻率、振幅完全相同的正弦波,若相位不同,它們在時間軸上的起始位置也不同。當多個頻率成分疊加時,這些相位差異會影響它們在時間域中如何彼此干涉,從而改變最終波形的具體形狀。
那麼,為什麼很多系統還是只保留幅度譜呢?主要有兩個理由。
第一,從感知角度來看,人類聽覺通常對幅度結構比對精確相位更敏感,即使相位在低頻段(尤其 500 Hz 以下)和雙耳空間感知中仍然扮演著重要角色。很多音色、共振峰與可懂度的重要線索,主要部分都已存在於幅度譜中。第二,從機器學習角度來看,只保留幅度譜可以讓表徵更穩定、更容易處理。頻譜圖因此成為一種在感知資訊與計算可行性之間取得平衡的表徵。
但是,代價也隨之而來。因為如果我們只保留幅度而丟掉相位,之後想再把頻譜圖還原成可播放的波形,就不再是直接反轉那麼簡單。傅立葉逆轉換需要完整的複數資訊;只有幅度,沒有相位,就像知道每個樂器聲部音量有多大,卻不知道它們彼此何時進場、如何對齊。你可以嘗試去猜測,但其實已經無法追到唯一解了。
這就是頻譜重建(spectrogram reconstruction)的核心困難。
一個傳統的方法是 Griffin-Lim 演算法(Griffin & Lim, 1984)。它的想法不是一次求得正確相位,而是以迭代方式逐步逼近。具體而言,它先隨機給定一組初始相位,把幅度與這組相位組合起來,做逆 STFT 回到時間域,再重新做 STFT 回到頻率域;然後在每一次回到頻率域時,用目標的幅度譜替換掉當前的幅度,只保留更新後的相位資訊。這樣來回反覆,期望最終得到一組與目標幅度相容的相位估計。
這個方法的重要性,不在於它今天仍是最高品質的重建方案,而在於它清楚地揭示了問題本身:沒有相位,就需要額外估計;而估計相位,本身就是一個困難的逆回溯工程問題。Griffin-Lim 的優點是概念清楚、計算相對便宜,而且在早期系統中非常實用;缺點則是最終音質常帶有金屬感、沙啞感或不自然的嗡嗡聲。這並不是因為它「做錯了」,而是因為單靠幅度去反推出自然波形,原本就資訊不足。
這裡值得我們再往前進一步理解。頻譜圖之所以成為主流,並不是因為它完整,而是因為它在很多任務上「足夠好且容易學」。也就是說,它是一種有意為之的有損表徵(lossy representation)。我們故意捨棄某些資訊,換取更簡潔、更穩定、對模型更友善的表徵形式。只不過,這個在前端省下來的複雜度,最後必須在系統的某個其他地方以某種方式補回來。
這正是神經網路聲碼器(neural vocoder)之所以關鍵的原因。相較於傳統方法以顯式重建相位,神經聲碼器採取的是另一條路:它直接學習從頻譜特徵到波形的映射,也就是讓模型自己在大量資料中學會如何把缺失的細節補回去。這樣的系統並不是先預測一組精確相位,再做標準逆轉換;而是以神經網路的形式,直接產生時間域波形。因此,聲碼器的成功,在某種意義上正是「相位問題工程化解決」的代表。
這裡的重點可以濃縮成一句話:頻譜圖之所以有用,不是因為它完美,而是因為它把困難重新分配了。它讓前端表示更工整,讓聲學模型更容易預測;而原本被省略掉的波形細節與相位相關資訊,則交給後端的聲碼器去恢復。理解這種分工,對後面學習 TTS 架構會非常重要。
2.4 為什麼原始波形不容易直接學
既然頻譜圖會丟失相位資訊,而且通常還必須依靠額外的聲碼器才能重建回波形,一個很自然的問題便會浮現:那為什麼不乾脆直接讓模型對原始波形學習?如果波形是最完整的表示,理論上不是更理想嗎?
這正是一個非常典型、也非常有討論價值的問題。它提醒我們:在機器學習中,資訊最完整的表徵,不一定是最容易學習的表徵。 波形確實最完整,但它也最原始、最密集、最難處理。換句話說,完整性本身是一種優勢,但也可能同時帶來極高的學習代價。
首先,波形的序列長度非常驚人。以 16 kHz 取樣率為例,一秒音訊就包含 16,000 個數值;若是 24 kHz,則是一秒 24,000 個數值。相比之下,若我們以 10 毫秒一幀計算 Mel 頻譜圖,一秒大約只需處理 100 個時間步。兩者在序列長度上的差異,是數百倍量級。對模型而言,這意味著若直接處理波形,就必須在極長的序列上同時學習局部細節與長程結構,這在計算與優化上都非常困難。
其次,波形對微小位移極度敏感,但這種敏感性往往不對應於人類感知的差異。舉例來說,兩段聽起來幾乎一樣的聲音,只要整體波形在時間上稍微錯開幾個取樣點,或者相位略有不同,它們的逐點差異值就可能變得很大。但是,如果我們使用均方誤差(mean squared error,一種常用的訓練損失函數,用來計算預測值與目標值之間差異的平方平均)這樣的點對點損失函數去學習,模型很可能會為了減少數值上的細微差異,花費大量容量去擬合那些人耳其實不太在意的低層細節。這就造成了一個很重要的落差:數值距離未必等於感知距離。
第三,波形同時包含多個時間尺度上的規律。毫秒尺度上,我們看到的是快速振盪的週期結構;數十毫秒尺度上,是音素與共振峰的變化;數百毫秒到秒級尺度上,則是韻律、節奏、語調與句子層次的組織。這些不同尺度的模式,全都擠在同一條取樣序列裡。模型若直接面對波形,就必須自己在極原始的資料中,同時學會這些不同層次的分離、整合與關聯。這不是不可能,但難度極高。
正因為如此,在深度語音合成的早期發展中,研究者普遍傾向先把波形轉成頻譜或 Mel 頻譜圖,再讓模型在這個較高層次、較低時間解析度、也較符合感知結構的表徵上學習。從學習的角度來看,這等於先用訊號處理幫模型「整理房間」:把原本糾纏在一起的低層震盪,重新組織成較穩定的時頻能量模式,讓模型直接在已具有結構的表徵上進行預測。這樣做的代價是資訊有所壓縮,但換來的是學習問題被顯著簡化。
不過,這裡也需要立刻澄清一點:我們說「原始波形不容易直接學」,並不等於說「原始波形不能直接建模」。真正的問題不在於波形本身不可學,而在於它對模型提出了更高的要求。由於波形是以極高時間解析度展開的序列,模型若只能看到非常短的一小段前文,就很難掌握聲音中較長距離的規律,例如音高的週期性、共振的延續性,或某些發音結構在時間上的展開。
也正因如此,WaveNet(van den Oord et al., 2016)才具有歷史性的意義。它證明了:只要模型架構足夠強大,直接對波形逐取樣點建模,在有條件(conditioned on 語言特徵) 的前提下,是可以達到極高品質的結果。WaveNet 的關鍵做法,是使用因果擴張卷積(causal dilated convolution),讓模型在預測當前取樣點時,不只看到緊鄰前面的少數幾個取樣點,還能同時參考更長一段先前的波形。換句話說,它讓模型在不破壞時間先後順序的前提下,能夠利用更大範圍的歷史訊號,因此不只掌握局部細節,也能捕捉較長時間尺度上的聲音結構,例如週期性、共振模式與發音延續。這正是 WaveNet 能夠在原始波形建模上取得突破的核心原因。
但 WaveNet 也同時鮮明地揭示了直接波形建模的代價:品質很高,推論卻極慢。因為它採用自回歸式逐點生成,一秒音訊可能需要依序預測上萬個取樣點。這在研究上是重大突破,在產品上卻很快暴露出效率瓶頸。後續大量的研究,包括 WaveRNN、各類 GAN vocoder、flow-based vocoder 與 diffusion vocoder,某種程度上都在回答同一個問題:我們能否保留接近波形直接建模的自然度,同時讓生成更快速?
因此,本節真正要建立的觀念是:選擇波形還是頻譜,不只是「資訊多寡」的選擇,而是學習難度、感知對齊、推論成本與系統分工之間的折衷。波形最完整,但最難學;頻譜較有損,但更容易讓模型抓住有感知意義的結構。這個折衷,正是後續所有表徵設計與模型架構選擇的底層邏輯。
而一旦我們接受了這一點,下一個問題就會自然浮現:如果不同表徵方式各自有不同的優勢與代價,那麼在現代聲音 AI 中,最常見的表徵究竟有哪些?它們分別保留了什麼資訊、犧牲了什麼資訊,又為什麼會在不同任務中被反覆採用?接下來的 2.5 節,正是要在這個基礎上,系統性地介紹這些常見的表徵方式,並比較它們在資訊完整性、計算效率、感知貼近性與生成可操作性之間的不同取捨。
2.5 常見的聲音表徵方式
到目前為止,我們已經建立了一個重要的知識背景:聲音可以從波形出發,經過時頻分析轉成頻譜;而不同的數學視角,會讓我們看見聲音的不同結構。接下來,問題不再只是「聲音可以如何被分析」,而是更進一步地變成:「當我們要把聲音交給模型時,應該用什麼形式來表示它?」
這個問題之所以重要,是因為模型並不是直接面對抽象的「聲音現象」,而是面對某種具體的資料表示。選擇波形、頻譜圖、Mel 頻譜圖、MFCC,或離散音訊 token,而這些資料並不只是格式上的差異,而是對聲音資訊做出不同的保留、壓縮與重組。某些表示保留更多原始細節,但計算代價高;某些表示更貼近人類感知,因此更利於語音合成與辨識;某些表示則特別適合大型序列模型與生成模型。也因此,表徵方式的選擇,會直接影響模型能學到什麼、必須處理哪些困難,以及整個系統如何分工。
從這個角度看,下面要介紹的幾種常見表徵,彼此並不是簡單的替代關係,而更像是一條逐步演進的路線:研究者不斷在資訊完整性、計算效率、感知貼近性與生成可操作性之間尋找平衡。理解這些表徵的差異,也就等於理解現代聲音 AI 為何會長成今天這個樣子。
2.5.1 原始波形(Raw Waveform)
最自然的起點,仍然是原始波形。因為從訊號處理的角度來看,波形就是聲音最直接的數位表徵,也就是取樣、量化之後得到的 PCM 序列。它最大的優點,是資訊保留得最完整:只要取樣率與量化精度足夠,波形就同時保留了振幅細節、時間位置與相位關係,不需要事先假設哪些結構重要、哪些資訊可以捨棄。
從理論上看,這種完整性非常吸引人,因為只要模型夠強,它就有機會自己從資料中學出最適合任務的中間特徵,而不是受限於人類事先設計好的表徵。這也是許多端到端(end-to-end)方法在理念上不斷強調的方向:不要過早把人類的分析假設硬塞給模型,而是盡量保留原始訊號,讓模型自己從資料中發現規律。WaveNet、SampleRNN、WaveGAN 等方法,正是這條思路的重要代表。
但波形的問題也同樣鮮明:序列太長、學習代價太高、對數值細節過度敏感。這意味著它往往更適合作為高品質生成的最終輸出空間,而不是所有任務都直接採用的最佳輸入空間。現代系統中常見的做法,通常是讓上游模型輸出較高層的頻譜特徵,再交由專門的聲碼器在最後階段生成波形。換句話說,波形雖然完整,但很多時候更適合被放在系統尾端,而不是系統前端。
2.5.2 頻譜圖(Spectrogram)
頻譜圖是由 STFT 得到的幅度譜表徵。它把原本一維的波形訊號,轉換成二維的時頻矩陣,使我們可以同時觀察訊號在不同時間點上的頻率能量分布。這種表示方式的最大優勢,在於它把原本摺疊在時間軸上的聲音結構「攤開來」了。
對語音而言,頻譜圖可以清楚呈現共振峰帶的位置、擦音的高頻噪聲區、爆破音的瞬時釋放,以及有聲段與無聲段的差異。對音樂而言,頻譜圖則能顯示諧波的堆疊、打擊聲的瞬態,以及能量隨時間衰減的過程。也正因為如此,頻譜圖不只是模型輸入的一種形式,它本身也是研究者與工程師分析音訊的重要診斷工具。
不過,線性頻率軸的頻譜圖也有一個明顯的限制:它並不直接貼近人類聽覺的感知尺度。人耳對低頻的分辨能力高,對高頻的分辨能力則相對低;但在線性頻譜圖中,整條頻率軸卻是等距排列的。這意味著,從純數學的角度看,頻譜圖是中性的;但從感知建模的角度看,它仍然有進一步調整的空間。因此,假若我們希望表徵方式更貼近聽覺系統,往往會進一步轉向 Mel 尺度。
2.5.3 Mel 頻譜圖(Mel Spectrogram)
Mel 頻譜圖可以說是現代語音合成與語音辨識中最重要的實務表徵之一。它的基本流程通常是:先計算 STFT 得到線性頻譜,再透過一組按照 Mel 尺度排列的濾波器組,把線性頻率軸重新映射到更符合人類音高感知的非線性尺度上。
Mel 尺度的常見轉換公式為:
m = 2595log10 (1+ f / 700)
其中 f 代表頻率(Hz),m 則是對應的 Mel 值。這個公式的含義是:在較低頻段,人耳對頻率差異的感知較細,因此尺度近似線性;在較高頻段,感知逐漸壓縮,尺度轉為較接近對數形式。於是,低頻區域會被拉得更開,高頻區域則被壓得更緊,整個表示更接近聽覺系統對音高差異的主觀敏感度。
實際計算時,研究者通常會使用一組三角形 Mel 濾波器,把線性頻譜投影到較少的 Mel 頻帶上,例如 80 個 Mel channels,並常常再配合對數轉換,得到 log-mel spectrogram。這種表示對機器學習特別友善,其原因至少有三個。第一,它比原始波形短得多,大幅降低序列長度;第二,它保留了對語音與音色極重要的頻譜包絡與能量分布;第三,它更貼近人耳感知,因此模型的學習目標往往更容易與實際聽感對齊。
也正因為如此,Tacotron、FastSpeech 等大量 TTS 系統,都把 Mel 頻譜圖作為聲學模型的預測目標,再交由聲碼器將其轉回波形。從系統設計的角度來看,Mel 頻譜圖的重要性在於,它提供了一個非常理想的中介層:比波形更抽象、比高層語義更具聲學細節,正好適合承接「文字到聲音」之間的映射學習。
2.5.4 梅爾頻率倒譜係數(MFCC)
如果說 Mel 頻譜圖是深度學習時代的實務主角,那麼 MFCC(Mel-Frequency Cepstral Coefficients)就是前深度學習時代語音處理的經典代表。MFCC 的計算流程,是在對數 Mel 頻譜圖之後,再施加一次離散餘弦轉換(DCT),並只保留前面若干個係數。其目的,是把原本仍有高度相關性的頻帶能量,轉換成更緊湊、較去相關的特徵表示。
為什麼這樣做有用?因為在傳統統計語音辨識系統中,模型通常更偏好固定維度、資訊壓縮且相對穩定的輸入。MFCC 正好提供了這樣一種表示:它把聲音的頻譜包絡摘要成較少維度的特徵,降低資料量,也減少模型負擔。在過去以隱馬可夫模型(HMM)與高斯混合模型(GMM)為主的年代,MFCC 幾乎就是語音特徵工程的標準答案。
但 MFCC 的缺點也非常明顯。因為它對資訊做了進一步壓縮,所以許多細膩的時頻細節會在這個過程中被捨棄。對辨識任務來說,這未必會是個問題,甚至可能有助於強化穩定性;但對生成任務來說,過度壓縮往往意味著難以還原成高品質音訊。這也是為什麼在現代深度語音合成中,MFCC 的核心地位已逐漸被 Mel 頻譜圖取代。不過,在語音辨識、說話者辨識、某些低資源場景,以及入門教學中,MFCC 仍然是非常重要的經典方法。
討論到這裡,其實可以看到一條很清楚的發展脈絡:從原始波形開始,聲音表示一路朝向「更容易分析、更容易學習、更貼近人類感知」的方向演進。無論是頻譜圖、Mel 頻譜圖,還是 MFCC,它們的共同目標,都是把原本過於複雜的聲音訊號轉換成更適合模型處理的形式。
但這些方法有一個共同前提:它們仍然主要是連續數值空間中的表示。也就是說,不管做了多少轉換,模型面對的仍然是一組浮點數,而不是像文字那樣由離散符號構成的序列。當深度學習的發展逐漸走向大型序列模型與生成模型之後,一個新的問題變開始浮現:除了把聲音變得「更容易分析」,我們是否也能把聲音變得「更容易生成」?更具體地說,我們能不能像處理文字 token 一樣,把聲音也改寫成一串可被預測、可被延續、可被重組的離散單位?而這正是離散音訊 token 出現的背景。
2.5.5 離散音訊 Token
近年來,最值得注意的新表徵方向之一,就是把音訊轉換成離散 token。這個方向之所以重要,不只是因為它提供了另一種壓縮方式,更因為它改變了我們處理聲音的基本思路。前面介紹過的波形、頻譜圖、Mel 頻譜圖,本質上都屬於連續數值表示;而離散 token 的新意在於,它讓聲音開始可以像文字一樣,被寫成一串有限符號構成的序列。這樣一來,模型就不只是分析聲音,而是可以像處理語言一樣,學習聲音的結構與生成規律。
這條路線的關鍵推力,來自於神經音訊編解碼器(neural audio codec),如 SoundStream(Zeghidour et al., 2021)與 EnCodec(Défossez et al., 2022)。這類系統不再只是做傳統意義上的訊號壓縮,而是先用神經網路把原始波形轉換成更緊湊的內部表示,再把這個表示進一步轉成有限集合中的離散符號。這些符號依序排列,就形成所謂的音訊 token 序列;而另一端的解碼器,則根據這串 token 盡可能把原來的聲音重建回來。
這裡最核心的技術之一,是向量量化(vector quantization, VQ)。它的基本想法可以這樣理解:假設編碼器已經把聲音壓縮成一系列小向量,每個向量都代表某一小段音訊的局部特徵;但這些向量仍然是連續的,數值可以無限細緻地變動。向量量化要做的事,就是不再直接保留這些連續向量,而是從一個預先學好的「碼本」(codebook)中,替每個向量找到最接近的一個代表向量。於是,系統真正記下來的,就不再是原本的連續數值,而是「它對應到碼本中的第幾個向量」這個索引編號。這些索引本身,就是離散 token。
如果只做一次量化,通常難以保留足夠的聲學細節,因此許多系統進一步使用多層殘差向量量化(Residual Vector Quantization, RVQ)。它的想法是分階段逼近。第一層先抓住最主要、最粗略的聲音資訊;接著比較這一層重建後的結果與原始表示之間還差多少,將這些剩餘的誤差交給第二層去補;如果第二層之後仍有殘差,再交給第三層、第四層。如此逐層修正,前面的 token 負責描述聲音的大輪廓,後面的 token 則逐步補上更細微的聲學資訊。這種做法的好處,是在維持離散表示的同時,仍然能夠盡量保住音質與細節。
為什麼這個技術如此重要?因為語言模型最擅長處理的,就是離散符號序列。文字有 token;如果聲音也能被穩定地表示為 token,那麼許多原本為語言而設計的 Transformer 架構,就能直接遷移到音訊理解與音訊生成任務上。也就是說,離散音訊 token 扮演了一座橋樑:它把原本連續、高維、難以直接套用語言模型的聲音,轉換成可由大型序列模型統一處理的符號流。
這正是 AudioLM、VALL-E、MusicGen 等系統的重要基礎概念。當聲音可以 token 化之後,我們便能像處理文字一樣處理音訊:預測下一個 token、學習長程依賴、進行條件生成,甚至把文字 token 與音訊 token 放進同一個整合式模型中。換句話說,離散音訊 token 的出現,不只是表徵技術的一次更新,而是把聲音資料重新放進「序列建模」與「生成建模」框架中的重要轉折。
當然,使用離散 token表徵方法 也不是沒有代價。量化本身就意味著資訊壓縮,因此可能在量化誤差;碼本設計、殘差層數與重建品質之間,也必須做工程上的權衡。更進一步說,文字 token 通常對人類具有相對明確的語義可解釋性,但音訊 token 並不直接對應固定的音素、音符,或某個人類容易命名的聲音單位。它們更像是模型為了有效重建聲音而自動學出的離散編碼。因此,離散 token 一方面讓聲音得以進入語言模型的世界,另一方面也把聲音表示推向一種更抽象、也更不透明的形式。
但從整體趨勢看,這個方向打開了一個極其重要的可能性:讓聲音生成不再只是專門的聲學系統,而能被納入更一般性的序列建模與多模態生成框架之中。後面幾章所要討論的音訊語言模型,正是在這個轉折點上迅速發展起來的。
本章小結
本章的核心任務,是建立後續整本書所依賴的表徵基礎。我們首先看到,聲音在物理上是壓力隨時間的連續變化;波形是其最原始的時間域表示。接著,透過傅立葉分析與短時傅立葉轉換,我們學會了從時間域走向頻率域,並以頻譜圖的形式同時掌握時間與頻率結構。之後,我們又進一步理解聲音如何經由取樣、量化與編碼,從連續的類比世界進入電腦可處理的數位世界。
在這個過程中,一個非常重要的觀念逐漸浮現:AI 並不是直接理解「聲音」,而是理解某種表徵。模型實際接觸到的,可能是原始波形,也可能是頻譜圖、Mel 頻譜圖、MFCC,或離散音訊 token。每一種表徵都不是單純的格式差異,而是對聲音資訊的一種重組與取捨。表徵選擇得不同,模型所面對的學習問題就會不同,系統的優勢與限制也會跟著改變。
如果要把本章壓縮成一句最重要的結論,那就是:表徵的選擇不是中性的技術細節,而是整個聲音 AI 系統設計的起點。選擇波形,代表保留全部細節但承擔極高的學習與推論成本;選擇 Mel 頻譜圖,代表接受某種有損壓縮,以換取更貼近感知且較容易學習的中介表示;選擇離散 token,則代表我們希望進一步把聲音帶入大型序列模型與多模態生成的框架中。
下一章將在此基礎上,進一步回答另一個更深的問題:即使我們已經為聲音選定了一種表徵,模型又是如何從這些表徵中學到更高層次的結構?換句話說,AI 如何從可觀測的聲音資料中,提取出語者、情緒、語意、風格與可控生成所依賴的潛在表示?這將把我們帶入表示學習(representation learning)與潛在空間(latent space)的討論。
參考文獻
Borsos, Z., Marinier, R., Vincent, D., Kharitonov, E., Pietquin, O., Sharifi, M., Roblek, D., Teboul, O., Grangier, D., Tagliasacchi, M., & Zeghidour, N. (2023). AudioLM: A language modeling approach to audio generation. IEEE/ACM Transactions on Audio, Speech, and Language Processing, 31, 2523–2533. https://doi.org/10.1109/TASLP.2023.3288409
Copet, J., Kreuk, F., Gat, I., Remez, T., Kant, D., Synnaeve, G., Adi, Y., & Défossez, A. (2023). Simple and controllable music generation. In Advances in Neural Information Processing Systems (NeurIPS 2023), 36, 47704–47720.(arXiv 預印本:arXiv:2306.05284)
Davis, S., & Mermelstein, P. (1980). Comparison of parametric representations for monosyllabic word recognition in continuously spoken sentences. IEEE Transactions on Acoustics, Speech, and Signal Processing, 28(4), 357–366.
Défossez, A., Copet, J., Synnaeve, G., & Adi, Y. (2022). High fidelity neural audio compression. arXiv preprint arXiv:2210.13438.
Donahue, C., McAuley, J., & Puckette, M. (2019). Adversarial audio synthesis. In Proceedings of the International Conference on Learning Representations (ICLR).
Griffin, D., & Lim, J. (1984). Signal estimation from modified short-time Fourier transform. IEEE Transactions on Acoustics, Speech, and Signal Processing, 32(2), 236–243.
Mehri, S., Kumar, K., Gulrajani, I., Kumar, R., Jain, S., Sotelo, J., Courville, A., & Bengio, Y. (2017). SampleRNN: An unconditional end-to-end neural audio generation model. In Proceedings of the International Conference on Learning Representations (ICLR).
Nyquist, H. (1928). Certain topics in telegraph transmission theory. Transactions of the American Institute of Electrical Engineers, 47(2), 617–644.
Ren, Y., Hu, C., Tan, X., Qin, T., Zhao, S., Zhao, Z., & Liu, T.-Y. (2021). FastSpeech 2: Fast and high-quality end-to-end text to speech. In Proceedings of the International Conference on Learning Representations (ICLR).
Shannon, C. E. (1949). Communication in the presence of noise. Proceedings of the IRE, 37(1), 10–21.
Stevens, S. S., Volkmann, J., & Newman, E. B. (1937). A scale for the measurement of the psychological magnitude pitch. Journal of the Acoustical Society of America, 8(3), 185–190.
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, C., Chen, S., Wu, Y., Zhang, Z., Zhou, L., Liu, S., Chen, Z., Liu, Y., Wang, H., Li, J., He, L., Zhao, S., & Wei, F. (2023). Neural codec language models are zero-shot text to speech synthesizers. arXiv preprint arXiv:2301.02111.
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).
Zeghidour, N., Luebs, A., Omran, A., Skerry-Ryan, R. J., & Tagliasacchi, M. (2021). SoundStream: An end-to-end neural audio codec. IEEE/ACM Transactions on Audio, Speech, and Language Processing, 30, 495–507.















