Project Icon

AudioLCM

基于潜在一致性模型的文本到音频生成系统

AudioLCM是一个开源的文本到音频生成系统,基于潜在一致性模型。该项目提供完整实现代码和预训练模型,支持高效生成高质量音频内容。AudioLCM在ACM-MM'24会议被接受,并在GitHub和HuggingFace平台发布。研究人员可使用预训练模型进行推理,或按指南准备数据集训练自定义模型。项目还包含数据集处理、变分自编码器训练等功能。

AudioLCM:使用潜在一致性模型进行文本到音频生成

Huadai Liu, Rongjie Huang, Yang Liu, Hengyuan Cao, Jialei Wang, Xize Cheng, Siqi Zheng, Zhou Zhao

[AudioLCM (ACM-MM'24)] 的 PyTorch 实现:一种高效且高质量的文本到音频生成潜在一致性模型。

arXiv Hugging Face GitHub Stars

我们在本仓库中开源了我们的实现和预训练模型。

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

AudioLCM HuggingFace 空间

新闻

  • 2024年7月:[AudioLCM] 被 ACM-MM'24 接收。
  • 2024年6月:Make-An-Audio 3 在 GitHub 和 HuggingFace 上发布。
  • 2024年5月:[AudioLCM] 在 GitHub 和 HuggingFace 上发布。

快速开始

我们提供了一个示例,展示如何使用 AudioLCM 快速生成高保真样本。

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

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

Huggingface 下载权重文件。

下载:
    audiolcm.ckpt 并将其放入 ./ckpts
    BigVGAN 声码器并将其放入 ./vocoder/logs/bigvnat16k93.5w
    t5-v1_1-large 并将其放入 ./ldm/modules/encoders/CLAP
    bert-base-uncased 并将其放入 ./ldm/modules/encoders/CLAP
    CLAP_weights_2022.pth 并将其放入 ./wav_evaluation/useful_ckpts/CLAP

依赖项

请参阅 requirement.txt 中的要求:

使用预训练模型进行推理

python scripts/txt2audio_for_lcm.py  --ddim_steps 2 -b configs/audiolcm.yaml --sample_rate 16000 --vocoder-ckpt  vocoder/logs/bigvnat16k93.5w --outdir results --test-dataset audiocaps  -r ckpt/audiolcm.ckpt

数据集准备

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

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

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

python ldm/data/preprocess/mel_spec.py --tsv_path tmp.tsv

将持续时间添加到 tsv 文件中

python ldm/data/preprocess/add_duration.py

训练变分自编码器

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

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/autoencoder1d.yaml -t  --gpus 0,1,2,3,4,5,6,7

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

评估

请参考 Make-An-Audio

致谢

此实现使用了以下 Github 仓库的部分代码: Make-An-Audio CLAP, Stable Diffusion, 如我们的代码中所述。

引用

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

@misc{liu2024audiolcm,
      title={AudioLCM: Text-to-Audio Generation with Latent Consistency Models}, 
      author={Huadai Liu and Rongjie Huang and Yang Liu and Hengyuan Cao and Jialei Wang and Xize Cheng and Siqi Zheng and Zhou Zhao},
      year={2024},
      eprint={2406.00356},
      archivePrefix={arXiv},
      primaryClass={eess.AS}
}

免责声明

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

项目侧边栏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号