語音學習筆記1------matlab實現自相關函式法基音週期提取
人在發濁音時,氣流通過聲門使聲帶產生張弛振盪式振動,產生一股準週期脈衝氣流,這一氣流激勵聲道就產生濁音,又稱有聲語音,它攜帶著語音中的大部分能量。這種聲帶振動的頻率稱為基頻,相應的週期就稱為基音週期( Pitch) ,它由聲帶逐漸開啟到面積最大(約佔基音週期的50% ) 、逐漸關閉到完全閉合(約佔基音週期的35% ) 、完全閉合(約佔基音週期的15% )三部分組成。 當今主流的基音週期檢測技術主要有時域的自相關法、頻域的倒譜法、時頻結合的小波變換分析方法以及在其基礎上的衍生演算法。濁音訊號自相關函式在基因週期的整數倍位置上出現峰值,而清音的自相關函式沒有明顯峰值。因而檢測是否有峰值就可以判斷是清音還是濁音,檢測峰值位置就可提取基音週期。
(1)自相關函式
對於離散的語音訊號x(n),它的自相關函式定義為: R(k)=Σx(n)x(n-k),
如果訊號x(n))具有周期性,那麼它的自相關函式也具有周期性,而且週期與訊號x(n)的週期性相同。自相關函式提供了一種獲取週期訊號週期的方法。在週期訊號週期的整數倍上,它的自相關函式可以達到最大值,因此可以不考慮起始時間,而從自相關函式的第一個最大值的位置估計出訊號的基音週期,這使自相關函式成為訊號基音週期估計的一種工具。
(2)短時自相關函式
語音訊號是非平穩的訊號,所以對訊號的處理都使用短時自相關函式。短時自相關函式是在訊號的第N個樣本點附近用短時窗擷取一段訊號,做自相關計算所得的結果 Rm(k)=Σx(n)x(n-k)
式中,n表示窗函式是從第n點開始加入。
function pitch
x=wavread('E:\luyin\wkxp.wav');%讀取聲音檔案
figure(1);
stem(x,'.'); %顯示聲音訊號的波形
疑問:(為什麼橫座標是8,並且是*10的5次方;縱座標是什麼意思??)
n=75000; %取17s的聲音片段,即75000個樣點
for m=1:length(x)/n; %對每一幀求短時自相關函式
for k=1:n;
Rm(k)=0;
for i=(k+1):n;
Rm(k)=Rm(k)+x(i+(m-1)*n)*x(i-k+(m-1)*n);
end
end
p=Rm(10:n); %防止誤判,去掉前邊10個數值較大的點
[Rmax,N(m)]=max(p); %讀取第一個自相關函式的最大點
end %補回前邊去掉的10個點
N=N+10;
T=N/8; %算出對應的週期
figure(2);stem(T,'.');axis([0 length(T) 0 10]);
xlabel('幀數(n)');ylabel('週期(ms)');title('各幀基音週期');
T1= medfilt1(T,5); %去除野點
figure(3);stem(T1,'.');axis([0 length(T1) 0 10]);
xlabel('幀數(n)');ylabel('週期(ms)');title('各幀基音週期');
不懂的可以加我的QQ群: 522869126(深度學習語音識別方向
)歡迎你的到來哦,看了博文給點腳印唄,謝謝啦~~
相關文章
- 語音學習筆記5------subplot函式的用法筆記函式
- 語音學習筆記3------matlab實現傅立葉反變換ifft()函式筆記MatlabFFT函式
- PHP 第八週函式學習筆記PHP函式筆記
- c語言學習筆記===函式C語言筆記函式
- 語音學習筆記4------matlab實現逆向生成音訊格式的訊號audiowrite()函式筆記Matlab音訊函式
- Vue生命週期函式.個人筆記Vue函式筆記
- PHP 第十五週函式學習筆記PHP函式筆記
- React生命週期學習筆記React筆記
- Vue學習(三)生命週期函式Vue函式
- ES6語法學習筆記之函式預設引數筆記函式
- 【R語言學習筆記】關於提取各類模型值的意外發現R語言筆記模型
- 韓語學習筆記(1)音標與輸入法筆記
- 語音學習筆記2------matlab實現傅立葉變換筆記Matlab
- async函式學習筆記。函式筆記
- Go 函式 學習筆記Go函式筆記
- 分析函式(學習筆記)函式筆記
- 生成函式 學習筆記函式筆記
- 【Go】Go語言學習筆記-2-函式Go筆記函式
- Solidity語言學習筆記————28、純函式Solid筆記函式
- Solidity語言學習筆記————26、回退函式Solid筆記函式
- 語音的關鍵聲學特徵(語音情感特徵提取)特徵
- ES6語法學習筆記之箭頭函式、剩餘引數筆記函式
- Javascript 學習筆記--語法篇JavaScript筆記
- JavaScript學習筆記---基本語法JavaScript筆記
- Html 語法學習筆記一HTML筆記
- Html 語法學習筆記二HTML筆記
- Html 語法學習筆記三HTML筆記
- TS學習筆記(四):函式筆記函式
- JavaScript學習筆記 - 原生函式JavaScript筆記函式
- Golang學習筆記-1.6 函式Golang筆記函式
- Oracle學習筆記(6)——函式Oracle筆記函式
- LoadRunner函式學習筆記函式筆記
- MYSQL學習筆記14: 函式MySql筆記函式
- Solidity語言學習筆記————18、字串和函式Solid筆記字串函式
- Solidity語言學習筆記————27、檢視函式Solid筆記函式
- Solidity語言學習筆記————30、函式過載Solid筆記函式
- Vue學習筆記(2)—— Vue的生命週期Vue筆記
- ReactNative學習筆記五之生命週期React筆記