91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 419KB
    文件類型: .rar
    金幣: 2
    下載: 1 次
    發布日期: 2021-07-15
  • 語言: C/C++
  • 標簽: matlab??

資源簡介

語音信號分析與處理及其MATLAB實現LPCMFCCEDP-edp.rar
語音信號分析與處理及其MATLAB實現
Linear Predictive Coding
EDP
MFCC


運行lpc.m就可以:

lpc.jpg

edp.m運行結果

edp.jpg


mfcc.m運行結果:

mfcc.jpg

資源截圖

代碼片段和文件信息

close?all
clear
clc
web?-browser?http://www.ilovematlab.cn/thread-12335-1-1.html
[x]=wavread(‘speech.wav‘);
%幅度歸一化到[-11]
x?=?double(x);
x?=?x?/?max(abs(x));

%常數設置
frameLen?=?240;
frameInc?=?80;

amp1?=?10;
amp2?=?2;
zcr1?=?10;
zcr2?=?5;

maxsilence?=?10;?%?10*10ms?=?30ms
minlen?=?20;?%?15*10ms?=?150ms
status?=?0;
count?=?0;
silence?=?0;

%計算過零率
tmp1?=?enframe(x(1:length(x)-1)?frameLen?frameInc);
tmp2?=?enframe(x(2:?length(x))??frameLen?frameInc);
signs?=?(tmp1.*tmp2)<0;
diffs?=?(tmp1?-tmp2)>0.02;
zcr?=?sum(signs.*diffs?2)

%計算短時能量
amp?=?sum(abs(enframe(filter([1?-0.9375]?1?x)?frameLen?frameInc))?2);

%調整能量門限
amp1?=?min(amp1?max(amp)/4);
amp2?=?min(amp2?max(amp)/8);

%開始端點檢測
x1?=?0;
x2?=?0;
for?n=1:length(zcr)
goto?=?0;
switch?status
case?{01}?%?0?=?靜音?1?=?可能開始
if?amp(n)?>?amp1?%?確信進入語音段
x1?=?max(n-count-11);
status?=?2;
silence?=?0;
count?=?count?+?1;
elseif?amp(n)?>?amp2?|?...?%?可能處于語音段
zcr(n)?>?zcr2
status?=?1;
count?=?count?+?1;
else?%?靜音狀態
status?=?0;
count?=?0;
end
case?2?%?2?=?語音段
if?amp(n)?>?amp2?|?...?%?保持在語音段
zcr(n)?>?zcr2
count?=?count?+?1;
else?%?語音將結束
silence?=?silence+1;
if?silence?count?=?count?+?1;
elseif?count?status?=?0;
silence?=?0;
count?=?0;
else?%?語音結束
status?=?3;
end
end
case?3
break;
end
end

count?=?count-silence/2
x2?=?x1?+?count?-1

subplot(311)
plot(x)
axis([1?length(x)?-1?1])
ylabel(‘Speech‘);
title(‘語音信號檢測結果‘)
line([x1*frameInc?x1*frameInc]?[-1?1]?‘Color‘?‘red‘);
line([x2*frameInc?x2*frameInc]?[-1?1]?‘Color‘?‘red‘);

subplot(312)
plot(amp);
axis([1?length(amp)?0?max(amp)])
ylabel(‘Energy‘);
title(‘短時能量‘)
line([x1?x1]?[min(amp)max(amp)]?‘Color‘?‘red‘);
line([x2?x2]?[min(amp)max(amp)]?‘Color‘?‘red‘);

subplot(313)
plot(zcr);
axis([1?length(zcr)?0?max(zcr)])
ylabel(‘ZCR‘);
title(‘過零率‘)
line([x1?x1]?[min(zcr)max(zcr)]?‘Color‘?‘red‘);
line([x2?x2]?[min(zcr)max(zcr)]?‘Color‘?‘red‘);?

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????2146??2008-06-30?16:23??edp\edp.m

?????文件???????2147??2006-06-22?19:07??edp\enframe.m

?????文件????????122??2008-05-14?18:20??edp\Matlab中文論壇--助努力的人完成畢業設計.url

?????文件?????620046??1998-04-10?02:34??edp\speech.wav

?????文件???????3434??2008-05-15?08:26??edp\使用幫助:新手必看.htm

?????目錄??????????0??2008-06-30?16:24??edp

-----------?---------??----------?-----??----

???????????????627895????????????????????6


評論

共有 條評論