李凯1 , 桑文迪1 , 曾昌2 , 杨润轩1 , 郭晨1 , 胡晓琳1
1清华大学,中国
2日本国立信息研究所
纸|演示
我们推出 SonicSim,这是一个综合工具包,旨在为移动声源生成高度可定制的数据。 SonicSim基于实体AI仿真平台Habitat-sim开发,支持场景级、麦克风级、音源级等多级参数调整,从而生成更加多样化的合成数据。利用 SonicSim,我们使用 LibriSpeech 数据集、Freesound Dataset 50k (FSD50K) 和 Free Music Archive (FMA) 以及 Matterport3D 中的 90 个场景构建了移动声源基准数据集 SonicSet,以评估语音分离和增强模型。
[2024-10-30] 我们修复了安装环境的错误,并更新了 SonicSet 数据集上语音分离和增强模型的训练代码。
[2024-10-23] 我们发布了 SonicSet 数据集上语音分离和增强模型的training code
。
[2024-10-03] 我们在arxiv上发布了论文
[2024-10-01] 我们发布了真实世界语音分离数据集,旨在评估真实场景中语音分离模型的性能。
[2024-07-31] 我们发布了SonicSim dataset
,其中包括语音分离和增强任务。
[2024-07-24] 我们发布了用于dataset construction
的脚本以及用于speech separation and enhancement
的预训练模型。
3D 场景导入:支持从 Matterport3D 等数据集中导入各种 3D 资源,从而高效且可扩展地生成复杂的声学环境。
声环境模拟:
使用室内声学建模和双向路径追踪算法来模拟房间几何形状内的声音反射。
将 3D 场景的语义标签映射到材质属性,设置表面的吸收、散射和透射系数。
根据源路径合成移动声源数据,确保对现实条件的高保真度。
麦克风配置:提供多种麦克风设置,包括单声道、双耳和高保真度立体声响复制,并支持自定义线性和圆形麦克风阵列。
源和麦克风定位:提供声源和麦克风位置的定制或随机化。支持移动声源模拟的运动轨迹,为动态声学场景增添真实感。
您可以从以下链接下载预构建的数据集:
数据集名称 | Onedrive | 百度网盘 |
---|---|---|
train文件夹(40个分割rar文件,377G) | [下载链接] | [下载链接] |
val.rar (4.9G) | [下载链接] | [下载链接] |
测试.rar(2.2G) | [下载链接] | [下载链接] |
9月基准数据(8.57G) | [下载链接] | [下载链接] |
enh-基准数据(7.70G) | [下载链接] | [下载链接] |
数据集名称 | Onedrive | 百度网盘 |
---|---|---|
真实世界数据集(1.0G) | [下载链接] | [下载链接] |
RealMAN 数据集:RealMAN
要自行构建数据集,请参阅SonicSim-SonicSet/data-script
文件夹中的 README。本文档提供了有关如何使用提供的脚本生成数据集的详细说明。
要设置训练和推理环境,请使用提供的 YAML 文件:
conda 创建-n SonicSim-Train python=3.10 conda 激活 SonicSim-Train pip 安装 Cython==3.0.10 numpy==1.26.4 pip install torch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 --index-url https://download.pytorch.org/whl/cu118 pip install -r requests.txt -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple
导航到separation
目录并运行以下脚本以生成固定验证集:
CD分离 pythongenerate_fixed_validation.py --raw_dir=../SonicSim-SonicSet/SonicSet/scene_datasets/mp3d/val --save_dir=../SonicSim-SonicSet/SonicSet/scene_datasets/mp3d/val-sep-2 --is_mono pythongenerate_fixed_test.py --raw_dir=/home/pod/SonicSim/SonicSim/SonicSim-SonicSet/SonicSet/scene_datasets/mp3d/test --is_mono
导航到enhancement
目录并运行以下脚本以生成固定验证集:
光盘增强 pythongenerate_fixed_validation.py --raw_dir=../SonicSim-SonicSet/SonicSet/scene_datasets/mp3d/val --save_dir=../SonicSim-SonicSet/SonicSet/scene_datasets/mp3d/val-enh-noise --is_mono pythongenerate_fixed_test.py --raw_dir=/home/pod/SonicSim/SonicSim/SonicSim-SonicSet/SonicSet/scene_datasets/mp3d/test --is_mono
导航到separation
目录并使用指定的配置文件运行训练脚本:
CD分离 python train.py --conf_dir=configs/afrcnn.yaml
导航到enhancement
目录并使用指定的配置文件运行训练脚本:
光盘增强 python train.py --conf_dir=config/dccrn.yaml
请检查sep-checkpoints和enh-checkpoints文件夹中README.md的内容,在Release中下载相应的预训练模型并将其解压到相应的文件夹中。
导航到separation
目录并使用指定的配置文件运行推理脚本:
CD分离 python inference.py --conf_dir=../sep-checkpoints/TFGNet-Noise/config.yaml
导航到enhancement
目录并使用指定的配置文件运行推理脚本:
光盘增强 python inference.py --conf_dir=../enh-checkpoints/TaylorSENet-Noise/config.yaml
使用真实录制的音频和环境噪声在不同数据集上训练的模型的比较性能评估。分别报告“在 LRS2-2Mix 上训练”、“在 Libri2Mix 上训练”和“在 SonicSet 上训练”的结果,并以斜杠区分。相对长度在值下方用水平条表示。
使用真实录制的音频和音乐噪声在不同数据集上训练的模型的比较性能评估。分别报告“在 LRS2-2Mix 上训练”、“在 Libri2Mix 上训练”和“在 SonicSet 上训练”的结果,并以斜杠区分。
使用 RealMAN 数据集在不同数据集上训练的模型的比较性能评估。分别报告“在 VoiceBank+DEMAND 上训练”、“在 DNS Challenge 上训练”和“在 SonicSet 上训练”的结果,并以斜杠区分。
我们在 SonicSet 数据集上训练了分离和增强模型。结果如下:
SonicSet 数据集上现有语音分离方法的比较。每个模型的性能分别列出在“环境噪声”和“音乐噪声”下的结果,并以斜杠区分。
现有语音增强方法的比较使用SonicSet测试集的语音增强方法的比较。这些指标分别列在“环境噪音”和“音乐噪音”下,并以斜杠区分。
我们谨向以下人士表示感谢:
LibriSpeech 用于提供语音数据。
SoundSpaces 用于模拟环境。
Apple 提供动态音频合成脚本。
本作品根据 Creative Commons Attribution-ShareAlike 4.0 International License 获得许可。