大家可能都有過這樣的經(jīng)歷
聽到一段熟悉的旋律
但就是想不起它的歌名
這時(shí)候打開聽歌識(shí)曲功能
幾秒鐘后
對(duì)應(yīng)的歌曲就出現(xiàn)在了屏幕上
這個(gè)功能是怎么做到
在如此短的時(shí)間內(nèi)準(zhǔn)確識(shí)別出歌名的?
音頻指紋是識(shí)別歌曲的關(guān)鍵
聽歌識(shí)曲的關(guān)鍵就在于音頻指紋(Audio Fingerprinting)。就像人的指紋是獨(dú)一無二的,每首歌也有自己獨(dú)特的指紋,音頻指紋就是音頻信號(hào)的數(shù)字DNA。它的生成過程大致可以分為以下幾個(gè)步驟:
音頻信號(hào)數(shù)字化
音樂識(shí)別的第一步就是“聽”聲音。但機(jī)器是怎么“聽”到歌的呢?聲音本質(zhì)上是一種振動(dòng),被人耳接收后,人耳會(huì)把這種振動(dòng)通過耳膜等組織傳導(dǎo)為大腦能識(shí)別的信號(hào)。機(jī)器聽歌的原理也類似,它把聲音的振動(dòng)轉(zhuǎn)化為電信號(hào),再把電信號(hào)轉(zhuǎn)變成計(jì)算機(jī)可處理的數(shù)字信號(hào)。
現(xiàn)實(shí)世界中的聲音是模擬信號(hào),是連續(xù)的(好比是一條線),而計(jì)算機(jī)要處理的則是數(shù)字信號(hào),是離散的(好比是多個(gè)點(diǎn)),所以,需要通過采樣,把連續(xù)的聲音波形轉(zhuǎn)化為離散數(shù)字信號(hào)。采樣率決定了信號(hào)的捕捉效果,采樣率越高,點(diǎn)越密集,原始聲音被保留得越完整。
特征提取轉(zhuǎn)換后的數(shù)字化信號(hào)接下來會(huì)被送到音頻處理模塊,進(jìn)行聲音的特征提取,包括從時(shí)域轉(zhuǎn)換到頻域,特別是通過傅里葉變換(一種數(shù)學(xué)變換算法),將連續(xù)的音頻信號(hào)分解為不同頻率的分量。
時(shí)域信號(hào)是最直接的聲音表現(xiàn)形式(也就是我們通常在錄音軟件中看到的波形圖),而頻域信號(hào)則能夠反映出聲音中包含的頻率成分。在頻域分析之后,得到的頻譜圖能夠讓音頻的特征信息變得可視化。頻譜圖記錄了歌曲每一秒的頻率和振幅,很直觀地向我們展示了信號(hào)中哪些頻率在什么時(shí)候出現(xiàn),它們的強(qiáng)弱關(guān)系如何。
音頻指紋生成
基于頻譜圖的特征,就能夠得到音頻指紋,音頻一般會(huì)被拆分成若干小塊,提取音頻中的顯著頻率峰值,每個(gè)片段的峰值組合就形成了整首歌的音頻指紋。
通常情況下,不同的頻率范圍會(huì)被分別處理,這樣能夠確保對(duì)低音、中音和高音的均衡分析,避免混淆或漏掉某些音樂元素。
每首歌都會(huì)被轉(zhuǎn)換為一個(gè)獨(dú)特的音頻指紋,所以,就算是同一首歌的不同版本也會(huì)因?yàn)轭l率、振幅和時(shí)間上的差異而生成不同的指紋,以確保后續(xù)最精準(zhǔn)的匹配。
最后,當(dāng)我們有了一首歌的“指紋”后,接下來要在已有的歌曲數(shù)據(jù)庫中找到與它匹配的指紋,以識(shí)別出具體的歌曲。聽歌識(shí)曲技術(shù)會(huì)將每段音頻指紋轉(zhuǎn)換成哈希值(一種編碼),因?yàn)橄噍^于比較整段音頻,直接比較哈希值要快得多。軟件會(huì)將用戶錄音的指紋與數(shù)據(jù)庫中的指紋哈希值比對(duì),找到相匹配的歌曲。
音頻指紋的其他用處
音頻指紋技術(shù)除了能用來聽歌識(shí)曲,還可以應(yīng)用在這些方面:
1.個(gè)性化音樂推薦
特征提取和匹配技術(shù)也為個(gè)性化音樂推薦提供了基礎(chǔ)。推薦系統(tǒng)根據(jù)音樂的旋律、節(jié)奏、情感等特征來挖掘用戶的喜好,不僅提高推薦的準(zhǔn)確性,而且能為用戶發(fā)現(xiàn)更多與其品味相符的音樂。
2.版權(quán)檢測、保護(hù)
音頻指紋技術(shù)還可以用于版權(quán)的檢測和保護(hù),例如檢測媒體庫內(nèi)是否有內(nèi)容相同的歌曲,檢測用戶上傳的視頻、音頻是否有侵權(quán),是否未經(jīng)授權(quán)使用了某首歌曲。
3.音頻播放監(jiān)測
再比如當(dāng)廣告商需要監(jiān)測電視或廣播是否有按時(shí)、按次數(shù)地播放了廣告,電臺(tái)可以用此項(xiàng)技術(shù)來監(jiān)測、統(tǒng)計(jì)。