一、语音处理流程
1、人的声带振动产生驻波信号,信号通过空气传播引起麦克风的振膜振动,经过ADC(模数转换器)
采样后将机械振动信号转换成电荷量,进而转换成离散的数字信号。
2、用噪声抑制等语音算法增强数字域的语音信号,这里的增强是“提纯”(去除噪声和干扰,增加语音可懂度和语音听感质量)采集到语音信号。
-
可懂度,听者能听懂通过一定传声系统传递的言语信号的百分率。也称为 语言清晰度 (speech intelligibility)
-
语音听感质量,PESQ (perceptual evaluation of speech quality),语音质量的感知评估,其应用听觉变换产生响度谱,并比较干净参考信号和分离信号的响度谱,产生-0.5-4.5范围内的分数,对应于感知MOS(Mean Opinion Score)的预测。
3、增强后的语音信号根据应用场景的差异会有不同的处理方式:
(1)对于人机交互场景
,如智能音箱等,由于噪声对语音识别无帮助,因而只需传输语音即可,为了减少网络开销,通常将编码后的数据通过JSON/Protocol Buffer的方式分包,然后通过轻量级的网络协议(如MQTT协议)传输出去,只做丢包重传,不做网络均衡处理,再由部署在云端的服务器进行处理,这种场景的网络延迟容忍度比实时音视频会议高,丢包的容忍度较低,最后云端将处理后的结果通过网络返回给设备锁。
(2)对于音视频会议场景
,在可靠性基础上增加了实时性和语音品质要求,经过编码、RTP分包处理,最终通过基于UDP/RTP协议或TCP协议传输出去;接收端收到的编码语音信号通常伴随着丢包、乱序和抖动,在播放前需要做丢包隐藏和抗抖动处理。还需对音视频数据包做拥塞控制。
4、解码后的语音信号送入与语音识别模块,对于给人耳听的场景,还要进行增益和音效处理,以便让声音听起来更舒适、悦耳。 -
RTP定义:Real-time Transport Protocol,是由IETF的多媒体传输工作小组于1996年在RFC 1889中公布的。RTP为IP上的语音、图像等需要实时传输的多媒体数据提供端对端的传输服务,但本身无法保证服务质量(QoS),因此,需要配合实时传输控制协议(RTCP)一起使用。
-
RTCP定义:Real-time Transport Control Protocol,监控服务质量并传送会话参与者信息,服务器可利用RTCP数据包信息改变传输速率、负载数据类型。
二、噪声类型及去噪方法
1、噪声
噪声是指各种类型的非人声的背景声音,与说话人之间不相关。
(1)谱减法:基于噪声是加性的假设,带噪语音段减去非语音段,得到纯净的语音,对于稳态噪声场景,常常采用最小值控制的递归平均算法(IMCRA)估计噪声。缺点是当估计的噪声多少时,会存在噪声残留,当估计的噪声过多时,减法运算也会消去部分语音。
(2)基于统计的方法。维纳滤波(Winner Filter, WF)、最小均方误差(Minimum Mean Squared Error, MMSE/log-MMSE)以及最大后验(Maximum A Posteriori MAP)法。奇异值分解(Singular Value Decomposition, SVD)、独立成分分析(Independent Compoent Analysis, ICA)和主成分分析(Principal Component Analysis)。
2、混响
是由于声音经过散射和多次反射,多次被麦克风采集到,人耳能明显区别出的是回声。
在智能人机交互以及视频会议中常采用加权预测误差法(Weighted Prediction Error, WPE)和多通道卡尔曼滤波的方式处理,在语音识别场景中,通常会对训练预料加混响,以增强抗混响识别率。
3、回声
回声是指设备自身的扬声器发出的声音,他会被麦克风再次采集到。
(1)基于频域分块处理方法,基于LMS/NLMS、RLS(recursive least square)、APA(Affine Projection Algorithm)自适应处理方法,要能最大限度地消除回声,且最小限度地影响真正的声源挑战还是比较大的。
4、干扰
语音干扰指感兴趣的语音之外的声音,通过增强算法处理过的语音,对自动语音识别的准确率和人的主观听感品质均有提升,尤其在远场场景下。
常采用波束形成和盲源分离技术进行处理,和基于单麦克的语音增强技术相比,多通道语音增强技术利用阵列带来的空间信息使得在降噪性能提升的同时语音失真度更小。盲源分离基于多通道的高阶统计量信息。