global x
%开始录音
Fs = 11025;
x = wavrecord(3*Fs, Fs, 'int16');
%端点检测
[x1,x2] = vad(x)
%幅度归一化到[-1,1]
x = double(x);
x = x /max(abs(x));
%常数设置
FrameLen = 240;
FrameInc = 80;
amp1 = 10;
amp2 = 2;
zcr1 = 10;
zcr2 = 5;
maxsilence = 3; %3*10ms=30ms
minlen = 15; %15*10ms=150ms
status = 0;
count = 0;
silence = 0;
%计算过零率
zcr = zeros(size(y,1),1);
delta = 0.02;
for i=1:size(y,1)
x = y(i,:);
for j=1:length(x)-1
if x(j) * x(j+1) < 0 & abs(x(j)-x(j+1))>delta
zcr(i) = zcr(i)+1;
end
end
end
%计算短时能量(绝对值能量)
amp = sum(abs(x), 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 {0,1} %0=静音,1=可能开始
if amp(n) > amp1 %确信进入语音段
x1 = max(n-count-1,1);
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 < maxsilence %静音还不够长,尚未结束
count = count + 1;
elseif count < minlen %语音长度太短,认为是噪音
status = 0;
silence = 0;
count = 0;
else %语音结束
status = 3;
end
end
case 3,
break;
end
end
count = count-silence/2;
x2 = x1 + count - 1;
%绘制波形图
plot(x,'Parent',handles.axes1)
axis([1 length(x) -1 1])
ylabel('Speech');
line([x1*FrameInc x1*FrameInc], [-1 1], 'Color', 'red');
line([x2*FrameInc x2*FrameInc], [-1 1], 'Color', 'red');
plot(amp,'Parent',handles.axes2);
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');
plot(zcr,'Parent',handles.axes3);
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');
%回放
wavplay(x, Fs);
luyin.rar_luyin matlab_matlab 录音_matlab录音
版权申诉
181 浏览量
2022-09-24
02:53:22
上传
评论
收藏 1KB RAR 举报
朱moyimi
- 粉丝: 65
- 资源: 1万+
最新资源
- python建模算法 - 组合赋权法.rar
- c#解析SQL语句(分析语句).zip
- 2024 年上海高职院校学生技能大赛“互联网+国际经济与贸易”赛项样题-外贸 B2B 模块.pdf
- 1111111111111111111
- 2024 年上海高职院校学生技能大赛“电子商务”赛项样题.pdf
- 附件2春节档-电影票房三十日时段趋势数据.xlsx
- 2024 年上海高职院校学生技能大赛 高职组“软件测试”赛项样题.pdf
- 2024 年上海高职院校技能大赛样题-GZ018智能飞行器应用技术(学生赛)竞赛任务书.pdf
- MC56F827xx快速上手指南.docx
- Binlog数据恢复,生成反向SQL语句.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈