1. 程式人生 > >語音識別之——mfcc什麼是漢明窗,為什麼加漢明窗

語音識別之——mfcc什麼是漢明窗,為什麼加漢明窗

為什麼要加漢明窗?什麼叫加窗?

 在訊號處理中,可以說加窗處理是一個必經的過程,因為我們的計算機只能處理有限長度的訊號,因此原始訊號X(t)要以T(取樣時間)截斷,即有限化,成為XT(t)後再進一步處理,這個過程式就是加窗處理,但什麼時候用什麼窗呢?這時我們就要對所需用到的函式窗做一定的瞭解。在平時,我們用得最多的是矩形窗,這個也很容易理解,好像我們屋子裡的視窗一樣,透過視窗我們可以看到外面的世界,但在如果我們理視窗遠一些的話,我們的看到的範圍將減少,越遠就越小。實際的訊號處理過程中,我們用的矩形窗,但矩形窗在邊緣處將訊號突然截斷,窗外時域資訊全部消失,導致在頻域增加了頻率分量的現象,即頻譜洩漏。避免洩漏的最佳方法是滿足整週期取樣條件,但實際中是不可能做到的。對於非整週期取樣的情況,必須考慮如何減少加窗時造成的洩漏誤差,主要的措施是使用合理的加窗函式,使訊號截斷的銳角鈍化,從而使頻譜的擴散減到最少。

    首先介紹一下為什麼要用函式窗:函式窗的主要用於對截斷處的不連續變化進行平滑,減少洩漏。此外,加窗處理還有很多其它的原因,如減少噪聲干擾、限定測試的持續時間、從頻率接近的訊號中分離出幅值不同的訊號……

常見的幾種窗的基本指標:

一個窗是否合適:窗譜主瓣寬度就儘可能的窄,且能量集中在主瓣內,以獲得較陡的過渡帶;窗譜旁瓣與主瓣相比應儘可能的小,旁瓣能量衰減要快,以利於增加阻帶衰耗。

漢明窗就是訊號視窗的一種,在matlab中執行命令,畫出plot(hamming(100))的圖如下:

它主要部分的形狀像sin(x)在0到pi區間的形狀,而其餘部分都是0.這樣的函式乘上其他任何一個函式f,f只有一部分有非零值。

為什麼漢明窗這樣取呢?因為之後我們會對漢明窗中的資料進行FFT,它假設一個窗內的訊號是代表一個週期的訊號。(也就是說窗的左端和右端應該大致能連在一起)而通常一小段音訊資料沒有明顯的週期性,加上漢明窗後,資料形狀就有點週期的感覺了。

因為加上漢明窗,只有中間的資料體現出來了,兩邊的資料資訊丟失了,所以等會移窗的時候,只會移1/3或1/2窗,這樣被前一幀或二幀丟失的資料又重新得到了體現。

簡單的說漢明窗就是個函式,它的形狀像窗,所以類似的函式都叫做窗函式。希望你能明白。

2.加Hanmming窗的作用

現在在看G.723.1,對語音編碼剛入門,

發現在對訊號進行LPC分析前,對訊號乘以一個Hamming 窗,

乘法是:訊號直接乘以一個HammingWindowTable中的值,這個加窗有什麼作用?

如果是限制頻寬的話, 在時域應對訊號應做卷積的, 不明白,請賜教

因為要處理的是無限長序列中的一段,所以必須對這段序列加窗採集出來。

典型的視窗大小是25ms,幀移是10ms。漢明窗函式為

            W(n,α ) = (1 -α ) - α cos(2*PI*n/(N-1)),0≦n≦N-1

    一般情況下,α取0.46 。

誰能解釋一下這個函式嗎?我實在是不理解,謝謝.

由於直接對訊號(加矩形窗)截斷會產生頻率洩露,為了改善頻率洩露的情況,加非矩形窗,一般都是加漢明窗,因為漢明窗的幅頻特性是旁瓣衰減較大,主瓣峰值與第一個旁瓣峰值衰減可達40db。

舉例:

a=wavread('jiasiqi.wav');   %將音訊訊號jiasiqi.wav讀入
subplot(2,1,1),                  %分配畫布,一幅圖上共兩個圖,這是第一個
plot(a);title('original signal');  %畫出原始訊號,即前面這個音訊訊號的原始波形
grid                                    %新增網格線
N=256;                               %設定短時傅立葉變換的長度,同時也是漢明窗的長度
h=hamming(N);                   %設定漢明窗
for m=1:N                       %用漢明窗擷取訊號,長度為N,主要是為了減少截斷引起的柵欄效應等
b(m)=a(m)*h(m)
end
y=20*log(abs(fft(b)))           %做傅立葉變換,取其模值,即幅頻特性,然後用分貝(dB)表示
subplot(2,1,2)                     %分配畫布,第二副圖
plot(y);title('短時譜');            %畫出短時譜
grid                                        %新增網格線

相關推薦

語音識別——mfcc什麼是為什麼

為什麼要加漢明窗?什麼叫加窗?  在訊號處理中,可以說加窗處理是一個必經的過程,因為我們的計算機只能處理有限長度的訊號,因此原始訊號X(t)要以T(取樣時間)截斷,即有限化,成為XT(t)後再進一步處理,這個過程式就是加窗處理,但什麼時候用什麼窗呢?這時我們就要對所需用到

孤立詞語音識別MFCC特徵提取

倒譜(cepstrum)就是一種訊號的傅立葉變換經對數運算後再進行傅立葉反變換得到的譜。它的計算過程如下:   Mel頻率分析就是基於人類聽覺感知實驗的。實驗觀測發現人耳就像一個濾波器組一樣,它只關

語音識別HMMS安裝和MFCC安裝

1、MFCC(梅爾頻率倒譜系數)python包安裝 引用MFCC需要安裝“python_speech_features” 包說明和下載地址: http://python-speech-features.readthedocs.io/en/latest/ https://pypi.org/

語音識別初體驗

實時 popu 背景 pcc 詞匯 原則 分類 work 通過 一、概述 作為最自然的人機交互方式 --語音,正在改變人們的生活,豐富多媒體技術的應用。語音識別技術是語音信號處理的一個重要分支,也是近年來非常火的一個研究領域。隨著科技的飛速發展,語音識別不僅在桌面PC和

語音識別完成詩句的查詢功能iOS AVSpeechSynthesis語音輸出結果的詩歌APP

water 兩個 min 介紹 ech fin com esp log 前言 當前的APP的查詢都是使用手動輸入,不僅效率低,而且查詢的語句的限制比較大,不能夠方便的擴展。 如果能方便的擴展查詢語句,那麽APP的使用就會有很大的靈活性。可以設計各種問句和語句,可以方便的和用

Android-谷歌語音識別離線識別(二)

1/上一篇部落格寫了安卓呼叫本地自帶的谷歌語音識別,但是需要聯網並且在大陸需要翻牆,這文章來講下如何離線進行谷歌的語音識別。 2/因為已經有了上一篇的demo和程式碼,程式碼方面就不多說了。 3/用谷歌離線識別需要下載谷歌離線包,所以一樣需要帶谷歌服務的機子,比如三星。

孤立詞語音識別Vector Quantization(向量量化)

1、Vector Quantization介紹 Vector Quantization(VQ)是一種基於塊編碼規則的有損資料壓縮方法。在諸多領域有廣泛應用,比如語音和影象編碼或壓縮,語音識別等領域。VQ 的 主要優點在於可以減少計算量和儲存,缺點就是為了減少計算量和儲存

android 語音識別 訊飛語音移植

轉載自:http://blog.csdn.net/chenshufei2/article/details/8496905 一、簡介     語音識別現在應用越來越廣泛了 比如語音寫簡訊、語音搜尋商品、語音搜尋關鍵字等等,這遍我們就簡單的談談國內比較流

語音識別HMM演算法及其原始碼

基礎              【1】瞭解HMM演算法:http://www.cnblogs.com/pangxiaodong/archive/2011/10/17/2214542.html              【2】再次加深印象:http://blog.csdn.

論文筆記:語音情感識別(四)語音特徵聲譜圖log梅爾譜MFCCdeltas

一:原始訊號 從音訊檔案中讀取出來的原始語音訊號通常稱為raw waveform,是一個一維陣列,長度是由音訊長度和取樣率決定,比如取樣率Fs為16KHz,表示一秒鐘內取樣16000個點,這個時候如果音訊長度是10秒,那麼raw waveform中就有160000個值,值的大小通常表示的是振幅。 二:(線性

語音識別語義理解一站式解決智慧照相機(人臉識別,olami)

olami sdk實現了把錄音或者文字轉化為使用者可以理解的json字串從而實現語義理解,使用者可以定義自己的 語義,通過這種方式可以實現使用者需要的語義理解。前面寫了兩篇語音識別,語義理解的博文,分別是語音 線上聽書和語音記帳軟體,本篇是語音智慧照相機

語音識別語義理解一站式解決二(android,olami)

前言 國內語音識別技術已有多家,而olami不僅在語音識別上準確率較高,更重要的是在語義理解上十分強大,本文用olami sdk做了一個記賬demo(記賬部分程式碼參考開原始碼),這個demo可以語音新增不同消費記錄,查詢當天,當月消費情況,刪除消費列

點擊頁面的按鈕使打開一個新載一個頁面的方法有哪些呢?

body del .html blank oca pos type target put 1.<base target="_blank" /> 頁面只要有a標簽,都會打開一個新的頁面; 2.<input type=‘button‘ value=‘new‘

重磅!MaxCompute助力阿裏開源自研語音識別模型DFSMN準確率高達96.04%

href p s 開始 phone 兩層 下一個 latency 16bit product 摘要: 阿裏開源語音識別模型DFSMN 在近期舉行的雲棲大會武漢峰會上,裝有DFSMN語音識別模型的“AI收銀員”在與真人店員的PK中,在嘈雜環境下準確識別了用戶的語音點單,在短短

使用FFmpeg進行視頻抽取音頻之後進行語音識別轉為文字

buffer and @param size eve turn stand try you 1、首先需要下載FFmpeg; 2、Gradle依賴 def void forceVersion(details, group, version) { if (detai

語音識別搭配AI之後我的語音助手更懂我的心了

一定的 平均值 數據信息 均值 音頻 問題 做的 在屏幕上 要求 歡迎大家前往騰訊雲+社區,獲取更多騰訊海量技術實踐幹貨哦~ 本文由騰訊雲AI中心發表於雲+社區專欄 我今天演講主要分四個部分,第一個是分享語音識別概述,然後是深度神經網絡的基礎;接下來就是深度學習在語音

speech_recognition實現錄音ffmpeg實現音訊檔案轉換並用百度語音的sdk實現語音識別

專案說明: 在windows平臺下,使用speech_recognition記錄音訊,並轉換為16k的wav, 之後利用ffmpeg將wav轉化為pcm檔案,上傳到百度語音端,返回語音資訊,並利用pyttsx3添加了簡單的互動功能。 需求模組: speech_recognit

年少痴狂懷戀曾經的創業歲月語音識別的應用遠遠未到高潮本人的軟體原始碼開源需要的留下Email,我給大家發

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

一套基於模板匹配的語音識別技術。提取語音的特徵並建立模板庫,可以將語音識別技術應用於機器人

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

DTW(動態時間規準)演算法孤立詞語音識別

  轉一篇相似度匹配的文章,寫得不錯!   DTW為(Dynamic Time Warping,動態時間歸準)的簡稱。應用很廣,主要是在模板匹配中,比如說用於孤立詞語音識別,計算機視覺中的行為識別,資訊檢索等中。可能大家學過這些類似的課程都看到過這個演算法,公式也有幾個,但是很抽象,當時看懂了但