基音频率基音matlab基音频率计算含Matlab源码 1384期
Posted 紫极神光
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基音频率基音matlab基音频率计算含Matlab源码 1384期相关的知识,希望对你有一定的参考价值。
一、获取代码方式
获取代码方式1:
通过订阅紫极神光博客付费专栏,凭支付凭证,私信博主,可获得此代码。
获取代码方式2:
通过紫极神光博客主页开通CSDN会员,凭支付凭证,私信博主,可获得此代码。
获取代码方式3:
完整代码已上传我的资源:【基音频率】基音matlab基音频率计算【含Matlab源码 1384期】
备注:开通CSDN会员,仅只能免费获得1份代码(有效期为开通日起,三天内有效);
订阅紫极神光博客付费专栏,可免费获得2份代码(有效期为订阅日起,三天内有效);
二、部分源代码
a=audioread('sound.wav');
L=length(a); %测定语音的长度
m=max(a);
for i=1:L
a(i)=a(i)/m; %数据归一化
end
%找到归一化以后数据的最大值和最小值
m=max(a); %找到最大的正值
n=min(a); %找到最小的负值
%为保证幅度值与横坐标轴对称,采用计算公式是n+(m-n)/2,合并为(m+n)/2
for i=1:L; %数据中心下移 保持和横坐标轴对称
a(i)=a(i)-ht;
end
figure(1); %画第一幅图
subplot(2,1,1); %第一个子图
plot(a,'k');
%axis([0,1711,-1,1]); %确定横、纵坐标的范围
title('中心削波前语音波形'); %图标题
xlabel('样点数'); %横坐标
ylabel('幅度'); %纵坐标
for k=1:L ; %中心削波
if a(k)>=th0
a(k)=a(k)-th0;
elseif a(k)<=(-th0);
a(k)=a(k)+th0;
else
a(k)=0;
end
end
m=max(a);
for i=1:L; %中心削波函数幅度的归一化
end
subplot(2,1,2); %第二个子图
plot(a,'k');
%axis([0,1711,-1,1]); %确定横、纵坐标的范围
title('中心削波后语音波形'); %图标题
xlabel('样点数'); %横坐标
ylabel('幅度'); %纵坐标
%fclose(fid); %关闭文件
b = a;
b1 = a((0.8*16000):(0.8*16000+2*0.02*16000));
%b1 = a((0.05*16000):(0.05*16000+2*0.02*16000));
N = zc;
for k = 1:N
sum = 0;
for m = 1:N;
sum = sum + abs(b1(m)-b1(m+k-1));
%sum = sum + b1(m)*b1(m+k-1);
end
A(k) = sum;
end
figure;
subplot 211;
plot(b1(1:(0.02*16000)));
subplot 212;
plot(A);
三、运行结果
四、matlab版本及参考文献
1 matlab版本
2014a
2 参考文献
[1]韩纪庆,张磊,郑铁然.语音信号处理(第3版)[M].清华大学出版社,2019.
[2]柳若边.深度学习:语音识别技术实践[M].清华大学出版社,2019.
以上是关于基音频率基音matlab基音频率计算含Matlab源码 1384期的主要内容,如果未能解决你的问题,请参考以下文章
语音去噪基音matlab GUI音频信号去噪含Matlab源码 1386期