音訊指紋的演算法 飛利浦解決方案

2021-06-20 16:58:30 字數 3588 閱讀 2573

這個音訊指紋暫時用來做同源音訊聚類,判斷歌曲是否是同一源的,

這裡先介紹下飛利浦的方案-------a highly robust audio fingerprinting system,這個演算法是在他上面的優化,

:                      一段固定時間的音訊資訊,ts;

相鄰兩個幀:      兩個幀重疊時間域為 31/32,

通過能量差分的關係,求得相鄰音訊兩個幀(兩幀之間的重疊區域為31/32)之間的能量關係,產生指紋,這個音訊的特徵值就是兩幀之間的能量關係。

傅利葉變換成頻率資訊,把300 ---- 2000hz 頻率對映到33個頻率帶,計算各頻率帶的能量通過能量差分資訊變換成二進位制數。具體細節可以看**

a highly robust audio fingerprinting system,這個方案,是把相鄰幀之間的能量關係用來做為音訊的特徵。

大概步驟如下:

1.      提取一幀的音訊資訊

2.      加窗---漢寧窗

3.      fft,把振幅資訊轉成能量資訊,

4.      fft結果取絕對值

5.      把頻率在 300---2000,對映到33頻率bands,計算各個band 能量

6.與上一幀能量值比較產生子指紋

詳細說明

音訊實現實際上也是頻率資訊,每乙個取樣點記錄的是波形在該點的振幅,對於乙個音訊檔案來說,他的特徵是在頻率資訊上。我們分辨**是通過人耳來分辨的,耳朵聽到聲音實際上也是頻率資訊,在指紋演算法中也需要模擬人耳朵。

產生指紋前面幾步都沒有什麼要說的,都是些標準過程。從第5步才是說,如何把fft後結果對映到33個頻率帶中?需要模擬人的耳朵,人的耳朵對於頻率範圍在300---2000的聲音比較敏感,人耳對於聲音的鑑別主要集中在300 ---2000hz這個頻率段聲音的強弱等資訊來辨別,強弱資訊就是能力資訊,通過計算能量,來鑑別音訊資訊。

如何把300 --- 2000hz 對映到33個頻率帶了,根據 bark scale,耳朵聽到的頻率與實際的頻率並不完全一致,既然是模擬耳朵,需要按照人耳聽到的頻率來對映。我們根據300---2000hz 頻率bark值,平均分成33的頻率段,計算每個頻率段能量和。

我們得到33能量資訊,e[ 1....33 ],   e_ [ i ] = [ i + 1]   - e[ i ]; f[ n, m]表示第n幀,e_[  m ] 的值。

如果 f[ n, m]  ---   f[ n-1, m] > 0 第子指紋第m位 為1 ,否則 為0,這樣兩個幀的比較可以產生乙個32子指紋,乙個指紋由256指紋構成。

我們所要做的是音訊聚類,稍微做了一下修改,

**中3s音訊資訊可以產生乙個指紋,乙個指紋由256個子指紋構成,如果乙個音訊所有的時段都產生指紋無意會非常大。

對於音訊資訊,可能開始與結尾幾s都是空資訊,我們音訊選取中間的時間段生成指紋,在實驗中採用的指紋時間段為 85s----100s, 120 ---135s,這兩個時間段

產生指紋,建庫時候是這樣建的。進行歌曲匹配的時候,90--93產生乙個指紋,126s---129s引數乙個指紋,分別與85s----100s, 120 ---135s指紋庫匹配。

實驗結果

實驗的結果並不理想,識別率在98%左右,主要是兩個工作沒有做,第乙個就是濾波,第二個就是頻段的劃分,在實驗中我是 按照 bark scale 值平均分成33的頻率帶的,對於濾波,我只採取了 300--2000hz。

結果圖:後邊數字表示錯誤率,越小越好,閥門值是0.35,

beyond - 海闊天空-64.*** compare with  beyond - 海闊天空.***  bit error: 0.0565186 0.0698242

beyond - 海闊天空-64.*** compare with  o fortuna.***  bit error: 0.459351 0.443726

beyond - 海闊天空-64.*** compare with  鳳凰傳奇-荷塘月色.***  bit error: 0.461304 0.45166

beyond - 海闊天空-64.*** compare with  劉德華 - 冰雨.***  bit error: 0.455078 0.455811

beyond - 海闊天空-64.*** compare with  葉倩文 - 秋來秋去-64.***  bit error: 0.458496 0.444458

beyond - 海闊天空-64.*** compare with  葉倩文 - 秋來秋去.***  bit error: 0.455078 0.447876

beyond - 海闊天空-64.*** compare with  唐古 - 做你心上的人.***  bit error: 0.443604 0.443237

beyond - 海闊天空-64.*** compare with  女子十二樂坊 - 梁祝.***  bit error: 0.45752 0.4552

beyond - 海闊天空-64.*** compare with  孫燕姿 - 比較幸福.***  bit error: 0.452759 0.459961

beyond - 海闊天空-64.*** compare with  張學友 - 只想一生跟你走.***  bit error: 0.452637 0.434814

beyond - 海闊天空-64.*** compare with  王寧-傷不起.***  bit error: 0.462769 0.454346

beyond - 海闊天空-64.*** compare with  甄妮、羅文 - 鐵血丹心.***  bit error: 0.450928 0.455322

beyond - 海闊天空-64.*** compare with  貴妃醉酒.***  bit error: 0.459473 0.453735

beyond - 海闊天空-64.*** compare with  鄧紫棋 - 你把我灌醉.***  bit error: 0.442505 0.459351

beyond - 海闊天空-64.*** compare with  阿悄 - 哭笑不得.***  bit error: 0.458374 0.463623

beyond - 海闊天空-64.*** belong to :, beyond - 海闊天空.***

這裡記錄下用到的庫的一些api吧,可能以後有用

mpg123,***音訊解碼的庫,

mpg123_param (mh, mpg123_force_rate, outputrate, 0.0);  //設定音訊解碼後輸出pcm取樣率

mpg123_param(mh, mpg123_add_flags, mpg123_mono_left, 0.0); //設定解碼後pcm聲道;

fftw 小波變換庫,

指紋鎖應用解決方案

廣州微正智慧型科技 國內優秀的指紋識別模組廠家,推出指紋鎖應用整體解決方案。微正擁有自主智財權的指紋識別演算法mzfinger,依靠其技術上的優勢,其方案模組能夠實現指紋鎖的諸多功能 1.指紋解鎖功能 2.虛偽密碼功能 3.刷卡解鎖功能 4.語音播報功能 5.觸屏喚醒功能 7.使用者管理員功能 8....

教育場景下的實時音訊解決方案

本次分享將圍繞以下幾部分進行 下圖展示的是直播與點播的技術框架。互動直播伺服器會對這些資料做合成 推流處理,傳輸至融合cdn流 伺服器,由流 伺服器推送資料給 互動直播的普通觀眾。上圖展示的是實時音訊的簡單框架執行緒模型,這裡需要提醒的是,其中的解碼主要由客戶端完成,實時音的服務端不參加解碼而是把來...

jitter buffer QoS的解決方案

乙個分享webrtc的大神 qos出現的背景 而當網路發生擁塞的時候,所有的資料流都有可能被丟棄 為滿足使用者對不同應用不同服務質量的要求,就需要網路能根據使用者的要求分配和排程資源,對不同的資料流提供不同的服務質量 1 對實時性強且重要的資料報 文優先處理 2 對於實時性不強的普通資料報文,提供較...