Project Icon

fish-diffusion

开源框架简化TTS、SVS和SVC模型开发

Fish Diffusion是一个开源的语音合成训练框架,专注于TTS、SVS和SVC任务。基于扩散模型,它支持多说话人合成和44.1kHz高品质输出。该项目优化了代码结构,提高了训练效率,并提供完整的环境配置和使用指南。Fish Diffusion适合研究人员和开发者探索语音合成技术,同时强调负责任的AI应用。项目特点包括简化的代码结构、多设备训练支持和半精度训练,有助于提高开发效率和降低资源消耗。此外,还提供了详细的数据集准备和模型训练指南,便于用户快速上手。

标志

Fish Diffusion


一个易于理解的 TTS / SVS / SVC 训练框架。

查看我们的 Wiki 以开始使用!

英文文档

Fish Diffusion 使用条款

  1. 获取授权和知识产权侵权:用户对其训练过程中使用的任何数据集获取必要授权全权负责,并对因使用输入源而产生的任何侵权问题承担全部责任。Fish Diffusion 及其开发者对因使用未经授权的数据集而可能产生的任何问题概不负责。

  2. 适当归属:任何基于 Fish Diffusion 的衍生作品必须明确承认该项目及其许可。在分发 Fish Diffusion 的代码或传播由该项目生成的结果时,用户有义务引用原作者和源代码(Fish Diffusion)。

  3. 音视频内容和人工智能生成披露:使用 Fish Diffusion 创建的所有衍生作品,包括音频或视频材料,必须明确承认使用了 Fish Diffusion 项目,并声明内容是由人工智能生成的。如果包含第三方发布的视频或音频,必须提供原始链接。

  4. 同意条款:继续使用 Fish Diffusion,用户明确同意本文件中列出的条款和条件。Fish Diffusion 及其开发者对可能发生的任何后续困难不承担责任。

概述

使用扩散模型解决不同的语音生成任务。与原始的 diffsvc 仓库相比,本仓库的优势和劣势如下:

  • 支持多说话人
  • 本仓库的代码结构更简单易懂,所有模块都是解耦的
  • 支持 44.1kHz Diff Singer 社区声码器
  • 支持多机多设备训练,支持半精度训练,提高训练速度并节省内存

准备环境

以下命令需要在 Python 3.10 的 conda 环境中执行

# 安装 PyTorch 相关核心依赖,如已安装可跳过
# 参考:https://pytorch.org/get-started/locally/
conda install "pytorch>=2.0.0" "torchvision>=0.15.0" "torchaudio>=2.0.0" pytorch-cuda=11.8 -c pytorch -c nvidia

# 安装 PDM 依赖管理工具,如已安装可跳过
# 参考:https://pdm.fming.dev/latest/
curl -sSL https://raw.githubusercontent.com/pdm-project/pdm/main/install-pdm.py | python3 -

# 安装项目依赖
pdm sync

声码器准备

Fish Diffusion 需要 FishAudio NSF-HiFiGAN 声码器来生成音频。

自动下载

python tools/download_nsf_hifigan.py

如果您使用脚本下载模型,可以使用 --agree-license 参数同意 CC BY-NC-SA 4.0 许可。

python tools/download_nsf_hifigan.py --agree-license

手动下载

Fish Diffusion Release 下载并解压 nsf_hifigan-stable-v1.zip
nsf_hifigan 文件夹复制到 checkpoints 目录(如果不存在则创建)

如果你想手动下载 ContentVec,可以从这里下载,并将其放在 checkpoints 目录中。

数据集准备

你只需要将数据集按照以下文件结构放入 dataset 目录中

dataset
├───train
│   ├───xxx1-xxx1.wav
│   ├───...
│   ├───Lxx-0xx8.wav
│   └───speaker0 (也支持子目录)
│       └───xxx1-xxx1.wav
└───valid
    ├───xx2-0xxx2.wav
    ├───...
    └───xxx7-xxx007.wav
# 提取所有数据特征,如音高、文本特征、梅尔特征等
python tools/preprocessing/extract_features.py --config configs/svc_hubert_soft.py --path dataset --clean

基线训练

项目正在积极开发中,请备份你的配置文件
项目正在积极开发中,请备份你的配置文件
项目正在积极开发中,请备份你的配置文件

# 单机单卡/多卡训练
python tools/diffusion/train.py --config configs/svc_hubert_soft.py
# 多节点训练
python tools/diffusion/train.py --config configs/svc_content_vec_multi_node.py
# 需要在每个节点上定义环境变量,更多信息请参见 https://pytorch-lightning.readthedocs.io/en/1.6.5/clouds/cluster.html

# 恢复训练
python tools/diffusion/train.py --config configs/svc_hubert_soft.py --resume [检查点文件]

# 微调预训练模型
# 注意:你应该在配置文件中将学习率调度器调整为 warmup_cosine_finetune
python tools/diffusion/train.py --config configs/svc_cn_hubert_soft_finetune.py --pretrained [检查点文件]

推理

# 使用命令行推理,你可以使用 --help 查看更多参数
python tools/diffusion/inference.py --config [配置文件] \
    --checkpoint [检查点文件] \
    --input [输入音频] \
    --output [输出音频]


# Gradio Web 推理,其他参数将作为 gradio 的默认参数
python tools/diffusion/inference.py --config [配置文件] \
    --checkpoint [检查点文件] \
    --gradio

将 DiffSVC 模型转换为 Fish Diffusion

python tools/diffusion/diff_svc_converter.py --config configs/svc_hubert_soft_diff_svc.py \
    --input-path [DiffSVC 检查点] \
    --output-path [Fish Diffusion 检查点]

贡献

如果你有任何问题,请提交 issue 或 pull request。
在提交 pull request 之前,你应该运行 pdm run lint

可以通过以下命令生成实时文档

pdm run docs

致谢

感谢所有贡献者的努力

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

稿定AI

稿定设计 是一个多功能的在线设计和创意平台,提供广泛的设计工具和资源,以满足不同用户的需求。从专业的图形设计师到普通用户,无论是进行图片处理、智能抠图、H5页面制作还是视频剪辑,稿定设计都能提供简单、高效的解决方案。该平台以其用户友好的界面和强大的功能集合,帮助用户轻松实现创意设计。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号