Message Boards Message Boards

Yanny or Laurel? You decide!

Posted 7 years ago

Recommendation: If you like this post, be sure to also check out this, even better, post!

The new gold or blue internet debate is about a new audio clip which sounds like Yanny to some people and Laurel to others. Various explanations have been given such as the audio quality of your headset or speakers and the age of the person listening (with the hypothesis that older people have trouble hearing the higher frequencies of the recording and therefore hear something else than younger people).

So let's take a listen to the audio in question. Here it is: yanny-laurel.mp4

When I play this on my desktop computer with my headset, I hear Yanny. However, listening to the same audio on my phone speaker I hear Laurel, so the audio characteristics of the rendering device do play a role.

Now let's experiment in the Wolfram Language with this audio file. This will Import the file:

audio = Import["yanny-laurel.mp4"]

The output is an interactive audio control, which lets you play the sound:

enter image description here

You can take a look at the Spectrogram of the audio, to see the frequency distribution over time:

Spectrogram[audio]

enter image description here

This makes it visually clear that the utterance (Yanny or Laurel) is repeated once in the file.

You can change the pitch of the audio with AudioPitchShift, which either compresses or stretches the frequencies by a factor 'r':

audios = Table[AudioPitchShift[audio, r], {r, 0.5, 1.5, .1}]

enter image description here

If you listen to the compressed audio, you end up hearing Yanni, but the stretched audio sounds like Laurel.

We can join the audio snippets together with AudioJoin, so we can listen to them in sequence (forward or in reverse):

a1 = AudioJoin[audios];
a2 = AudioJoin[Reverse[audios]];

Here are the two files: a1.wav and a2.wav

Interestingly enough, if you listen to a1.wav (compressed to stretched) it starts out sounding like Yanni almost to the end, but if you listen to a2.wav (stretched to compressed) it starts out sounds like Laurel almost to the end! The human brain seems to want to cling to what it heard just previously, so the context of what you hear matters (a lot)!!!

Attachments:
POSTED BY: Arnoud Buzing
2 Replies

enter image description here - Congratulations! This post is now a Staff Pick as distinguished by a badge on your profile! Thank you, keep it coming! There is also a parallel discussion: Perfect Pitch - Yanny or Laurel? New York Times published an explanatory piece: We Made a Tool So You Can Hear Both Yanny and Laurel

POSTED BY: EDITORIAL BOARD
Posted 7 years ago

Interesting post, Arnoud! It was odd to me that the pitch shift changed what word it sounded like he was saying. When I originally listened to the recording, if I focused on the lower frequencies I could hear "laurel" but focusing on the higher frequencies I heard "yanny". I first tried to see if I could get rid of the higher frequency noise and preserve more of the original voice with a low pass filter.

yl = Import["~/Downloads/yanny-laurel.mp4"]
lpyl = LowpassFilter[yl, Quantity[500, "Hertz"]];
Spectrogram[lpyl]

enter image description here

Then (by trial and error) I tried to filter off the high frequencies, and got some faint sounds, amplified it, filtered it one more time for a little extra low pitched noise, and used a low pass filter to get rid of the noise from all the amplification and filtering. I can somewhat hear a muffled whisper of "yanny" and less of laurel, perhaps others more knowledgeable about signal processing could venture further down this path.

hpyl=LowpassFilter[HighpassFilter[AudioAmplify[HighpassFilter[yl,Quantity[8000,"Hertz"]],200],Quantity[8000,"Hertz"]],Quantity[10000,"Hertz"]];
Spectrogram[hpyl]

enter image description here

I wasn't satisfied with the high pass filtered answer since it wasn't distinct enough that is certainly where "yanny" is coming from, but I thought the low pass filtered result made it pretty clear the original speaker was saying "laurel". The most interesting result I found was that doing the same pitch shift adjustments you made on the low pass filtered recording, it only sounds like "laurel" whether sped up or sped down, which was convincing enough for me.

audios = Table[AudioPitchShift[lpyl, r], {r, 0.5, 1.5, .1}];
a1 = AudioJoin[audios];

I attached all the sound clips from above.

Attachments:
POSTED BY: Sean Cheren
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract