关于语谱图的简单介绍可以参考这篇文章
绘制代码如下
mkdir('***');%新建存放语谱图的文件夹
file='***';%声音信号所在文件夹
file1=strcat(file,'*.wav');
% file1='***';%(strcat:连接多个字符串)
file2=dir(file1);%获取文件夹下所有的wav文件(dir:读取文件夹下所有文件和文件夹/特定后缀的文件)
k=length(file2);%计算wav文件个数(length:数组长度,行数或者列数的较大值 size:数组的行数和列数 numel:元素总数)
R=512;%窗长
window=hamming(R);%汉明窗
N=512;%fft个数,与窗长相同
L=256;%步长
overlap=R-L;%帧长重叠部分,也叫帧移,一般重叠部分为50%
for i=1:k
file3=strcat(file,file2(i).name);%单个音频的绝对路径
[x,fs]=audioread(file3);%读取单个音频,fs是采样频率
x1=x(:,1)%x为双声道,所以后面取单声道数据
%plot(x1)%可以画波形图
file4=strcat('***',file2(i).name,'.jpg')%语谱图命名方式和存储文件夹
%x1=awgn(x1,100,'measured','linear');%可以加白噪
subplot(2,2,i);
specgram(x1,N,fs,window,overlap);%第一种:specgram无输出的时候,直接画出来
saveas(gca,file4);%保存语谱图图片
title('窄带语谱图');
end
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- oldu.cn 版权所有 浙ICP备2024123271号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务