秒速识歌!听歌识曲App的算法黑科技:音乐指纹全

mysmile 86 0
秒速识歌!听歌识曲App的算法黑科技:音乐指纹全

嘿,你是不是也常遇到这种场景?在商场闲逛、咖啡厅小憩,甚至健身房挥汗时,一段旋律突然抓住耳朵,却死活想不起歌名?

或者,一段熟悉的节奏在脑海盘旋,歌名就像和你捉迷藏?

别急,听歌识曲功能瞬间救场!只需几秒录制,歌手和歌名立马精准现身屏幕。

但你想过吗?听歌识曲软件如何在嘈杂环境中,秒速锁定那首歌?

今天,我们就一起揭开这背后的神奇算法!

1. 声音采样:音频数字化

识曲第一步,机器如何“听”声音?先看声音本质:

声音本质是一种振动,通过空气等介质传播。

人耳将其转化为大脑信号,机器则转化为电信号,再变成计算机处理的数字信号——这就是采样。采样率越高,声音还原越完整。下图展示了采样率由低到高的效果。

秒速识歌!听歌识曲App的算法黑科技:音乐指纹全

根据 Nyquist-Shannon 定理,为捕捉人耳可听频率(20Hz - 20,000 Hz),采样率需达两倍,故常用 44,100 Hz。

采样只是起点,我们还需提取声音特征,转化为可识别模式。

2. 声音特征提取:从时域到频域

识曲软件首先捕捉音频的时域信号,即波形图,显示振幅随时间变化。

但时域信号难显频率成分,因此需转换到频域。

傅里叶变换(Fourier Transform)正是利器,将时域信号分解为不同频率正弦波叠加。19世纪初,傅里叶发现任何复杂信号都可分解为简单正弦波组合。

秒速识歌!听歌识曲App的算法黑科技:音乐指纹全

下图展示傅里叶级数将1 Hz方波分解为频域正弦波组合,呈现各频率成分和振幅。

秒速识歌!听歌识曲App的算法黑科技:音乐指纹全

音乐分析常用离散傅里叶变换(DFT)处理数字信号,但计算量大。快速傅立叶变换(FFT)作为优化算法,以分而治之策略加速处理,广泛应用于音频分析等领域。

通过傅里叶变换,音频从时域转入频域,频谱图则进一步可视化这些信息。

3. 频域信息的可视化:频谱图

频谱图是音频的“心电图”,记录时间、频率和强度三维信息,直观显示何时出现何频率及其强弱。歌曲特征提取就在这心电图中找最明显跳动。

秒速识歌!听歌识曲App的算法黑科技:音乐指纹全▲ 图 / researchgate

上图典型频谱图:X轴时间,Y轴频率,颜色深浅表振幅。

频谱图含独特频率信息,识曲软件如何提取并比对?

4. 音频指纹:提取频率特征

识曲关键在音频指纹——歌曲的数字DNA,独一无二。

提取流程:音频分块,提取显著频率峰值,各片段峰值组合成整首歌指纹。

下图展示语音文件各区段频谱图峰值示例,这些峰值点即音频指纹核心。

秒速识歌!听歌识曲App的算法黑科技:音乐指纹全

▲ 图 / researchgate

不同频率范围分别处理,确保低中高音均衡分析。每首歌生成独特指纹,即使不同版本也因频率、振幅和时间差异而不同,保证精准匹配。

5. 在数据库中寻找匹配:哈希表与高效匹配

有了“指纹”,下一步即在歌曲数据库匹配。识曲技术将音频指纹转为哈希值(一种编码),加速数据库查找。软件比对准录音指纹与数据库哈希值,找到匹配歌曲。

下图展示从音频信号提取特征到生成哈希值的完整流程:

秒速识歌!听歌识曲App的算法黑科技:音乐指纹全

▲ 图 / Wang,A.L.-C. (2003). An Industrial-Strength Audio Search Algorithm,Shazam

A. 音频信号频谱图,显频率随时间变化

B. 提取峰值,形成星座图(连最显著频率点如星座)

C. 锚点与目标区域点配对,记录频率和时间差生成组合哈希

D. 生成哈希值,用于音频匹配与识别

算法还考量时间差,比对准录音片段与数据库歌曲时间偏移,确保任意片段精准识别。

总结识曲app秒速流程:

Step1: 采样获取录制音频片段

Step2: 快速傅里叶变换转换时域到频域

Step3: 频谱图提取关键峰值作歌曲指纹

Step4: 数据库匹配:哈希值比对找指纹匹配歌曲

Step5: 返回结果:匹配成功即反馈歌曲信息。

6. 其他广泛应用

如今,音乐识别应用丰富多元:从版权监控、检测采样相似度,到追溯流派起源。特征提取匹配技术更是个性化推荐基础——深度学习分析音乐情感、风格,挖掘用户喜好,提升推荐准度。

技术正从纯音频识别拓展到多模态识别,综合音频、视频、歌词等,提高准确性。

现在你明白了吧?下次听到神秘旋律,别犹豫,立刻打开识曲App体验这算法魅力!试试在不同场景——街头、车内、派对中识别,感受科技如何解码音乐指纹。

参考资料:

[1]Shazam Wang, A. (2003). An Industrial Strength Audio Search Algorithm.

[2]https://www.hollyland.com/blog/tips/what-is-sample-rate-in-audio

[3]https://www.ifm.com/de/en/shared/technologies/real-time-maintenance

[4]https://dewesoft.com/blog/guide-to-fft-analysis

[5]https://www.techaheadcorp.com/blog/decoding-shazam

[6]https://studyelectrical.com/2023/05/frequency-domain-analysis.html

转载内容仅代表作者观点

不代表中科院物理所立场

如需转载请联系原公众号

来源:DataCafe

编辑:小咕咕

相关问答

怎么听歌识曲?

一般歌曲歌谱和乐曲组成,而乐曲由节拍调式及调性决定。节拍一般是指多少分音符为一拍,每小节为几拍,在曲子左上方标出,如1/2、3/4等。调式是指乐曲的“dou...

如何听歌识曲?

其实音乐软件应该都是可以进行听歌识曲的,这里以酷狗音乐为例子,首先先点开酷狗音乐,点击上方的麦克风标志,点击听歌识曲,随机点开一个歌曲,两个手机放在一...

听歌识曲功能的实现原理-ZOL问答

就像一串专属的识别码。例如,一首歌的指纹可能是1234567890,当播放其中一段2345678时,系统就能识别出这是哪首歌。借助降噪和容错等技术,即便环境嘈杂或播放质量...

听歌识曲是什么原理,为什么只有旋律也可以识别出来?

题意有些含糊不明确,我按我的理解作答。把听到的歌曲或器乐曲(单旋律乐曲,不是交响乐)记录成谱,音乐术语叫记谱,也称翻谱,这对于不识谱或刚识谱的人来说...题意...

全民k歌怎么听歌识曲?

全民k歌可以通过以下方法进行听歌识曲。首先,打开全民k歌应用,在首页上拉一下,进入听歌模式。然后,选择想要识别的歌曲进行播放,等待几秒钟应用程序就会自...

网易云音乐肿么听歌识曲网易云音乐听歌识曲使用方式-ZOL问答

1、听歌识曲是现在各大音乐都有的功能,音乐也具有这个功能。2、音乐本身就带听歌识曲桌面插件,所以只要在桌面设置里找到他移动到桌面就可以了。3、首先,回到...

如何自己哼歌识别歌曲?

2.打开软件之后,在手机屏幕的右上角,我们会发现有一个加号“+”。点击它。3.点击“+”加号按钮之后,在弹出的小菜单中,我们看到有一个“听歌识曲”选项。点...

听歌识曲功能体现了哪项技术?

听歌识曲功能体现了语音识别技术。因为听歌识曲功能可以将用户所唱的歌曲通过录音转化成文字,再与已有的歌曲库进行匹配,最终找出歌曲的名称和演唱者。这需要...

怎么听歌识曲,知道歌曲的名字?

QQ音乐之类的音乐软件都有听歌识曲的功能,点开对着声源就好了QQ音乐之类的音乐软件都有听歌识曲的功能,点开对着声源就好了

怎么用蓝牙耳机听歌识曲?

打开音乐APP,播放音频即可打开音乐APP,播放音频即可