音频特征(3):绘制语谱图

之前小程介绍过怎么绘制音频的波形图(指振幅图),振幅是声音的一个特征,反应了声音能量的大小。频率,是声音的另一个特征,反应了声音音调的高低。对频率的直观描述或分析,需要使用到语谱图等手段。

本文介绍如何通过python的pyplot来绘制音频的语谱图, 正如使用pyplot来绘制波形图一样。

语谱图,也就是语音频谱图,也叫时频图,横坐标是时间,纵坐标是频率。

先来看一下,audition绘制出来的一个语谱图,是长这个样子的:
语谱图示例

留意,是否有看到一条条有亮度的条纹了?

这些叫声纹,表示在某个时间区域内,频率集中在某个值上。并且,用亮度来表示集中的频率。整个图,是频率的声纹集合。

通过语谱图,可以分析出语音的内容,诸如声母、音调之类的数据,可以分析泛音频率的分布,比如这个歌手的声音覆盖了哪些频段(而且是不是平稳持续等),当然还可以拿不同时间区间的声纹进行对比以得到更多信息,等等。

你是否留意到上图很简洁,明显有很多间隔像是静音一样,那就对了,因为上图是我录制的一段语音的表现,这段语音只是在简单数数,所以就很简单,实际的情况比如歌曲,频谱图的内容会丰富很多。

绘制语谱图的办法,跟绘制波形图很相像,小程不再贴完整的代码了,你可以参考之前的文章。

这里,只给出差异的代码,请看下面的截图:
绘制语谱图的关键代码

运行起来,就可以看到语谱图了,小程提供几个截图。

单通道的语谱图:
单通道的语谱图

再比如,双通道的语谱图:
双通道的语谱图

至此,绘制语谱图的过程与效果介绍完毕了。

总结一下,本文是之前“绘制波形图”的延续,介绍了语谱图的绘制,相比与波形图的绘制,只需要简单的代码改动,比较简单。


hello

猜你喜欢

转载自www.cnblogs.com/freeself/p/11089028.html