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

  • 大小: 1.39 KB
    文件類型: .rar
    金幣: 1
    下載: 0 次
    發布日期: 2024-09-24
  • 語言: 其他
  • 標簽:

資源簡介

利用語音信號的短時能量與短時過零率來達到自動檢測語音的起止點。效果不錯.

資源截圖

代碼片段和文件信息

%語音信號的端點檢測
[xfsnbits]=wavread(‘speech.wav‘);
x?=?x?/?max(abs(x));%幅度歸一化到[-11]
%參數設置
frameLen?=?256;?????%幀長
inc?=?90;???????????%未重疊部分

amp1?=?10;??????????%短時能量閾值
amp2?=?2;??????
zcr1?=?10;??????????%過零率閾值
zcr2?=?5;

minsilence?=?6;??%用無聲的長度來判斷語音是否結束
minlen??=?15;????%判斷是語音的最小長度
status??=?0;?????%記錄語音段的狀態
count???=?0;?????%語音序列的長度
silence?=?0;?????%無聲的長度

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

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

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

%開始端點檢測
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‘);
line([x1*inc?x1*inc]?[-1?1]?‘Color‘?‘red‘);
line([x2*inc?x2*inc]?[-1?1]?‘Color‘?‘red‘);

subplot(312)
plot(amp);
axis([1?length(amp)?0?max(amp)])
ylabel(‘Energy‘);
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‘);
line([x1?x1]?[min(zcr)max(zcr)]?‘Color‘?‘red‘);
line([x2?x2]?[min(zcr)max(zcr)]?‘Color‘?‘red‘);

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

?????文件???????2559??2007-10-23?15:06??edgedetect.m

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

?????????????????2777????????????????????2


評論

共有 條評論

相關資源