資源簡介
基于Matlab的聲紋鎖,利用MFCC作為特征,利用VQ矢量量化方法進行數據處理,再結合歐式距離做模式匹配,最終實現文本相關的聲紋鎖。

代碼片段和文件信息
function?M3?=?blockframes(s?fs?m?n)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%?function:?blockframes()?Puts?the?signal?into?frames?分幀加窗
%?input?:???s:輸入的語音數字信號???fs:采樣頻率??m:幀移??n:窗長
%?output:???M3:分幀后信號進行加窗并求出頻率的矩陣
%?author:???Christian?Cornaz
%?rewriter:?yuhansgg(Shi?Gaige)
%?time:?????2017.4.9
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%分幀函數開始處
l?=?length(s);??%l信號s的長度
nbframe?=?floor((l?-?n)?/?m)?+?1;
%計算幀數floor函數是取接近A的整數,但又不是四舍五入;
for?i?=?1:n
?%i表示每幀的點
for?j?=?1:nbframe
?%j表示幀數
M(i?j)?=?s(((j?-?1)?*?m)?+?i);
%M存儲分幀后的信號,第一行表示第一幀,第二行表示第二幀
end
end
%%分幀結束處
h?=?hamming(n);
M2?=?diag(h)?*?M;
%對每幀信號加窗處理:窗函數變成對角陣再乘以分幀信號矩陣
for?i?=?1:nbframe
M3(:?i)?=?fft(M2(:?i));
end
%對每幀進行傅里葉變化,獲得頻率值
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????????901??2017-04-09?23:37??blockfr
?????文件?????????845??2017-04-09?23:38??cut.m
?????文件????????4876??2017-04-09?11:03??demo.m
?????文件?????????907??2017-04-09?23:58??disteu.m
?????文件??????????86??2017-04-01?00:28??main2.m
?????文件????????1689??2017-04-09?23:42??melfb.m
?????文件????????1755??2017-04-09?23:45??mfcc.m
?????文件?????????761??2018-01-07?14:16??ReadMe.txt
?????文件????????1227??2017-04-09?23:27??SpeakerUI.m
?????目錄???????????0??2018-01-07?14:11??test\
?????文件????????1490??2017-04-09?23:59??test.m
?????文件???????24660??2018-01-07?14:11??test\1.wav
?????文件?????????618??2017-04-09?23:56??test_record.m
?????目錄???????????0??2018-01-07?14:09??train\
?????文件????????1457??2017-04-09?23:51??train.m
?????文件???????30830??2018-01-07?14:09??train\1.wav
?????文件???????30286??2018-01-07?14:09??train\2.wav
?????文件???????32612??2018-01-07?14:09??train\3.wav
?????文件??????????16??2017-03-21?00:46??train\備注.txt
?????文件?????????979??2017-04-09?23:57??train_record.m
?????文件????????1618??2017-04-09?23:55??vqlbg.m
- 上一篇:SSD1306驅動
- 下一篇:MFC socket通信,socket通訊
評論
共有 條評論