語音AI技術演進軌跡 — 從模仿人類開始
從很多幻想作品中,我們觀察到,人們之所以對人工智慧不由自主地抱有想像、產生需求,很可能就是為了保留人類技能、思維、藝術、知識.... [1];簡單的說,我們不知為何就是好想要「訂做一個他」[2]。在爬梳語音AI技術的演進過程中,同樣也可以歸納出類似的結論:大部分的AI技術,都是先從研究人體運作機制開始,累積各種跨領域的學術證據後,得以立基、發展。
聲音的基本屬性
聲音是一種縱向波,對於現代大多數的人們,應該可以說是常識了。聲波藉由振動產生能量、推動介質(可能是空氣、水、或是某層地面)、介質之間層層傳遞能量,就像海浪一樣,最後聲音就推到了那隻正在傾聽的耳朵。
那麼,聲音又包含哪些屬性呢?有調音經驗、或做過共振實驗的朋友,應該使用過音叉,敲打音叉會發出單一音高的聲音,小力地敲比較小聲、敲大力就比較大聲……以圖一(左)說明,敲打力道代表所產生的能量大小、也就是振幅(Amplitude)。而這支音叉只能製造出固定長度的波,如果要做出不同長度的波,就要拿別支音叉來敲打。通常,我們會使用「頻率」來表示某支音叉的音高,單位赫茲(Hertz, Hz)的定義[3]是:一秒產生多少個波。如果我們同時敲打四支不同頻率的音叉,製造出來的波形就差不多會像是圖一(右)這樣,不是很規則、亂亂的。順帶一提,圖一(右)就是一個 C major和弦的波形。(這裡有聲音!)
圖一、(左)聲音是一種縱向波[4];(右)由四個不同頻率的正弦波疊加起來的波形,聽起來就是C major和弦。
人類耳朵、與基本音訊處理
那麼,人們怎麼「聽到」、「分辨」這個 C major 的和弦呢?藉由生理學、心理學、解剖學、物理學、…歸納這些針對人類聽覺感官相關的研究,可以確立以下事實(請搭配圖二想像一下):
圖二、人類耳朵的構造[5]。
- 聲音能量波從外耳進來,敲打耳膜(Eardrum),將能量傳進中耳。透過三個小聽骨:鎚骨(Malleus)、砧骨(Incus)、鐙骨(Stapes)。
- 人體可微調音訊的能量。它們在聽覺中所扮演的角色,堪比我們熟悉的擴大機(Amplifier),把從耳膜接收到的訊號再放大。
- 耳蝸(Cochlea)就是一個人體版的濾波器組(Filter bank),最靠近耳蝸基底的部分,對較高的頻率有反應;最靠近其頂點的區域,對較低的頻率有反應。這裡獲得不同區位的反應,在此後透過後端的聽神經,傳至大腦中樞。
這些在人類聽覺機制、感知過程中的研究,又對AI語音處理技術有哪些啟發呢?
聲音分析,說穿了,就是搞清楚「這一堆疊在一起的波形資料、究竟有哪些?」的問題。但相較在時間軸的向度、去觀察音訊,大多時候,把音訊進行頻率分析後,能夠獲得更多關於此聲音的有用資訊,也更貼近人類耳朵的聽覺現象。眾所周知的頻率分析方法之一,就是傅立葉轉換。圖三是拿上圖一(右)疊和的波形,做快速傅立葉轉換後的視覺化結果。我們可以看到這個聲音是由哪些頻率、以及各是多少樣本、所疊加起來的。
圖三、對圖一(右)中的疊加音訊,做快速傅立葉轉換。可以比對一下疊加前的音源資訊,頻率都有對應到喔!
圖四、用Praat進行基本分析及視覺化結果[6]。(上)Zero的語音(下)Nine的語音。
當然,人們所講的話語,具有更多有意思的特徵,例如:基礎頻率(音高)、共振峰、音質/音色、話語的發音……現今都有方便的工具可做初步分析,例如圖四所展示的一款應用程式Praat,除了頻譜分析以外,上述提到的特徵,它也都能快速取得。
對我們人類大腦來說,早已習慣這些聲音、以及各種屬性所傳達的意義。那麼,讓電腦記住這些資訊,是不是也就可以初步理解人類的話語了呢?
(如果有下集的話….那就待續….)
[1] https://iaic.nccu.edu.twai-column/15
[2] 此哏太老請勿拍打嘲笑:https://www.youtube.com/watch?v=3yn37Zsb1PM
[3] https://en.wikipedia.org/wiki/Hertz
[4] Huang, Xuedong, et al. Spoken language processing: A guide to theory, algorithm, and system development, p.21. Prentice hall PTR, 2001.
[5] Huang, Xuedong, et al. Spoken language processing: A guide to theory, algorithm, and system development, p.29. Prentice hall PTR, 2001.