通过 TensorFlow 实现 AI 语音降噪提升 QQ 音视频通话质量

腾讯 QQ 团队基于 TensorFlow 构建了音频降噪和音质提升算法,提升通话质量。通过数据驱动的 AI 降噪方法,解决传统方法对非平稳噪声适应性不足的问题。文章详细介绍了训练框架、模型搭建、部署及量化过程,展示了模型在不同信噪比场景下的优秀性能,并通过蒸馏技术优化模型,平衡效果和性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

腾讯 PCG QQ 团队 刘秋男  黄飞  石世昌  华超  杨梁

腾讯 QQ,8 亿人都在使用的即时通信软件,大量用户使用它进行免费视频、音频通话。用户在进行音频通话时可能处于各种场景,嘈杂的背景声音对通话产生干扰,高质量的音频降噪能够有效提升用户通话体验。 

QQ 团队基于开源 TensorFlow 机器学习平台实现了音频降噪、音质提升和模型优化算法,将降噪算法应用于 QQ 音视频通话场景中,为用户提供 AI 赋能的智能通讯。

 

前言

传统降噪方法大部分结合数学、物理原理进行推导,其过程中难免基于人认知的理想先验假设,这降低了传统降噪方法对多种类、非平稳噪声的适应性。传统降噪因其计算量低,能够实时进行语音降噪的优势广为使用,但对实际场景中频发的多种类、非平稳噪声表现不佳。

AI 降噪是最近兴起的基于数据驱动的降噪方法,能够有效的应对各种突发的非平稳噪声,前提是需要大量的训练数据与合适的模型设计。模型在移动端上的部署需要权衡模型大小、降噪效果、CPU 占用率和内存占用率等多个因素,给降噪技术带来了一定的挑战。

本文基于 TensorFlow 平台搭建了一个 AI 降噪与噪声场景分类的并行训练框架,如 Fig.1 所示,打通了数据合成、模型搭建、训练推理及部署流程。此框架集中了 TensorFlow 众多 API,训练好模型后使用 TensorFlow Lite 转为 .tflite 文件。借助 TensorFlow Lite 的量化功能减小模型尺寸,在模型的降噪效果基本不受影响的前提下,极大提升了性能优势并成功部署到产品中上线。

图片

Fig.1 基于 TensorFlow 的训练框图

 

训练框架搭建

数据处理

数据是以一边读取一边合成的方式动态合成带噪音频,数据读取和音频混合使用了 librosa、numpy 等开源框架,最后用 tf.data.Dataset.from_generator() 函数进行封装,模型在训练时直接调用此接口提取数据。

展示部分数据处理代码如下,自定义数据生成器 data_generator(),其中使用 librosa 开源框架读取音频为 numpy 数组格式,然后按照不同信噪比制作混合音频,每次 yield 一个样本,tf.data.Dataset_from_generator() 函数通过自身的迭代器与自定义的数据生成器遍历数据集。

def snr_mixer(clean_file, noise_file, snr, sample_rate=16000):
    clean_audio, _ = librosa.load(clean_file, sr=sample_rate)
    noise_audio, _ = librosa.load(noise_file, sr=sample_rate)
    snr = np.random.randint(-5, 20)
    speech, noise_ori, noisy = generate_mix_audio(clean_audio, noise_audio, snr)
    return speech, noise_ori, noisy
    
def data_generator():
    for file in self.clean_files:
        idx = random.randint(0, len(self.noise_files) - 1
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值