利用GNURadio让你听到Laurel和Yanny的声音
GNURadio能让你听到Laurel和Yanny
今天感觉工作效率太高不舒服?我有个解决方案,涉及网络迷因和信号处理。花几分钟时间,和Laurel、Yanny以及GNURadio一起消磨时光吧。
这个音频争议已经持续了几天,你可能已经对这段音频的解释争论感到厌倦。简而言之,有些人听这段音频时清楚地听到"Laurel",而另一些人则清楚地听到"Yanni"。虽然学术界尚未达成共识,但这似乎与音频的高低频分量有关。这让我立即想到如何使用GNURadio来处理声音,为听众生成两种不同的解释版本。
此时你可能在想两件事:"这家伙肯定有更好的事情要做"和"你不能用无线电软件处理音频!"。虽然我承认第一点,但你确实可以用GNURadio做这种事情。尽管GNURadio是为处理无线电信号设计的,但它实际上拥有大量通用信号处理能力,其中许多可以应用于任何你想处理的数字化信号——包括这个价值存疑的音频信号。
我构建了以下流程图来生成音频的三种不同版本:原始版本、Laurel化版本和Yanny化版本:
音频接收器(本质上是你的声卡)播放由选择器块选择的音频流,你可以通过QT GUI选择器进行控制。如果选择"Original"选项,你将听到原始WAV文件的未修改版本(对我来说这听起来非常像"Laurel",但如果你是那些疯狂的Yanny派...随你便)。
如果选择"Laurel"按钮,你将获得通过低通滤波器的音频流,该滤波器会移除高于4.5 kHz的频率。
最后,选择"Yanny"按钮会得到经过高通滤波的版本,移除了低于2 kHz的所有频率。这个版本的音频还会被Rational Resampler块稍微减慢,这只是为了让声音更清晰一些。
如果你想自己尝试,可以克隆我的项目:
https://github.com/paulgclark/laurel-yanny
你需要在机器上安装GNURadio,在Ubuntu系统上可以通过以下命令安装:
sudo apt-get install gnuradio
(这不会安装最新版本的GNURadio,但对这个项目来说已经足够新了)
然后进入laurel-yanny目录并输入:
gnuradio-companion laurel-yanny.grc
点击工具栏中的小播放按钮将运行流程图:
我发现当选择"Yanny"按钮并将高通滤波器截止频率向左移动时,"Laurel"声音变得更清晰。
向右移动则增强了我听到"Yanny"声音的能力。在中点时,我的大脑听觉解释实际上开始在两者之间来回切换。我甚至可以通过想象其中一个词来诱导大脑感知它。这真是太疯狂了。
*Paul Clark是Factoria Labs的所有者,该组织致力于推广软件定义无线电技术。你们中比较偏执的人可能会怀疑这篇文章只是一个诡计,目的是让你们开始使用GNURadio,看看它有多棒。
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)
公众号二维码