语音中的语谱图
语谱图直观的表示语音信号随时间变化的频谱特性。任一给定频率成分在给定时刻的强弱用相应点的灰度或色调的浓淡来表示。用语谱图分析语音又称为语谱分析。语谱图中显示了大量的与语音的语句特性有关的信息,它综合了频谱图和时域波形的特点,明显地显示出语音频谱随时间的变化情况,或者说是一种动态的频谱。可以用语谱仪来记录这种谱图。
语谱图的纵轴对应于频率,横轴对应于时间,而图像的黑白度对应于能量。所以声音的谐振频率在图上就表示成为黑带,浊音部分则出现条纹图形,这是因为此时的时域波形有周期性,在浊音的时间间隔内图形显得很紧密。
语谱图的Matlab程序:
%语谱图程序 2013/9/24
clear all;
[x,sr]=wavread('test.wav');
%sr为采样频率
if(size(x,1)>size(x,2))%size(x,1)为x的行数,size(x,2)为x的列数
x=x';
end
s=length(x);
w=round(44*sr/1000);
%窗长,取离44*sr/1000最近的整数
n=w;
%fft的点数
ov=w/2;
%50%的重叠
h=w-ov;
% win=hanning(n)';
%汉宁窗
win=hamming(n)';
%汉明窗
c=1;
ncols=1+fix((s-n)/h);
d=zeros((1+n/2),ncols);
for b=0:h:(s-n)
u=win.*x((b+1):(b+n));
t=fft(u);
d(:,c)=t(1:(1+n/2))';
c=c+1;
end
tt=[0:h:(s-n)]/sr;
ff=[0:(n/2)]*sr/n;
imagesc(tt/1000,ff/1000,20*log10(abs(d)));
colormap(gray);
axis xy
xlabel('时间/s');
ylabel('频率/kHz');
结果为:
文章图片
【语音中的语谱图】
推荐阅读
- 语音朗读|语音朗读 自我点评
- 语音篇?重读位置(七)
- 借助android|借助android uiautomator+情迁工具箱自动朗读实现语音红包自动发送语音,自动领取
- (第一百一十二期)——情绪
- flutter|从集成百度语音SDK说起---flutter与native数据通信初试
- M(MUMPS)语音中的语法
- 语音去混响之MCLP算法
- 100|100 袁春楠说(第100条语音达成)
- 语音码字之《贵阳失恋博物馆》
- 妈妈,我想让你用正面管教的语音跟我说话!