项目介绍:VoiceFixer
项目背景
VoiceFixer 是一种通用的语音修复框架,旨在恢复严重退化的语音以及历史音频。在现代音频处理中,有不少场景需要修复受损的语音,例如老旧录音的修复、人声记录中的噪音消除等。VoiceFixer 专为解决这些问题而设计,为语音的清晰度和准确性提供了有效的解决方案。
项目材料
- 论文预印本:详细介绍了 VoiceFixer 的基础理论和实现细节。
- 演示页面: 展示了单任务、通用语音修复和 VoiceFixer 效果的比较。
- pip 软件包:提供了语音修复实现的安装包。
- 数据集链接:训练和测试数据集。
使用方法
环境准备
在开始使用 VoiceFixer 之前,需要准备好开发环境:
# 下载数据集并准备运行环境
git clone https://github.com/haoheliu/voicefixer_main.git
cd voicefixer_main
source init.sh
VoiceFixer 的通用语音修复
VoiceFixer 使用了一种称为 VF_UNet 的结构,该结构通过 Unet 作为分析模块进行语音修复。
- 训练
可以通过以下命令启动训练过程,用户可以通过修改配置文件来定制化训练过程:
python3 train_gsr_voicefixer.py -c config/vctk_base_voicefixer_unet.json
训练过程中的检查点、日志和验证结果将保存在 logs 目录下。
- 评估
自动评估所有测试集,并生成.csv 文件。可以通过以下命令进行评估:
python3 eval_gsr_voicefixer.py \
--config <path-to-the-config-file> \
--ckpt <path-to-the-checkpoint>
VoiceFixer 支持多个不同类型的测试集,如通用语音修复测试集、噪声语音增强测试集、语音超分辨率测试集等,用户可以通过参数来自定义评估内容。
ResUNet 的通用语音修复
ResUNet 是另外一种用于语音修复的模型结构。其训练和评估方法类似于 VoiceFixer 模型。
- 训练
启动训练过程:
python3 train_gsr_voicefixer.py -c config/vctk_base_voicefixer_unet.json
- 评估
评估方法与 VoiceFixer 类似:
python3 eval_ssr_unet.py
--config <path-to-the-config-file> \
--ckpt <path-to-the-checkpoint> \
--testset <the-testset-you-want-to-use> \
ResUNet 的单任务语音修复
ResUNet 也可以用于特定任务的语音修复,如去噪、去混响、超分辨率和去剪裁等。每种任务都有相应的训练脚本,训练和评估方法与通用语音修复类似。
引用
如果在研究工作中使用了 VoiceFixer,请引用以下文献:
@misc{liu2021voicefixer,
title={VoiceFixer: Toward General Speech Restoration With Neural Vocoder},
author={Haohe Liu and Qiuqiang Kong and Qiao Tian and Yan Zhao and DeLiang Wang and Chuanzeng Huang and Yuxuan Wang},
year={2021},
eprint={2109.13731},
archivePrefix={arXiv},
primaryClass={cs.SD}
}
VoiceFixer 提供了直观且实用的语音修复功能,为研究人员以及音频处理从业者提供了极具价值的工具。通过不断的优化和完善,其未来的发展前景值得期待。