Aurora2 語音數據庫的建立

        Aurora2 語音數據庫 經常在學術上被用來作爲評測數據庫,很多語音識別的base數據庫,HTK的訓練模型數據庫,VAD,基頻檢測都用Aurora2語音數據庫。

       Aurora2語音數據庫的具體情況可以參考 http://aurora.hsnr.de/aurora-2.html,大致含義是 這個數據庫是由 TIDigits 數據庫 變換過來的,說白了就是 降採樣之後 加了不同的信噪比的噪聲。

       Aurora2數據庫是8k的(其實8k早先年在電話語音通訊標準中用的比較多),TIDigits 數據庫是20k的(爲啥是20k這麼奇怪的數據庫我也不清楚),TIDigits 是包含成人和兒童的語音庫,只說數字(英文的,不是壹貳叄是one two three),Aurora2用的是TIDigits 的成人部分。

       Aurora2的創建過程,就是通過工具(這個工具網站提供了叫 FaNT)http://aurora.hsnr.de/download.html

這是一個濾波+增加指定信噪比的工具,原則上使用這個工具就可以造出這個含噪語音庫。我剛好有TIDigits (別問我爲啥有)另外我也發現了不少有用的結果,可以獲得含噪語音庫的list,那麼基本素材如果全了的話,我就可以自己造這個數據庫了。

       1、工具

          網站提供了 http://dnt.kr.hsnr.de/aurora/download/fant.tar.gz需要自己編譯,這是GNU的C,用vc稍微改下就沒什麼問題,這個工具我覺得牛叉的地方就是在於能加指定的信噪比,而且信號能量判定方法是遵循 ITU p.56 怎麼計算signal level,感興趣的同學可以自己下來看看,提供兩種方法 來計算 信號level

     Active speech level shall be measured and reported in decibels relative to a stated reference according to the methods described below, namely:
–  Method A – Measuring a quantity called speech volume, used for the purpose of real-time control of speech level (see clause 4);
–  Method B – Measuring a quantity called active speech level, used for other purposes (see clause 5).

        2、文件list

TIDigits  這裏面的東西可多了,Aurora2  只選擇其中的部分,另外它分成幾個部分:

訓練集1,clean data,乾淨的 8440個,降採樣至8k,完了之後用G712 濾波器之後不加任何噪聲,55個男人和55個女人。

訓練集2,multi-condition 複合條件的含噪的,8440個數據 分成20組,422 * 20(subset) = 8440,   52個男人和52個女人,對於一個子集,每個人的話都要出現過。

測試集 4004個集上的不同變體,他分成三種測試集

testA 要用 G712 濾波器,四種噪聲,   (subway)train(N1)/babble(N2)/car(N3)/exhibition hall(N4) 4004*7 = 28028 個數據
testB 要用 G712 濾波器,另外四種噪聲 restaurant(N5)/street(N6)/airport(N7)/train station(N8),   同上   28028 個數據
testC 要用 MRIS濾波器,只有2種噪聲 subway, street

你肯定要問G712和MRIS有什麼區別,MIRS ,他們簡單的說是濾波器,用來模擬通訊信道中的acoustics 傳輸路徑,具體如下:

上面的test集中就是爲了覆蓋不同的聲道特性(G712和MIRS)不同的噪聲(兩撥噪聲N1~N4,N5~N6,我check過,testA和testB的基礎list沒什麼差別,差別就是噪聲不同,而且都用G712)不同的信噪比(clean,SNR-5,SNR0,SNR5,SNR10,SNR15,SNR20)

扯遠了,現在說到list,我們從 vad檢測的一些結果:http://kom.aau.dk/~zt/online/rVAD/

這是一個vad算法,但它提供了 Reference VAD for Aurora 2 database 的測試結果,我們下來之後,train中的clean的list就有了,8440個數據,齊刷兒滴啊~

稍微解釋一下,這裏面文件的首字母,M和F就是指 男,女,ST是某個人名的縮寫,具體是什麼就不清楚了,TIDigits 都是這樣的縮寫,而且只用兩個字母

同樣,測試集中的testA testB, testC的list我們也有了

我們從這個網站中找到 Aurora2作爲pitch驗證算法的數據庫的測試結果

https://www.microsoft.com/en-us/download/details.aspx?id=52498

注意,沒有找到 multi-condition條件下的訓練集(就是clean和含噪聲的都有,用來做訓練的),我估計用這個做實驗的比較少,再說四個中能找到三個已經不錯了,呵呵,你還要啥自行車?

    3、得到噪聲樣本和對應關係

噪聲樣本可以從下面獲得:https://www.ee.columbia.edu/~dpwe/sounds/

噪聲樣本都是8k的

Aurora2書庫中的名字都是N1,N2命名的,這裏面N1~N8有個對應關係,我們從一些論文上可以獲得:

A Novel Framework for Noise Robust ASR using Cochlear Implant-like Spectrally Reduced Speech

實際上就是上面的順序

總結:

      1、製作的數據庫只能說是“僞“或者“準“,並不是原本的Aurora2的數據庫,理由有2,一個是降採樣,我這裏用的是sox的降採樣,原始的Aurora2的製作過程用的什麼降採樣?那就不得而知了,我只能說我聽過sox的將採樣結果,效果還可以

注意:sox也有高端採樣率,不care時間功耗話也可以用的

http://sox.sourceforge.net/SoX/Resampling

http://src.infinitewave.ca/

   2、加噪聲的位置是隨機的,噪聲足夠長,但是加噪工具是隨機選擇reference噪聲位置給加上的,說白了,你兩次給加的噪聲情況還不一樣!

  3、不過製作過程是嚴格follow 他的文檔,嗯,等哪一天有了真正的數據庫,可以做一些comparison

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章