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

有言平台提供一站式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号