Project Icon

Make-An-Audio

将文本转换为高保真音频的开源扩散模型

Make-An-Audio是一个开源的文本到音频生成项目,基于条件扩散概率模型。该项目能够从文本等多种模态生成高保真音频,支持文本到音频、音频到音频等多种任务。项目提供了预训练模型和简单的命令行操作,方便用户生成自定义音频。此外,项目还包含了详细的训练和评估流程,以及与其他模型的性能比较。

Make-An-Audio: 基于提示增强扩散模型的文本到音频生成

Rongjie Huang, Jiawei Huang, Dongchao Yang, Yi Ren, Luping Liu, Mingze Li, Zhenhui Ye, Jinglin Liu, Xiang Yin, Zhou Zhao

Make-An-Audio (ICML'23)的PyTorch实现:一个能够从X模态高效生成高保真音频的条件扩散概率模型。

arXiv Hugging Face GitHub Stars

我们在这个仓库中提供了我们的实现和预训练模型作为开源。

访问我们的演示页面获取音频样本。

文本到音频 HuggingFace 空间 | 音频修复 HuggingFace 空间

新闻

快速开始

我们提供了一个示例,展示如何使用Make-An-Audio生成高保真样本。

要在您自己的数据集上尝试,只需在配有NVIDIA GPU + CUDA cuDNN的本地机器上克隆此仓库,并按照以下说明操作。

支持的数据集和预训练模型

只需运行以下命令从Google drive下载权重。 从Hugging Face下载CLAP权重。

下载:
    maa1_full.ckpt 并将其放入 ./useful_ckpts
    BigVGAN 声码器并将其放入 ./useful_ckpts
    CLAP_weights_2022.pth 并将其放入 ./useful_ckpts/CLAP

目录结构应为:

useful_ckpts/
├── bigvgan
│   ├── args.yml
│   └── best_netG.pt
├── CLAP
│   ├── config.yml
│   └── CLAP_weights_2022.pth
└── maa1_full.ckpt

依赖

请参阅requirement.txt中的要求:

使用预训练模型进行推理

python gen_wav.py --prompt "鸟儿啾啾叫" --ddim_steps 100 --duration 10 --scale 3 --n_samples 1 --save_name "results"

训练

数据集准备

由于版权问题,我们无法提供数据集下载链接。我们提供了生成梅尔频谱图的处理代码。 在训练之前,我们需要将数据集信息构建成一个tsv文件,其中包括name(每个音频的id)、dataset(音频所属的数据集)、audio_path(.wav文件的路径)、caption(音频的描述)、mel_path(每个音频处理后的梅尔频谱图文件路径)。我们提供了一个audiocaps测试集的tsv文件作为示例:./data/audiocaps_test.tsv。

生成音频的梅尔频谱图文件

假设你已经有了一个tsv文件,将每个描述与其音频路径链接起来,这意味着tsv文件中有"name"、"audio_path"、"dataset"和"caption"列。 要获取音频的梅尔频谱图,运行以下命令,它会将梅尔频谱图保存在./processed目录中

python preprocess/mel_spec.py --tsv_path tmp.tsv --num_gpus 1 --max_duration 10

训练变分自编码器

假设我们已经处理了几个数据集,并将.tsv文件保存在data/*.tsv中。在配置文件中将data.params.spec_dir_path替换为data(包含tsv文件的目录)。然后我们可以使用以下命令训练VAE。如果你的机器没有8个GPU,你可以替换--gpus 0,1,...,gpu_nums

python main.py --base configs/train/vae.yaml -t --gpus 0,1,2,3,4,5,6,7

训练结果将保存在./logs/目录中

训练潜在扩散模型

在训练VAE之后,在配置文件中将model.params.first_stage_config.params.ckpt_path替换为你训练好的VAE检查点路径。 运行以下命令来训练扩散模型

python main.py --base configs/train/diffusion.yaml -t  --gpus 0,1,2,3,4,5,6,7

训练结果将保存在./logs/目录中

评估

生成audiocaps样本

python gen_wavs_by_tsv.py --tsv_path data/audiocaps_test.tsv --save_dir audiocaps_gen

计算FD、FAD、IS、KL

通过以下方式安装audioldm_eval

git clone git@github.com:haoheliu/audioldm_eval.git

然后进行测试:

python scripts/test.py --pred_wavsdir {你生成的音频保存目录} --gt_wavsdir {audiocaps测试集音频保存目录}

计算Clap分数

python wav_evaluation/cal_clap_score.py --tsv_path {你生成的音频保存目录}/result.tsv

X-To-Audio

音频到音频

python scripts/audio2audio.py  --prompt "鸟儿啾啾叫"  --strength 0.3 --init-audio sample.wav --ckpt useful_ckpts/maa1_full.ckpt --vocoder_ckpt useful_ckpts/bigvgan --config configs/text_to_audio/txt2audio_args.yaml --outdir audio2audio_samples

致谢

本实现使用了以下Github仓库的部分代码: CLAPStable Diffusion, 具体描述见我们的代码。

引用

如果您在研究中发现这些代码有用,请考虑引用:

@article{huang2023make,
  title={Make-an-audio: Text-to-audio generation with prompt-enhanced diffusion models},
  author={Huang, Rongjie and Huang, Jiawei and Yang, Dongchao and Ren, Yi and Liu, Luping and Li, Mingze and Ye, Zhenhui and Liu, Jinglin and Yin, Xiang and Zhao, Zhou},
  journal={arXiv preprint arXiv:2301.12661},
  year={2023}
}

免责声明

严禁任何组织或个人在未经本人同意的情况下,利用本文提及的任何技术生成他人的语音,包括但不限于政府领导人、政治人物和名人。如果您不遵守此项规定,可能会违反版权法。

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

豆包MarsCode

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

Project Cover

AI写歌

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

Project Cover

白日梦AI

白日梦AI提供专注于AI视频生成的多样化功能,包括文生视频、动态画面和形象生成等,帮助用户快速上手,创造专业级内容。

Project Cover

有言AI

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

Project Cover

Kimi

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

Project Cover

讯飞绘镜

讯飞绘镜是一个支持从创意到完整视频创作的智能平台,用户可以快速生成视频素材并创作独特的音乐视频和故事。平台提供多样化的主题和精选作品,帮助用户探索创意灵感。

Project Cover

讯飞文书

讯飞文书依托讯飞星火大模型,为文书写作者提供从素材筹备到稿件撰写及审稿的全程支持。通过录音智记和以稿写稿等功能,满足事务性工作的高频需求,帮助撰稿人节省精力,提高效率,优化工作与生活。

Project Cover

阿里绘蛙

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

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

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