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

資源簡介

過零法和短時信號能量法,檢測語音信號的起始點

資源截圖

代碼片段和文件信息

function?[x1x2]=vad(x)
%?幅度歸一化[-1,1]
x=double(x);
x=x/max(abs(x));
framelen=200;
frameinc=100;
%門限參數
amp1=10;
amp2=2;
zcr1=10;
zcr2=5;
maxsilence=3;
minlen=15;
status=0;
cout=0;
silence=0;
%?分禎and?計算過零率
tmp1=enframe(x(1:length(x)-1)framelenframeinc);
tmp2=enframe(x(2:length(x))framelenframeinc);
signs=(tmp1.*tmp2)<0;????%n*framelen?的矩陣
diffs=(tmp1-tmp2)>0.02;
%?sum函數的使用??sum(a1)是表示每列相加??而sum(a2)是表示每行相加
zcr=sum(signs.*diffs2);??%?n*1的矩陣
%計算短時間能量?
amp=sum(abs(enframe(filter([1-0.9375]1x)framelenframeinc))2);????%?n*1的矩陣
%調整能量門限?
amp1=min(amp1max(amp)/4);
amp2=min(amp2max(amp)/8);
%開始端點檢測
x1=0;
x2=0;
for?n=1:length(zcr)??%?length?=max(size(x))?這兒實際是n
????goto?=?0;????????%??這個有什么作用????????????
????switch?status
????????case?{01}
????????????if?amp(n)>amp1
????????????????x1=max(n-cout-11);
????????????????status=2;
????????????????silence=0;
????????????????cout=cout+1;
????????????elseif?amp(n)>amp2?|?zcr(n)>zcr2
????????????????status=1;
????????????????cout=cout+1;
????????????else
????????????????status=0;
????????????????cout=0

評論

共有 條評論