
通过浅层扩散机制进行歌唱语音合成
DiffSinger项目通过PyTorch实现高效的浅层扩散机制声音合成。该项目支持多样的模型训练配置,涵盖基础、辅助解码器及浅层版本,并提供实时控制音调、音量和语速的功能,以适应不同的声音合成需求。适用于LJSpeech等数据集,适合从事音频合成研究与开发的专业人士。
DiffSinger 是一个基于 PyTorch 的项目,用于实现《DiffSinger: 歌声合成通过浅扩散机制》这篇论文中提出的模型。其中主要集中于 DiffSpeech 的实现。这个项目的目的在于通过浅扩散机制生成更加自然和流畅的歌声合成。
K 作为最大时间步来训练去噪器可以通过以下命令安装 Python 依赖:
pip3 install -r requirements.txt
你需要先下载预训练模型,并将它们放在指定的目录中,比如:
output/ckpt/LJSpeech_naive/ 中。output/ckpt/LJSpeech_shallow/ 中。可以通过以下命令运行单个语音合成:
python3 synthesize.py --text "YOUR_DESIRED_TEXT" --model MODEL --restore_step RESTORE_STEP --mode single --dataset DATASET
生成的语音文件会保存在 output/result/ 中。
支持批量推理,可以通过以下命令合成文本文件中的所有语音:
python3 synthesize.py --source preprocessed_data/LJSpeech/val.txt --model MODEL --restore_step RESTORE_STEP --mode batch --dataset DATASET
合成的语音可以通过指定想要的音高、能量和时长比例进行个性化调整,例如:
python3 synthesize.py --text "YOUR_DESIRED_TEXT" --model MODEL --restore_step RESTORE_STEP --mode single --dataset DATASET --duration_control 0.8 --energy_control 0.8
需要注意,这种控制能力源于 FastSpeech2 和 DiffSpeech 的核心目标无关。
支持的主要数据集为 LJSpeech,这是一个包含 13100 个短音频剪辑的单说话人英语数据集,总计约 24 小时。
首先,通过以下命令准备数据:
python3 prepare_align.py --dataset DATASET
使用 Montreal 强制对齐器 获取音素序列和语音的对齐数据。
可以训练三种模型:'naive'、'aux' 和 'shallow'。下面是训练每种模型的命令:
python3 train.py --model naive --dataset DATASET
python3 train.py --model aux --dataset DATASET
python3 train.py --model shallow --restore_step RESTORE_STEP --dataset DATASET
需要在辅助模型训练结束后,设置 restore_step 为最后一步的检查点编号。
可以使用以下命令查看 TensorBoard 上的训练曲线、谱图和对应音频:
tensorboard --logdir output/log/LJSpeech
通过 TensorBoard,可以更直观地观察训练过程和模型性能变化。
@misc{lee2021diffsinger,
author = {Lee, Keon},
title = {DiffSinger},
year = {2021},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {\url{https://github.com/keonlee9420/DiffSinger}}
}


职场AI,就用扣子
AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!


多风格AI绘画神器
堆友平台由阿里巴巴设计团队创建,作为一款AI驱动的设计工具,专为设计师提供一站式增长服务。功能覆盖海量3D素材、AI绘画、实时渲染以及专业抠图,显著提升设计品质和效率。平台不 仅提供工具,还是一个促进创意交流和个人发展的空间,界面友好,适合所有级别的设计师和创意工作者。

