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

  • 大小: 3KB
    文件類型: .m
    金幣: 1
    下載: 0 次
    發(fā)布日期: 2021-05-07
  • 語言: Matlab
  • 標簽: MATLAB程序??

資源簡介

雙門限語音端點檢測 MATLAB程序 在使用時,新建一個M文件,調(diào)用此函數(shù)即可。

資源截圖

代碼片段和文件信息

function?[x1x2]?=?vad(x)%新建一個文件M,調(diào)用此函數(shù)即可

?

%幅度歸一化到[-11]
x?=?double(x);
x?=?x?/?max(abs(x));

?

%常數(shù)設(shè)置
frameLen?=?240;%幀長為240點
frameInc?=?80;%幀移為80點

?

amp1?=?10;%初始短時能量高門限
amp2?=?2;%初始短時能量低門限
zcr1?=?10;%初始短時過零率高門限
zcr2?=?5;%初始短時過零率低門限

?

maxsilence?=?8;??%?8*10ms??=?80ms

%語音段中允許的最大靜音長度,如果語音段中的靜音幀數(shù)未超過此值,則認為語音還沒結(jié)束;如果超過了

%該值,則對語音段長度count進行判斷,若count
%狀態(tài)0;若count>minlen,則認為語音段結(jié)束;


minlen??=?15;????%?15*10ms?=?150ms

%語音段的最短長度,若語音段長度小于此值,則認為其為一段噪音


status??=?0;?????%初始狀態(tài)為靜音狀態(tài)
count???=?0;?????%初始語音段長度為0
silence?=?0;?????%初始靜音段長度為0

?

%計算過零率
tmp1??=?enframe(x(1:end-1)?frameLen?frameInc);
tmp2??=?enframe(x(2:end)???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);

amp?=?sum(abs(enframe(x?frameLen?frameInc))?2);

?

%調(diào)整能量門限
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?+?

評論

共有 條評論