语谱图

  • 窄带语谱图和宽带语谱图

首先,什么是语谱图。最通常的,就是语音短时傅里叶变换的幅度画出的2D图。之所以是通常的,是因为可以不是傅里叶变换。“窄带”,顾名思义,带宽小,则时宽大,则短时窗长,窄带语谱图就是长窗条件下画出的语谱图。“宽带”,正好相反。至于“横竖条纹”,窄带语谱图的带宽窄,那么在频率上就“分得开”,即能将语音各次谐波“看得很清楚”,即表现为“横线”。“横”就体现出了频率分辨率高。分辨率可以直观的看做“分开能力”。“频率分辨率”高就是在频率上将各次谐波分开的能力高,表现为能分辨出各次谐波的能力高,频率分辨率越高,越容易分辨各次谐波。类似的,宽带语谱图的时宽窄,那么在时间上就“分得开”,即能将语音在时间上重复的部分“看得很清楚”,即表现为“竖线”。“竖”就体现出了时间分辨率高。时间分辨率越高,谱图上的竖线看得越清楚。图1和图2分别示出了一条语音句子的窄带语谱图和宽带语谱图。短时窗长度分别是20ms和2ms。

图1

图1是一条语音及其窄带语谱图。上图是语音时间波形,下图是上图的窄带语谱图

图2

图2同一条语音及其宽带语谱图。上图是语音时间波形,下图是上图的宽带语谱图

图1虚框框住的部分就是一条横条纹,整个谱图中有非常多的这种横条纹。图2虚框框住的部分,在小图中清晰的显示出了一条一条的“竖线”,被框住的有27条竖线。

  • 从窄带语谱图和宽带语谱图看基音频率和共振峰

基音周期表示声带的震动周期,每隔这么长时间(震动周期),有一个气流通过,“每隔”就体现了周期性,这就是基音周期,那么谱图上就应该有这个频率的信号分量,而且这个频率的幅度(能量)不应该很小,因为每隔一段时间“就有”一团能量通过声带。所以基音频率所在的成分在窄带语谱图上应该是所有横条纹中频率范围最低的那条。在图1中,用虚线框框住的部分就表示基音频率成分,与其在同一水平线上的条纹都表示该时刻的基音频率成分,这条条纹对应的纵轴刻度值就表示基音频率。从图1小图可估计基音频率大约在250Hz左右,基音频率略有波动,0.5s处大约是240Hz。其他横条纹就是各次谐波,这些谐波中有些地方颜色比同时刻其附近其他横条纹颜色要深,这些颜色深的条纹表示共振峰。有些时刻,颜色较局部附近深的条纹不止一条,这些深色条纹组成了各次共振峰,如第一、第二、第三共振峰。图2,宽带语谱图的基音频率和共振峰就不清晰了。但是其仍可以看出基音周期,图2小图具有明显的竖线,两条竖线之间的时间就表示基音周期。在0.44s到0.54s时间段内大约有25条竖线,即24个间隔,则基音周期可估计为(0.54-0.44)/24=4.17ms,则基音频率估计为240Hz。

  • 从语音时域波形上估计基音周期、频谱曲线上估计基音频率

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

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

  • 从语音频谱曲线上看共振峰

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

tu4

图4语音片段时域波形及其源、声道和语音频谱。

图5

图5语音片段时域波形及其源、声道和语音频谱。去掉小图(小图遮挡了部分信息)

基音频率和共振峰是能从谱图、频谱上看出来的语音的最基本的信息,当然可以看出其他更多的信息。比如,窄带语谱图上基本上可以发现,低频部分,横条纹比较直,而高频部分,条纹变“弯”了,这表示什么?图1小图可明显看到,基音频率也不是不变的,其也具有波动,我们可以人为的将基频线连接起来为一条曲线,这称为基音跟踪。共振峰表示“谐振”,频谱上表示为频谱包络(其实是上包络)的峰值,那么频谱下包络的谷值点就表示“反谐振”。频谱的“尖峰”显示的是源的信息,小尖包突起是周期性的,是有用的,那么“杂乱”的源头是非周期性的,这在语音转换中是一种很重要的信息。

PS: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

 

找不到原始地址了,是从这里粘贴过来的https://blog.csdn.net/lzrtutu/article/details/78882715

  • 14
    点赞
  • 75
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
语谱是指将声音信号转换成频谱的过程,主要用于音频信号处理和分析。Matlab是一种强大的科学计算软件,它提供了丰富的音频处理函数和工具箱,可以实现转语谱的功能。 首先,我们需要加载音频文件到Matlab中。可以使用`audioread`函数读取音频文件,并将音频数据存储在一个向量中。然后,我们可以使用`specgram`或`spectrogram`函数对音频数据进行语谱分析。 `specgram`函数将音频数据分成短时间片段,并对每个片段应用傅里叶变换,从而得到频谱。我们可以指定窗口长度、窗口类型和重叠区间的参数,以调整语谱的分辨率和平滑度。 `spectrogram`函数也可以实现类似的功能,但提供了更多的选项,如调整谱颜色映射和输出格式等。通过调整这些参数,我们可以得到更好的语谱效果。 完成语谱分析后,我们可以使用`imagesc`函数将频谱显示在Matlab形界面中。可以根据需要调整坐标轴、标记和颜色映射等形属性。也可以使用`colormap`函数自定义颜色映射方案。 此外,Matlab还提供了其他一些音频处理函数和工具箱,如`fft`函数用于计算傅里叶变换,`filter`函数用于滤波处理,`sound`函数用于播放音频等。这些功能可以与转语谱结合使用,实现更复杂的音频处理和分析任务。 综上所述,使用Matlab可以方便地进行转语谱处理,通过调整参数和使用其他音频处理函数,可以得到适合需求的语谱结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值