日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Mel Frequency Cepstral Coefficients (MFCCs)

發布時間:2024/1/18 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Mel Frequency Cepstral Coefficients (MFCCs) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

wiki里說
在聲音處理中,梅爾頻率倒譜( MFC ) 是聲音的短期功率譜的表示,基于非線性梅爾頻率標度上的對數功率譜的線性余弦變換。
倒譜和MFC 之間的區別在于,在 MFC 中,頻帶在梅爾尺度上等距分布,這比正常頻譜中使用的線性間隔頻帶更接近人類聽覺系統的響應。這種頻率扭曲可以更好地表示聲音,例如,在可能會降低傳輸帶寬的音頻壓縮中以及音頻信號的存儲要求。
梅爾頻率倒譜系數( MFCC ) 是共同構成 MFC 的系數。它們源自音頻剪輯的一種倒譜表示。

信號的梅爾頻率倒譜系數 (MFCC) 是一小組特征(通常為 10-20),它們簡明地描述了 spectral envelope 的??整體形狀。在MIR中,它常被用來描述音色。在應用 Hamming window、 Mel-filterbank、log conversion和離散傅里葉變換 (DCT) 之后,我們通常會得到大小為 12 的特征向量 x i。通常情況下,第零倒譜系數被排除在外即使用1-13個倒譜系數,需要將原始能量的度量添加到特征向量中。
本文參考了Gender identification of a speaker using MFCC and GMM論文中描述的MFCC把語音轉換為參數方法
將一個語音信號轉換為MFCC要以下幾個步驟:

  • 預加重濾波器 pre-emphasis filter 濾波
  • 讓采樣后的信號通過一個濾波器,并調整高低頻率的強度。濁音區域的頻譜通過預加重進行補償,預加重會放大高頻區域并執行濾波。簡單描述實現就是:

    α是濾波器的系數,常為0.95-0.97
    但是這是很多年前因為有限的計算資源迫使開發人員創建的方法。
    對于信號消歧而言,較高的頻率比較低的頻率更為重要。
    在古早的時間里,應用模擬預加重濾波器會更容易獲得好結果,因此大家都用了預加重。
    預加重的另一個好特性是它有助于處理錄音中經常出現的 DC offset 直流偏移,因此它可以改進基于能量的語音活動檢測。
    而現代語音識別不需要預加重。預加重在后期通過 channel normalization(如倒譜均值歸一化)進行補償,因此可能沒有影響。

    預加重的好處:

    • 平衡頻譜
    • 避免 Fourier transform 操作期間的數值問題
    • 改善信號噪聲比 Signal-to-Noise Ratio (SNR)
  • framing , 漢明窗Hamming window處理
  • 與所有語音分析方法一樣,MFCC 方法也適用于語音具有固定聲學特征的短部分。即進行分幀framing,一幀有N個采樣點,分幀主要是為了簡化處理,假設在短時間范圍內音頻信號變化不大。如果幀很短,就沒有足夠的樣本來獲得可靠的頻譜估計,如果幀很長,則信號在整個幀中變化太大,因此通常選擇的參數為 20-30 毫秒,沿信號偏移 10-15 毫秒。
    在大多數情況下,對整個信號進行傅里葉變換沒有意義,因為會隨著時間的推移丟失信號的頻率輪廓(時序信息?)。通過對這個短時間幀進行傅立葉變換,我們可以通過連接相鄰幀來獲得信號頻率輪廓的良好近似(這句話沒怎么理解這個良好近似)。每一幀都包含其前一幀的一部分。
    語音處理中的典型幀大小范圍為 20 到 40 毫秒,連續幀之間有 50% (+/-10%) 的重疊。
    通常的設置是:
    幀大小為 25 ms,frame_size = 0.025 和 10 ms stride(15ms overlap ),frame_stride = 0.01。
    在語音應用中,漢明窗通常是首選。應用漢明窗是這里說可以減少頻譜泄露,同時能夠平滑信號的邊緣,并在對信號進行 DFT 時減少邊緣效應,其公式為:

    可以用np.hamming

  • 頻率頻譜圖
  • 功率譜是由人類耳蝸啟發的,它根據傳入聲音的頻率在不同的位置振動。根據振動的耳蝸位置,不同的神經會發出信號,通知大腦存在某些頻率。周期頻譜圖估計執行類似的操作,用來識別幀中存在哪些頻率。
    語音信號被劃分成分析窗口,通過FFT從時域變換到頻域。這種表示語音信號頻率分布的符號稱為幅度譜。
    amplitude spectrum / magnitude spectrum
    我們現在可以做一個 N- 對每一幀進行點FFT計算頻譜,也稱為短時傅立葉變換(STFT),其中 N通常為 256 或 512,NFFT = 512;然后使用以下公式計算功率譜

    也就是對每一幀進行FFT變換,這是為了padding

  • Mel-Frequency Warping
  • 為了將獲得的振幅譜轉換為 mel-scale,使用相對于 mel-scale 線性放置的濾波器組。該組由重疊 50% 的三角形帶通濾波器組成。一般濾波系數取值在20~30之間。

  • 創建mel filter bank
  • mel filter的公式:

    濾波組的公式:

    band filter頻帶分析以模擬耳朵的掩蔽效應以及非線性頻率和帶寬分配,使用 DFT 計算每個頻帶中的能量

    關于mel scale:mel scale將純音的感知頻率或音調與其實際測量頻率相關聯。與高頻相比,人類更善于辨別低頻音高的微小變化。結合這個尺度使音頻的特征更接近人類聽到的。

    先把hz轉成mel單位

    def freq2mel(freq):"""Convert Frequency in Hertz to MelsArgs:freq: A value in Hertz. This can also be a numpy array.ReturnsA value in Mels."""return 2595 * np.log10(1 + freq / 700.0)

    再轉回去

    def mel2freq(mel):"""Convert a value in Mels to HertzArgs:mel: A value in Mels. This can also be a numpy array.ReturnsA value in Hertz."""return 700 * (10 ** (mel / 2595.0) - 1)
  • 計算log mel spectrum
  • 計算濾波器組和頻率頻譜圖的內積,對每個濾波器中的能量求和,再進行log計算。
    一旦算出了濾波器組的能量,就取它們的對數。這也是受人類聽覺的啟發,人類聽不到線性尺度的響度。通常要將聲音的感知音量加倍,需要投入將近 8 倍的能量。這意味著如果聲音一開始就很大,那么能量的巨大變化聽起來可能并沒有什么不同。這種壓縮操作使濾波器組的特征更接近于人類實際聽到的聲音。
    為什么用對數而不是立方根?對數允許使用倒譜均值減法,這是一種通道歸一化技術

    有點不懂的是他算的公式是20 * np.log10(fbank),有點不太清楚這個公式是哪里來的。感覺用librosa庫的會多一些

  • 離散余弦變換 (DCT)的 liftering
  • 濾波器組都是重疊的,DCT 對頻譜系數去相關,并允許使用對角高斯分布對它們進行建模,同時表示語音幀所需的參數數量減少了。這反過來又減少了內存和計算需求。26 個 DCT 系數中只保留了 12 個是因為較高的 DCT 系數表示濾波器組能量的快速變化,但這些快速變化實際上會降低 ASR 性能,因此通過舍棄這些DCT系數讓性能小幅增加。DCT 的一個特性是去相關并將大部分信息保留在前幾個系數中。

    主要作用是對濾波器組進行去相關操作,舍棄除了自己設定的num_ceps以外的值,這些值代表濾波器組系數的快速變化,而這些細節對自動語音識別 (ASR) 沒有什么幫助,然后將lift與mfcc相乘計算外積,以弱化較高的 MFCC,據稱可以改善噪聲信號中的語音識別

    cep_lifter 是 Cepstral liftering order
    num_ceps 是 number of cepstral coefficients (C1-C12, omitting C0)

    lift = 1 + (cep_lifter / 2.0) * np.sin(np.pi * np.arange(num_ceps) / cep_lifter)
    mfcc = dct(fbank,norm=‘ortho’)[1:num_ceps+1]
    mfcc *= lift

    通常在自動語音識別的時候,并不關心信號的音調信息(聲帶),更感興趣的是與音素相關的信息或由于產生聲音的聲道形狀而產生的信息。音高值通常有一個低周期,當移動到倒譜域(使用 DCT 或 IDFT)時,會在mid到end范圍。這就是為什么大多數只選擇前 12 或 13 個 MFCC,而不包括音高信息的原因。

    如果正在構建一個音調信息很重要的系統,應該增加 MFCC 的數量(人聲識別)

    總結

    以上是生活随笔為你收集整理的Mel Frequency Cepstral Coefficients (MFCCs)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 国产精品视频在线观看 | 国产亚洲欧美日韩精品 | 包射屋| 狠久久 | 欧美做爰啪啪xxxⅹ性 | 久久久久无码国产精品 | 污污网站在线观看 | 免费看毛片的网站 | 四虎在线影院 | 另类小说一区二区 | 91秘密入口 | 欧美一区网站 | 午夜小视频网站 | 日韩精品字幕 | 亚洲麻豆一区 | 国产91清纯白嫩初高中在线观看 | youjizzxxxxx| 久久美 | 亚洲一区二区三区影视 | 男女涩涩视频 | 日韩亚射吧| 波多野结衣一区二 | 第四色男人天堂 | 色老头一区二区三区在线观看 | 夜夜夜夜操| 中文字幕在线视频免费播放 | 欧美xxxx8888| 精品99999| 日韩欧美一二区 | 国产亚洲精品精品精品 | 中文天堂在线资源 | 久久一级大片 | 国产鲁鲁视频在线观看免费 | 国产精品免费久久 | xxxxwww一片 | 99精品视频免费在线观看 | 夜夜嗨aⅴ一区二区三区 | 秋霞av鲁丝片一区二区 | 国产精品久久久久久久久久久久久久久久久久 | 欧美精品在欧美一区二区 | 亚洲欧美日本在线 | 韩国无码av片在线观看网站 | 亚洲天堂三区 | 免费视频a | 欧美日韩中文字幕一区二区三区 | 成人在线视频网 | 国产国产乱老熟女视频网站97 | av中文字幕一区 | 91大神一区二区 | 久久网免费视频 | 97久草| 日本久久久久久久久久 | 国产激情精品 | 久久免费一区 | 亚洲精品久久久久av无码 | 久久国产经典视频 | 国产97在线视频 | 国产黑丝一区 | 高h捆绑拘束调教小说 | 国产亚洲色婷婷久久99精品91 | 国产在线久 | 午夜久久视频 | 亚洲天天综合 | 国产精品有限公司 | 国产性生活毛片 | 亚洲国产毛片 | 国产一及片 | 在线网站黄 | av噜噜| 国产精品一区在线观看 | 国产毛片久久久久久久 | 中文无码精品一区二区三区 | 福利视频一区二区 | 天天综合久久 | 91国产丝袜播放在线 | 国产精品永久久久久久久久久 | 成人一区二区三区在线观看 | 日韩欧美精品在线播放 | 欧美aa一级| 91久久人人 | 国产精品二区一区二区aⅴ污介绍 | 久草香蕉在线 | 精品国产第一页 | 日韩av一区二区三区 | 国产又粗又猛又黄又爽视频 | 日韩在线精品 | 色爱区综合 | 黄色免费国产 | 美女被男人插 | 粉嫩av| 天堂…中文在线最新版在线 | 久久久国产片 | 男生女生搞鸡视频 | hs网站在线观看 | 日本天堂在线视频 | 成人一区二区三区 | 96看片| 国产成人精品女人久久久 | 奇米影视77777 |