科大讯飞内部技术资料,语音处理检测的那些必备技巧
左面的是含噪语音,其中的亮红色部分是有效语音,而那些像沙子一样的紫色的部分则是噪声。从图中可以看出,噪声不仅是"无时不在",而且还是"无处不在",也就是在各种频率处都有分布,右侧的是降噪后的语音,可以很明显的看出,降噪前那些像沙子一样的紫色的部分淡了很多,就是噪声被有效的抑制了。
在实际应用中,降噪使用的噪声频谱通常不是一成不变的,而是随着降噪过程的进行被持续修正的,即降噪的过程是自适应的。这样做的原因一方面是语音数据前部的静音长度有时不够长,背景噪声数据不足导致得到的噪声频谱往往不够准确,另一方面,背景噪声往往不是绝对稳定的,而是渐变的甚至会突变到另一种稳定的背景噪声。
这些原因都要求在降噪的过程中对使用的噪声频谱做及时修正,以得到较好的降噪效果。修正噪声频谱的方法是使用后继音频中的静音,重复噪声频谱提取算法,得到新的噪声频谱,并将之用于修正降噪所用的噪声频谱,所以降噪的过程中仍然要使用端点检测中用到的如何判断静音。噪声频谱修正的方法或者是新旧频谱进行加权平均,或者使用新的噪声频谱完全替换使用中的噪声频谱。
以上介绍的是降噪的非常简单的原理。实际应用中的降噪算法远比上面介绍的要复杂,现实中的噪声源多种多样,其产生的机理和特性也较为复杂,所以噪声抑制在现今仍然是一个较为活跃的研究领域,各种新技术也层出不穷,比如在实际应用中已经使用了多麦克风阵列来进行噪声抑制。
▎音频压缩
音频压缩的必要性众所周知,不再赘述。所有的音频压缩系统都要求有两种对应的算法,一种是运行于源端上的编码算法(encoding),另一种是运行于接收端或用户终端的解码算法(decoding)。
编码算法和解码算法表现出一定的不对称性。这种不对称性一是表现在编码算法和解码算法的效率可以不同。音频或视频数据在存储时,通常只被编码一次,但将被解码成千上万次,所以编码算法较复杂、效率降低、费用昂贵是可以被接受的,但解码算法一定要快速、简单而且廉价。编码算法和解码算法的不对称性还表现在编码和解码的过程通常是不可逆的,也就是说,解码后得到的数据和编码之前的原始数据可以是不同的,只要它们听起来或看起来是一样的即可,这种编解码算法通常称为有损的,与此对应的是,如果解码后得到和原始数据一致的数据,这种编码和解码称为无损的。
音视频编解码算法大多是有损的,因为忍受一些少量信息的丢失,往往可以换来压缩率的大幅提升,音频信号的压缩编码采用了数据编码中的一些技术,如熵编码、波形编码、参数编码、混合编码、感知编码等。
本次课重点介绍感知编码,相对于其他的编码算法,感知编码基于人耳听觉的一些特性(心理声学),去除音频信号中的冗余,从而达到音频压缩的目的。相对于其他的音频编码算法(无损的),在人耳没有感觉到明显失真的条件下,可以达到10倍以上的较大压缩率。
首先来介绍感知编码的心理声学基础。音频压缩的核心是去除冗余。所谓冗余就是语音信号中包含的不能为人耳所感知的信息,它对人类确定音色、音调等信息没有任何帮助,比如,人耳能听到的声音频率范围为20-20KHz,无法感知频率低于20Hz的次声波和频率高于20KHz的超声波。再比如,人耳也无法听到一段"不够响"的声音。感知编码就是利用了人类听觉系统的这类特性,达到去除音频冗余信息的目的。
感知编码中的心理声学主要有:频率屏蔽、时域屏蔽、可听度阈值等。
频率屏蔽 频率屏蔽在生活中处处可见,比如你在家中坐在沙发上安静的看电视,突然,正在装修的邻居家一阵很刺耳的电钻钻墙的声音传来,这时你所能听到的只有手提电钻发出的很强的噪声,尽管此时电视所发出的声音仍然在刺激着你的耳膜,但你却充耳不闻,也就是说,一段强度很高的声音可以完全屏蔽一段强度较低的声音,这种现象称为频率屏蔽。
时域屏蔽 承接前一个例子,不仅在电钻发出声音的时间内人耳听不到电视机的声音,就是在电钻的声音刚停下来的一小段时间内,人耳也听不到电视机的声音,这种现象称为时域屏蔽。产生时域屏蔽的原因是人类的听觉系统是一个增益可调的系统,听强度较大的声音时,增益较低,听强度较小的声音时,增益较高。有时人类甚至借助外部手段来改变听觉系统的增益,比如,捂耳朵以避免强度很大的声音损伤耳膜,而屏住呼吸、侧耳、以手放耳廓后更是听较弱声音时的常见行为。在上例中,强度很大的声音刚消失时,听觉系统需要一小段时间来调高增益,正是在这一小段时间内产生了时域屏蔽。
下面来说可