语音信号处理(四):生成语音信号的语谱图

关于语谱图的简单介绍可以参考这篇文章
现代语音信号处理之语谱图(spectrogram)

下面对 ai d s t 这四个语音进行语谱图绘制

绘制代码如下

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

宽带语谱图

窄带语谱图

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值