什么是语谱图

什么是语谱图?最通常的,就是语音短时傅里叶变换STFT的幅度画出的2D图。之所以是通常的,是因为可以不是傅里叶变换。STFT时横轴时间,纵轴频率,每格颜色深浅代表信号能量功率大小。

窄带语谱图

“窄带”,顾名思义,频率带宽小,短时窗长,窄带语谱图就是长窗条件下画出的语谱图。
窄带语谱图的带宽窄,那么在频率上就“分得开,更细致”,即能将语音各次谐波“看得很清楚”,即表现为“横线”。“横”就体现出了频率分辨率高。分辨率可以直观的看做“分开能力”。“频率分辨率”高就是在频率上将各次谐波分开的能力高,表现为能分辨出各次谐波的能力高,频率分辨率越高,越容易分辨各次谐波。

基频和共振峰分析
基音周期表示声带的震动周期,每隔这么长时间(震动周期),有一个气流通过,“每隔”就体现了周期性,这就是基音周期,那么谱图上就应该有这个频率的信号分量,而且这个频率的幅度(能量)不应该很小,因为每隔一段时间“就有”一团能量通过声带。所以基音频率所在的成分在窄带语谱图上应该是所有横条纹中频率范围最低的那条。
在上图中,用虚线框框住的部分就表示基音频率成分,与其在同一水平线上的条纹都表示该时刻的基音频率成分,这条条纹对应的纵轴刻度值就表示基音频率。从放大小图可估计基音频率大约在250Hz左右,基音频率略有波动,0.5s处大约是240Hz。
其他横条纹就是各次谐波,这些谐波中有些地方颜色比同时刻其附近其他横条纹颜色要深,这些颜色深的条纹表示共振峰。有些时刻,颜色较局部附近深的条纹不止一条,这些深色条纹组成了各次共振峰,如第一、第二、第三共振峰。
窄带语谱图上基本上可以发现,低频部分,横条纹比较直,而高频部分,条纹变“弯”了,这表示什么?放大小图可明显看到,基音频率也不是不变的,其也具有波动,我们可以人为的将基频线连接起来为一条曲线,这称为基音跟踪。
共振峰表示“谐振”,频谱上表示为频谱包络(其实是上包络)的峰值,那么频谱下包络的谷值点就表示“反谐振”。每个峰之点就代表一个系统极点,谷值点就是零点。

宽带语谱图

“宽带”,正好相反。至于“横竖条纹”,类似的,宽带语谱图的时宽窄,那么在时间上就“分得开”,即能将语音在时间上重复的部分“看得很清楚”,即表现为“竖线”。“竖”就体现出了时间分辨率高。时间分辨率越高,谱图上的竖线看得越清楚。

基频和共振峰分析
宽带语谱图的基音频率和共振峰就不清晰了。但是其仍可以看出基音周期,图2小图具有明显的竖线,两条竖线之间的时间就表示基音周期。在0.44s到0.54s时间段内大约有25条竖线,即24个间隔,则基音周期可估计为(0.54-0.44)/24=4.17ms,则基音频率估计为240Hz。

时域、频域图

选取0.5s处的一段语音片段,长度为20ms。其时域波形和频谱如图。


基频和共振峰分析
图3左图,用红圈圈示的尖峰用于估计基音周期,双向箭头表示时间范围内5个圈共4个相似的波段,这4段就表示4个基音周期,则可估计基音周期约为4.25ms,则基音频率约为1s/4.25ms=235.2941Hz。
图3右图,频谱具有明显小尖峰,这些尖峰在低频部分(可认为语音频率3400Hz内)比较有规律且平滑,这些尖峰就是各次谐波,从左往右一次是1次、2次、3次……谐波。其中最左边的尖峰对应基音频率,其横坐标对应的值表示基音频率,从小图可看到大约为234.83Hz。利用各次谐波可以得到更精确的估计,图中用红圈表示用于估计基频的谐波,共选取了15个,估计出基频为234.8337Hz。高频出现小幅度的“杂乱”,这些“杂乱”表示噪声,来源有录音设备及量化噪声等(虽然幅度很小,甚至根本就“听”不出来)。

基音频率体现的是声源的信息,而共振峰体现的是声道的信息。为便于比较和观察,根据源滤波模型将图3这个语音片段的源和系统分离,分别展示源的频谱和声道的频谱,观察一致性。

粉红线是声源信息的频谱
红线是语音的频谱
黑色虚线是语音频谱的包络
蓝线是声道频谱

蓝色圈圈标示出声道频谱的峰值点,粉红虚竖线显示这些峰值点的位置。根据语音产生的源-滤波器模型及源、系统的卷积解释,语音频谱的包络显示的是声道的信息,而小尖峰显示源的信息,如谐波。可看到粉红线和红线二者的峰值的位置正好一一对应,体现了源的信息,而且粉红线(源)明显没有包络峰值,说明声道的信息被滤除,只剩声源。
同样,蓝线没有了小尖峰,即滤掉了源的信息,只剩声道信息。并且声道的峰值点位置与语音频谱包络的峰值位置也正好一一对应。蓝圈圈的个数表示共振峰的个数,共有4个,从左至右分别称为F1、F2、F3、F4,(F0是基音频率)。它们横轴值表示共振峰频率值,某共振峰带宽就表示该共振峰所占频带宽度。
这个图还暗示了另一个有趣的事实,源所占的频率范围和声道所占的频率范围是一样的,在频域利用高通或低通或带通的方法分离源和系统是行不通的。在频域是ab,倒谱域就是log ab=log a +log b,即实现分离。

总结:
共振峰表示“谐振”,频谱上表示为频谱包络(其实是上包络)的峰值(对应极点),那么频谱下包络的谷值点就表示“反谐振”(对应零点)。频谱的“尖峰”显示的是源的信息,小尖包突起是周期性的,是有用的,那么“杂乱”的源头是非周期性的,这在语音转换中是一种很重要的信息。

宽带语谱图时间分辨率高,反映了频谱的快速时变过程;窄带语谱图频率分辨率高,反映了频谱的精细结构,二者结合可提供大量与语音特性相关信息。

1、源-系统信息分离和提取参考论文:
“Glottal wave analysis with pitchsynchronous iterative adaptive inverse filtering” Paavo Alku. SpeechCommunication 11(2-3): 109-118 (1992)
2、源-系统分离代码链接:http://users.tkk.fi/~traitio/research.html

宽、窄带语谱图分析总结相关推荐

  1. 窄带语谱图c语言算法,MELP语音编码算法实现及算法改进

    摘要: 随着数字通信在当今社会的快速发展和广泛应用,低速率语音编码以其极低的编码速率,高质量的合成效果在网络通信,军事通信,保密通信和卫星通信等领域发挥着及其重要的作用,成为语音编码中的关键技术.当前 ...

  2. 宽带语谱图(wideband spectrogram)和窄带语谱图(narrowband spectrogram)的区别

    1.概念区分 宽带spectrogram: 以3ms(或300Hz左右的带宽)左右进行分帧之后制成的spectrogram 窄带spectrogram: 以20ms(或45Hz左右的带宽)左右进行分帧 ...

  3. python求语音信号短时能量、短时过零率、语谱图

    python语音信号处理(二) 一.短时能量 短时能量主要用于区分浊音段和清音段,因为浊音时E(i)值比清音时大得多:区分声母与韵母的分界和无话段与有话段分界. 计算第i帧语音信号yi(n)的短时能量 ...

  4. 【语音信号处理】1语音信号可视化——时域、频域、语谱图、MFCC详细思路与计算、差分

    基本语音信号处理操作入门 1. 数据获取 2. 语音信号可视化 2.1 时域特征 2.2 频域特征 2.3 语谱图 3. 倒谱分析 4. 梅尔系数 4.1 梅尔频率倒谱系数 4.2 Mel滤波器原理 ...

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

    关于语谱图的简单介绍可以参考这篇文章 现代语音信号处理之语谱图(spectrogram) 下面对 ai d s t 这四个语音进行语谱图绘制 绘制代码如下 mkdir('***');%新建存放语谱图的 ...

  6. python画图标题为蓝色_python绘制语谱图怎么设置成黄蓝色

    展开全部 语音的时域分析和频32313133353236313431303231363533e59b9ee7ad9431333431333937域分析是语音分析的两种重要方法,但是都存在着局限性.时域 ...

  7. MATLAB实现实时录音,语音采集与读写用matlab实现录音以及语谱图的绘制.pdf

    <语音信号处理>仿真作业 院 系 电气与电子工程学院 专业班级 姓 名 学 号 指导教师 2020 年 3 月 作业题目:语音采集与读写 一.目的 (1)了解matlab 采集语音信号的原 ...

  8. python实现时频谱,语谱图,mel语谱倒谱等

    python实现时频谱,语谱图,mel语谱倒谱等 可以和理论相结合学习:https://blog.csdn.net/qq_36002089/article/details/108378796 语音信号 ...

  9. 语音信号处理频域语谱图matlab实验,语音信号的频域分析

    实验二:语音信号的频域分析 实验目的:以MATLAB 为工具,研究语音信号的频域特性,以及这些特性在<语音信号处理>中的应用情况. 实验要求:利用所给语音数据,分析语音的频谱.语谱图.基音 ...

  10. waveform波形图(时域图)、spectrum(频谱图)、spectrogram(语谱图)、MFCC

    人的气流(excitation)通过声道到嘴唇产生声音.唇齿舌的形状决定了发出怎样的声音,这个形状通过频谱图中的包络中显示出来.而MFCCs就是一种准确描述这个包络的一种特征. 一.waveform波 ...

最新文章

  1. Python3 与 C# 面向对象之~封装
  2. 总结:JDK1.5-JDK1.8各个新特性
  3. Shell变量:Shell变量的定义、删除变量、只读变量、变量类型
  4. 867. 分解质因数
  5. 三层神经网络实现手写数字的识别(基于tensorflow)
  6. 【Python】os库的使用
  7. flutter AnimatedPositionedDirectional 使用解析
  8. 基于JAVA+SpringMVC+Mybatis+MYSQL的外卖点餐系统
  9. python oop编程_23 Python - 面向对象编程OOP
  10. parawork平台介绍
  11. 值得收藏,分享3个的 Python 实战项目
  12. Cximage 库使用,直接读取图像数据到内存。
  13. matlab解超越函数,矩阵的超越函数Matlab提供的矩阵函数.PPT
  14. iOS 面试题 高级
  15. Microsoft Network Monitor的select network栏空白
  16. js写的 几款时间轴
  17. VB如何使用API直接操作打印机
  18. [算法] 剑指offer2 golang 面试题2:二进制加法
  19. spss分组统计的方法
  20. 使用Eclipse创建Java应用程序,实现从控制台输出多行信息:姓名、年龄、爱好

热门文章

  1. [视频访谈翻译]David Kaneda访谈:移动HTML5设计和开发
  2. QT5 自定义窗口的详细设计方案
  3. 用c 语言编写乘法口诀表,用C语言编程乘法口诀表
  4. vue resource的应用
  5. 2512厚膜贴片电阻使用介绍
  6. RNA结构预测竞赛圆满落幕,优胜选手花式解题思路齐奉上
  7. verilogVGA显示太极图案
  8. Android4太极,Android 绘制太极图实例详解
  9. linux服务器测网速,linux服务器如何测试网速?
  10. 数据开发常用的几种数据预处理和数据整理方法