AudioDec是由Facebook Research开发的一款开源高保真流式神经音频编解码器。它旨在为实时通信应用提供高质量的音频压缩和重建能力,同时保持低比特率和低延迟。AudioDec在三个关键指标上都取得了优异的表现:
压缩率高:仅需12.8 kbps的比特率即可传输信号延迟低:在GPU上编解码延迟仅为6毫秒,CPU上约10毫秒重建质量高:可重建高度自然的48 kHz语音信号这使得AudioDec成为实时语音通信、直播等应用的理想选择。
AudioDec具有以下几个突出的特点:
开源可用: AudioDec采用开源许可发布,研究者和开发者可以自由使用和修改代码。
流式处理: 支持实时流式编解码,适合低延迟通信场景。
高保真重建: 能够重建高质量的48 kHz语音信号,保持语音的自然度。
低资源消耗:
仅需12.8 kbps的比特率即可传输单声道48 kHz语音GPU上解码延迟约6毫秒,CPU上(4线程)约10毫秒高效训练范式: 采用两阶段训练方法,可快速适应新的应用场景。
多模式支持: 提供AutoEncoder和AutoEncoder+Vocoder两种工作模式。
AudioDec支持两种主要的工作模式:
AutoEncoder模式(symAD)
从头训练一个基于AutoEncoder的编解码模型先用度量损失训练200k次迭代然后固定编码器、投影器、量化器和码本,用判别器训练解码器500k次迭代AutoEncoder + Vocoder模式(AD v0,1,2) (推荐)
提取训练好的Encoder提取的码本统计信息(全局均值和方差)用训练好的Encoder和统计信息训练vocoder 500k次迭代第二种模式是官方推荐的使用方式,可以获得更好的音频重建效果。
要开始使用AudioDec,首先需要安装相关依赖:
Python 3.8+CUDA 11.0+PyTorch 1.10+然后可以通过以下步骤运行实时流式编解码演示:
下载预训练模型获取I/O设备列表运行演示脚本:# GPU版本python demoStream.py --tx_cuda 0 --rx_cuda 0 --input_device 1 --output_device 4 --model libritts_v1# CPU版本 python demoStream.py --tx_cuda -1 --rx_cuda -1 --input_device 1 --output_device 4 --model libritts_symAudioDec还提供了文件编解码演示:
# VCTK 48kHz模型python demoFile.py --model vctk_v1 -i input.wav -o output.wav# LibriTTS 24kHz模型python demoFile.py --model libritts_v1 -i input.wav -o output.wav如果需要针对特定应用场景训练自己的AudioDec模型,可以按照以下步骤进行:
准备训练/验证/测试数据集修改配置文件中的路径运行训练脚本:bash submit_codec.sh --start 0 --stop 4 --autoencoder "autoencoder/symAD_vctk_48000_hop300" --statistic "stati/symAD_vctk_48000_hop300_clean" --vocoder "vocoder/AudioDec_v1_symAD_vctk_48000_hop300_clean"这将完成从头训练AutoEncoder、提取统计信息、训练Vocoder到最终测试的全流程。
除了基本的音频编解码功能,AudioDec还可以扩展到其他音频处理任务,如降噪:
准备噪声-干净语音对数据集更新编码器进行降噪训练:bash submit_autoencoder.sh --stage 0 --tag_name "denoise/symAD_vctk_48000_hop300"运行降噪:bash submit_autoencoder.sh --stage 2 --encoder "denoise/symAD_vctk_48000_hop300" --decoder "vocoder/AudioDec_v1_symAD_vctk_48000_hop300_clean" --encoder_checkpoint 200000 --decoder_checkpoint 500000 --subset "noisy_test"这种方法只需更新编码器,就可以实现降噪等新功能,体现了AudioDec良好的模块化设计和扩展性。
在VCTK语料库上进行的客观和主观评估表明,AudioDec在低比特率下仍能保持较高的音频质量。与SoundStream等其他神经网络编解码器相比,AudioDec在相同比特率下可以获得更好的音质。
虽然论文中没有直接与Opus等传统编解码器比较,但AudioDec的神经网络架构为进一步提升性能提供了更大的潜力空间。在实际应用中,AudioDec展现出优秀的实时性能,能够满足低延迟通信的需求。
AudioDec作为一个开源的高保真神经音频编解码器,在压缩率、延迟和重建质量等方面都取得了不错的平衡。它的模块化设计和高效训练范式,为研究人员和开发者提供了一个理想的音频编解码基准和开发平台。
未来AudioDec还有很大的发展空间,如:
进一步降低比特率,提高压缩效率改进网络结构,减少计算资源消耗扩展到多通道音频处理结合更多音频处理任务,如语音增强、分离等总的来说,AudioDec为神经网络音频编解码领域提供了一个强大而灵活的解决方案,有望在未来的实时通信和音频处理应用中发挥重要作用。研究者和开发者可以基于AudioDec进行进一步的探索和创新,推动音频技术的不断进步。