获取代码方式1:
完整代码已上传我的资源:【短时平均过零率】基于matlab语音信号短时平均过零率【含Matlab源码 1721期】
获取代码方式2:
通过订阅紫极神光博客付费专栏,凭支付凭证,私信博主,可获得此代码。
备注:
订阅紫极神光博客付费专栏,可免费获得1份代码(有效期为订阅日起,三天内有效);
短时平均过零率表示一帧语音中语音信号波形穿过横轴的次数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | clear all; clc; close all; filedir=[]; % 设置路径 filename='s.wav'; % 设置文件名 fle=[filedir filename]; % 构成完整的路径和文件名 [xx,Fs]=audioread(fle); % 读入数据文件 x=detrend(xx); % 消除直流分量 wlen=200; inc=80; % 设置帧长、帧移 win=hanning(wlen); % 窗函数 N=length(x); % 求数据长度 X=enframe(x,win,inc)'; % 分帧 fn=size(X,2); % 获取帧数 zcr1=zeros(1,fn); % 初始化 time=(0:N-1)/Fs; % 计算时间坐标 frameTime=frame2time(fn,wlen,inc,Fs); % 求出每帧对应的时间 % 作图 subplot 211; plot(time,x,'k'); grid; title('语音波形'); ylabel('幅值'); xlabel(['时间/s' 10 '(a)']); subplot 212; plot(frameTime,zcr1,'k'); grid; title('短时平均过零率'); ylabel('幅值'); xlabel(['时间/s' 10 '(b)']); |
1 matlab版本
2014a
2 参考文献
[1]韩纪庆,张磊,郑铁然.语音信号处理(第3版)[M].清华大学出版社,2019.
[2]柳若边.深度学习:语音识别技术实践[M].清华大学出版社,2019.
[3]宋云飞,姜占才,魏中华.基于MATLAB GUI的语音处理界面设计[J].科技信息. 2013,(02)