10978 Yanny 還是 Laurel?共振峰騙了你

10978 Yanny 還是 Laurel?共振峰騙了你

來自專欄 松鼠的窩

  前幾天有一段音頻火遍了全世界:

Yanny or Laurel? - Wikipedia?

upload.wikimedia.org

  正如那條藍黑白金裙子一樣,不同的人從中聽出了 Yanny 和 Laurel 兩個迥異的詞,且都無法說服對方。我聽這段音頻的感覺是:初聽的時候感覺毫無疑問是一個小男生在說 Yanny;多聽幾遍後,感覺 Yanny 背後隱藏著一個特別低沉、甚至有點像豬哼哼的聲音,努力把精神集中到這個聲音上,聽出了 Laurel。你的感覺如何呢?

  這段音頻是由 64 歲的 Jay Aubrey Jones 上傳到 vocabulary.com 網站上的,目的是示範 Laurel 一詞的發音 [1]。所以,「標準答案」毫無疑問是 Laurel 了。但許多人把它聽成 Yanny,必然是有原因的。這個原因可以用一句話概括:由於說話人發音低沉,人們容易把第三共振峰錯當成第二共振峰。

  本文剩下的部分,就將通過分析這段音頻的語譜圖(spectrogram),詳細解釋錯覺的成因。由於在網上很難找到深入的語音學資料,有一部分論據我不是很確定,但我覺得至少可以支撐我的結論。如果你對語音學有研究,也歡迎補充。

一、基礎知識:語譜圖與共振峰

  語譜圖是一種把聲音可視化,方便觀察和分析的手段。它由聲音波形經短時傅里葉變換得來的,其橫軸是時間,縱軸是頻率,顏色表示能量的強弱。事實上,聲音進入人耳後,耳蝸也會對聲音進行類似於短時傅里葉變換的處理,所以人們能分辨出的聲音,在語譜圖上也往往會顯示出特定的模式。

  上圖就是「Yanny or Laurel」音頻的語譜圖。它的橫軸範圍為 0 至 0.835 秒,縱軸範圍為 0 至 8000 赫茲,越亮的顏色代表能量越高。圖上有兩種比較明顯的模式:一是細線,比如在 0.3 秒附近的低頻段內就能分辨出五條細線;二是粗線,比如在 1 kHz 至 3kHz 頻段內,就有一條明顯的先下降、後上升的粗線。在語音中,母音(如 [a]、[i]、[u])、半母音(如 [j]、[w]),以及輔音中的鼻音(如 [m]、[n])、近音(如 [l]、[r])都會呈現出這兩種模式;輔音中的塞音(如 [b]、[t])和擦音(如 [f]、[s])則會呈現出其它模式。好在本文涉及的 Yanny 和 Laurel 兩個詞全由第一類音素組成,所以我們可以忽略第二類音素。

  在上面兩種模型中,每一條細線代表語音的一個諧波(harmonic),諧波的間距就是語音的基頻,即人們感受到的音高 —— 間距越大,則音調越高。每一條粗線則代表一個共振峰(formant),它的位置是由口腔和鼻腔的形狀決定的,各種母音、半母音、鼻音、近音都有自己典型的共振峰頻率。造成 Yanny 和 Laurel 這一錯覺的元兇,就是共振峰。

  一般來講,從語譜圖上能看到大約 4 個共振峰,一般人們只著重研究頻率最低的 2 個或 3 個。第 n 個共振峰的頻率簡記作 Fn。母音的共振峰的決定因素研究得比較充分,結論如下:

  • 第一共振峰的頻率由開口度決定,開口越大,F1 越高;
  • 第二共振峰的頻率由舌位的前後決定,舌位越靠前,F2 越高;
  • 第三共振峰的頻率由圓唇與否決定,圓唇時 F3 更低。

  有的讀者可能見過下面這張母音音標圖。它的兩個軸其實就大致代表了 F1 和 F2。從這個圖上可以看出各種母音的 F1、F2 的特點,比如 [a] 的 F1 高,F2 也較高;[i] 的 F1 低,而 F2 很高。

  對於輔音中的鼻音、近音共振峰的研究資料則相對難找一些,但一個特別明顯的結論:[r] (英語中那種,不是顫音)會明顯降低 F3。

  當然,共振峰的頻率還與說話人本身有關。一般而言,女性的共振峰高於男性,兒童的共振峰高於成人。

二、對「Yanny or Laurel」的分析

  下面我們可以開始分析 Yanny or Laurel 了。

  Yanny 的音標為 [j?ni],其中半母音 [j] 和母音 [i] 差別不大,所以可以看成是 [i]、[?]、[n]、[i] 四個音素。Laurel 的音標為 [l?r?l],中間的 [?] 可有可無,所以可以看成是 [l]、[?]、[r]、[l] 四個音素。由此我們發現,兩個單詞都可以分成四個音素,且首末兩個音素相同。

  引起錯覺的音頻也可以分為四段,分別對應四個音素,如下圖所示。為了敘述方便,我把頻率軸也分成了三段:1.3 kHz 以下稱為「低頻段」,1.3 ~ 3.3 kHz 稱為「中頻段」,3.3 ~ 5 kHz 稱為「高頻段」。5 kHz 以上的能量很低,可以忽略。

  解釋錯覺的關鍵,在於第二個音素的低頻段。按照標準答案,這裡的音素應該是 [?]。從母音圖上可以看出,[?] 的 F1 中等偏高,而 F2 很低。事實上,在語譜圖上,這兩個共振峰常常糊在一起,分辨不出來。「Yanny or Laurel」這段音頻的發音人是一位 64 歲的男性,他的聲音特別低沉,這讓 [?] 的 F1 和 F2 更難分辨。在上圖中,從第二個音素到第三個音素的過渡告訴我們,低頻段其實是有兩個共振峰的;但如果只看第二個音素那一段,確實容易誤認為是一個共振峰。既然低頻段有兩個共振峰,那麼中頻段的那條粗線,自然就應該是第三共振峰了。第三個音素的這個共振峰顯著降低,也符合 Laurel 一詞中 [r] 的發音特點。

這裡有一個我解釋不了的問題:[l] 音的第二共振峰哪裡去了呢?

  那麼認為音頻內容是 Yanny 的人,是怎麼聽錯的呢?這還是由於發音人聲音太低沉的緣故。在 Yanny 派聽來,發音人的第三共振峰太低了,以至於落入了第二共振峰應該在的頻段。不僅如此,這段音頻的高頻段還有不小的能量。我不確定這些能量是來自第四共振峰,還是錄音時混入的雜訊,但這個聲音落在了 Yanny 派認為的第三共振峰應該在的頻段,於是這更讓他們覺得中頻段的聲音是第二共振峰了。

  如果把中頻段的聲音當成第二共振峰,那麼確實就能從語譜圖上看出 Yanny 來。在第一、四個音素處,低頻段和中頻段的共振峰之間的間隙很大,這恰好符合 [i] 音 F1 低、F2 高的特點。在第二個音素處,低頻段的共振峰頻率升高,中頻段的共振峰頻率降低,這也符合從 [i] 到 [?] F1 升高、F2 降低的變化。不僅如此,[i]、[?] 兩個音的 F3 也都與 F2 比較接近,高頻段的雜訊也符合這一特點。

這裡有另一個我解釋不了的問題:為什麼 Yanny 派會把中頻段共振峰的下降聽成 [n]?

  那麼,如何讓 Yanny 派聽出 Laurel 呢?有兩個辦法:一是用「變調不變速」升高音頻的音調。這一操作會同比例地改變基頻和共振峰的頻率,所以可以把中頻段的共振峰升高到第三共振峰的典型頻率。我的經驗是,升高 5 個半音之後,就聽不出 Yanny 了,而是原來說 Yanny 的那個年輕的男聲在說 Laurel。二是用一個帶阻濾波器把高頻段濾掉。上文說過,Yanny 派聽錯的一個原因就是把高頻段的聲音當成了 F3,同時也就只能把中頻段的聲音當成 F2 了。排除高頻段的聲音的干擾,就有更大的可能性把中頻段正確地當成 F3。

  經過這兩種處理的聲音可以在這裡試聽:

  • 原始音頻:cs.cmu.edu/~yunwang/dem
  • 升高 5 個半音的音頻:cs.cmu.edu/~yunwang/dem
  • 去除了高頻段的音頻:cs.cmu.edu/~yunwang/dem

推薦閱讀:

TAG:錯覺 | 頻譜分析 | 語音學 |