前几天有一段音频火遍了全世界:
正如那条蓝黑白金裙子一样,不同的人从中听出了 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。
经过这两种处理的声音可以在这里试听:
- 原始音频:http://www.cs.cmu.edu/~yunwang/demo/yanny-or-laurel/yanny-or-laurel.wav
- 升高 5 个半音的音频:http://www.cs.cmu.edu/~yunwang/demo/yanny-or-laurel/yanny-or-laurel.pitch+5.wav
- 去除了高频段的音频:http://www.cs.cmu.edu/~yunwang/demo/yanny-or-laurel/yanny-or-laurel.bandstop.wav
来源:知乎 www.zhihu.com
作者:王赟 Maigo
【知乎日报】千万用户的选择,做朋友圈里的新鲜事分享大牛。
点击下载