实验11语音环境降噪
一、实验目的
1.熟悉语音环境降噪技术原理。
2.熟悉noisereduce包,能够使用noisereduce完成语音环境降噪功能。
二、实验内容
1.算法原理
1.1基本描述
语音通信中,环境背景噪声是影响语音通话质量的重要因素之一。语音环境降噪技术通过消除环境背景噪声并提取干净语音,从而提高语音质量和可识别度,在移动通信、耳机、会议系统、语音交互等应用中具有巨大价值。语音环境降噪技术包括传统的频谱操作技术,包括谱减法、自适应滤波、维纳滤波法、小波降噪等,这些算法基本上都需要进行时域和频域信号的转换,以及频谱的计算操作。传统频谱操作技术对于稳态噪声(stationarynoise)如道路行驶噪声、菜市场嘈杂噪声等比较有效,但对于非稳态噪声(non-stationaynoise)如突然出现的刹车声、警报声等则抑制效果不好;另一类降噪技术是采用深度学习的深层神经网络(DNN:DeepNeuralNetwork),基于大量语音噪声标识数据,训练降噪模型,然后利用模型进行语音信号处理,这些技术能够很好的处理稳态噪声和非稳态噪声,但需要海量的经过标注的噪声数据和GPU集群进行模型训练,整体费用较高,而且模型由于容量太大基本上无法在边缘嵌入式设备上运行,因此基于频谱操作的传统语音环境降噪技术,应用仍然非常广泛。
1.2算法过程
本实验主要介绍采用谱减法进行语音环境降噪,其原理是通过对语音信号进行傅里叶变换,将时域语音信号转换为频域,然后对频域信号片段进行抽样统计,计算出噪声频谱阈值,再根据阈值对语音信号进行消减处理,最终再进行反向傅里叶变换,还原出经过降噪处理的语音时域信号,以下是算法流程
示意图:
算法过程各步骤说明如下:
1)离散傅里叶变换(FFT):将语音时域信号转换为频域信号;
2)频谱特征统计:抽样部分语音片段,统计噪声频谱特征;
3)确定频谱阈值:根据频谱特征统计结果,确定噪声频谱阈值。
4)计算频谱掩码:对比原语音频谱和噪声频谱阈值,计算频谱掩码;
5)应用频谱掩码:掩码经过平滑处理后,应用到原语音信号频谱上,实现噪声抑制的目的;
6)反离散傅里叶变换:根据应用频谱掩码后的结果,进行反向离散傅里叶变换,还原去噪后的语音信号;
7)恢复语音信号:将去噪后的语音信号波形可视化。
2.功能设计
2.1功能描述
AiNLP人工智能轻量化应用框架是一款面向于人工智能自然语言应用的开发框架,采用统一模型
调用、统一硬件接口、统一算法封装和统一应用模板的设计模式,实现了嵌入式边缘计算环境下进行快
速的应用开发和项目实施。
AiNLP为模型算法的调用提供RESTful调用接口,实时返回自然语言算法处理结果,同时通过物
联网云平台的应用接口,实现与硬件的连接和互动,最终形成各色智联网产业应用。
AiNLP框架如下图所示:
三、实验步骤
1.工程部署
1.1硬件部署
1)准备人工智能边缘应用平台,给边缘计算网关正确连接Wi-Fi天线、麦克风(麦克风阵列或者Ai语音摄像头)、电源。
2)按下电源开关上电启动边缘计算网关,将启动ubuntu操作系统。
3)系统启动后,连接局域网内的Wi-Fi网络,记录边缘计算网关的IP地址,比如:192.168.100.200。
1.2工程部署
1)运行MobaXterm工具,通过SSH登录到边缘计算网关(参考附录2)。
2)在SSH终端创建实验工作目录,若文件夹已存在则跳过此步:
3)通过SSH将本实验工程代码和ainlp工程包(DISK-AILab\02-软件资料\02-综合应用\ainlp.zip)
上传到~/ainlp-exp目录下(文件的上传参考附录2)。
2.工程运行
1)在SSH终端输入以下命令运行实验工程:
3.语音环境降噪
1)在实验交互区右下角有录音图标,点击可进行录音(点击录音后,chrome浏览器会弹出提示使用麦克风的权限,需要点击“允许”继续)。
处于录音状态时,录音图标显示动态效果,提示“录音中”,对着麦克风(边缘网关摄像头内部集成了麦克风)进行说话录音,再次点击录音图标则完成录音,算法将进行录制的语音进行分析,在实验交互区显示录制的原始音频、加噪音频和降噪音频的声波图像,在实验结果区都可以看到算法返回结果。
处于录音状态时,录音图标显示动态效果。录音中,对着麦克风,边缘网关摄像头内部集成麦克风,
3)在实验交互区右下角有播放图标,可以播放原始音频、加噪音频和降噪音频,用于对分析结果的对比和理解