AudioLCM

GitHub
1.2k 158 中等 1 次阅读 今天音频
AI 解读 由 AI 自动生成,仅供参考

AudioLCM 是一款基于潜空间一致性模型(Latent Consistency Model)的高效文本生成音频开源工具,由 ACM-MM 2024 收录。它能够将用户输入的文字描述快速转化为高保真度的声音片段,无论是机械震动、火箭爆炸还是人群欢笑,都能生动还原。

传统文本生成音频模型往往需要在生成质量和推理速度之间做出权衡,而 AudioLCM 通过引入先进的潜空间一致性技术,成功打破了这一瓶颈。它不仅显著减少了生成所需的时间步数,实现了极速推理,同时保持了卓越的音频细节与真实感,解决了以往模型生成慢或音质不佳的痛点。

这款工具非常适合多类人群使用:研究人员可借此探索高效的生成式音频算法;开发者能轻松将其集成到多媒体应用或游戏开发中;设计师则可用它快速为视频内容配乐或制作音效原型。得益于提供的 PyTorch 实现、预训练模型以及简洁的 Python 调用接口,即使没有深厚算法背景的用户,也能在配备 NVIDIA GPU 的环境中快速上手体验。此外,项目还开源了包括 BigVGAN 声码器在内的完整依赖链路,确保了从实验到部署的流畅性。

使用场景

某独立游戏开发者正在为一款科幻生存游戏快速原型阶段制作环境音效,需要在极短时间内生成大量符合特定描述的逼真背景声。

没有 AudioLCM 时

  • 等待时间过长:传统文本生成音频模型推理速度慢,生成一段几秒的音效可能需要数分钟,严重拖慢迭代节奏。
  • 硬件成本高昂:为了获得可接受的生成速度,不得不租用昂贵的云端高性能 GPU 集群,增加了开发预算。
  • 音质与效率难兼得:为了提速而牺牲采样步数,导致生成的“火箭爆炸”或“机械震动”声充满伪影,听感粗糙不自然。
  • 批量生产困难:难以一次性生成多种变体供策划挑选,每次只能单条生成,沟通与修改成本极高。

使用 AudioLCM 后

  • 秒级实时生成:得益于潜在一致性模型(Latent Consistency Model),AudioLCM 将推理步数大幅减少,输入提示词后几乎瞬间即可听到“持续的嘎嘎噪声和尖锐震动”效果。
  • 本地部署轻松:在单张消费级 NVIDIA 显卡上即可流畅运行,开发者无需依赖云端算力,直接在本地工作站完成制作。
  • 高保真细节还原:即使在不增加计算负担的情况下,AudioLCM 仍能生成高保真音频,清晰呈现“卡车引擎怠速”与“火焰噼啪声”的复杂层次。
  • 高效批量产出:利用 AudioLCMBatchInfer 接口,可一次性输入多条描述(如人声欢笑混合机械轰鸣),瞬间输出多个高质量候选文件供团队筛选。

AudioLCM 通过突破性的加速算法,让高质量音效创作从“昂贵且缓慢的资源消耗”转变为“即时且低成本的创意流动”。

运行环境要求

操作系统
  • Linux
GPU
  • 必需 NVIDIA GPU,支持 CUDA 和 cuDNN
  • 训练示例命令显示支持多卡(最多 8 张),具体显存需求未说明,但运行 BigVGAN 声码器和扩散模型通常建议 16GB+ 显存
内存

未说明

依赖
notes1. 官方文档明确指出本地运行需提供 'NVIDIA GPU + CUDA cuDNN' 环境,通常意味着主要支持 Linux 系统。 2. 需要手动下载多个预训练模型文件(AudioLCM 检查点、BigVGAN 声码器、T5、BERT、CLAP),并按特定目录结构存放。 3. 训练变分自编码器 (VAE) 和潜在扩散模型时,默认配置示例使用了 8 张 GPU,若显卡数量不足需修改启动命令中的 --gpus 参数。 4. 数据集因版权问题不提供下载链接,用户需自备音频数据并按照提供的脚本生成梅尔频谱图 (melspec) 和 TSV 索引文件。
python未说明
torch
transformers (用于 T5, BERT)
librosa (隐含于 mel_spec.py)
numpy
yaml
AudioLCM hero image

快速开始

[ACM-MM 2024]AudioLCM:基于潜在一致性模型的文本到音频生成

刘华代、黄荣杰、刘洋、曹恒远、王佳乐、程熙泽、郑思琪、赵周

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

arXiv Hugging Face GitHub Stars

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

请访问我们的 demo 页面 查看音频样本。

AudioLCM HuggingFace Space

新闻

快速入门

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

下载 AudioLCM 模型并根据文本提示生成音频:

from pythonscripts.InferAPI import AudioLCMInfer

prompt="持续的嘎吱声和剧烈的震动"
config_path="./audiolcm.yaml"
model_path="./audiolcm.ckpt"
vocoder_path="./model/vocoder"
audio_path = AudioLCMInfer(prompt, config_path=config_path, model_path=model_path, vocoder_path=vocoder_path)

使用 AudioLCMBatchInfer 函数为一批文本提示生成多个音频样本:

from pythonscripts.InferAPI import AudioLCMBatchInfer

prompts=[
    "持续的嘎吱声和剧烈的震动",
    "火箭飞过,随后是巨大的爆炸声,卡车发动机怠速运转时发出噼啪的火焰声",
    "嗡嗡作响并伴有振动,同时有男人和孩子们在说话和大笑"
        ]
config_path="./audiolcm.yaml"
model_path="./audiolcm.ckpt"
vocoder_path="./model/vocoder"
audio_path = AudioLCMBatchInfer(prompts, config_path=config_path, model_path=model_path, vocoder_path=vocoder_path)

要尝试您自己的数据集,只需在配备 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)、数据集(音频所属的数据集)、音频路径(.wav 文件的路径)、字幕(音频的描述)以及梅尔谱路径(每个音频处理后的梅尔谱文件路径)。
  • 我们提供了一个 audiocaps 测试集的 tsv 文件:./audiocaps_test_16000_struct.tsv 作为示例。

生成音频的梅尔谱文件

假设您已经有一个 tsv 文件,将每个字幕与其音频路径关联起来,这意味着该 tsv 文件包含“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, 如我们的代码中所述。

引用

如果您在研究中使用了此代码,请考虑引用以下文献:

@inproceedings{10.1145/3664647.3681072,
author = {刘华岱和黄荣杰和刘洋和曹恒源和王佳磊和程希泽和郑思琪和赵周},
title = {AudioLCM:以最少推理步骤实现高效高质量的文本转音频生成},
year = {2024},
isbn = {9798400706868},
publisher = {计算机协会},
address = {纽约,纽约州,美国},
url = {https://doi.org/10.1145/3664647.3681072},
doi = {10.1145/3664647.3681072},
pages = {7008–7017},
numpages = {10},
keywords = {一致性模型,潜扩散模型,文本转音频生成},
location = {墨尔本,维多利亚州,澳大利亚},
series = {MM '24}
}

免责声明

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

常见问题

相似工具推荐

ML-For-Beginners

ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。

85.1k|★★☆☆☆|今天
图像数据工具视频

GPT-SoVITS

GPT-SoVITS 是一款强大的开源语音合成与声音克隆工具,旨在让用户仅需极少量的音频数据即可训练出高质量的个性化语音模型。它核心解决了传统语音合成技术依赖海量录音数据、门槛高且成本大的痛点,实现了“零样本”和“少样本”的快速建模:用户只需提供 5 秒参考音频即可即时生成语音,或使用 1 分钟数据进行微调,从而获得高度逼真且相似度极佳的声音效果。 该工具特别适合内容创作者、独立开发者、研究人员以及希望为角色配音的普通用户使用。其内置的友好 WebUI 界面集成了人声伴奏分离、自动数据集切片、中文语音识别及文本标注等辅助功能,极大地降低了数据准备和模型训练的技术门槛,让非专业人士也能轻松上手。 在技术亮点方面,GPT-SoVITS 不仅支持中、英、日、韩、粤语等多语言跨语种合成,还具备卓越的推理速度,在主流显卡上可实现实时甚至超实时的生成效率。无论是需要快速制作视频配音,还是进行多语言语音交互研究,GPT-SoVITS 都能以极低的数据成本提供专业级的语音合成体验。

56.4k|★★★☆☆|2天前
音频

TTS

🐸TTS 是一款功能强大的深度学习文本转语音(Text-to-Speech)开源库,旨在将文字自然流畅地转化为逼真的人声。它解决了传统语音合成技术中声音机械生硬、多语言支持不足以及定制门槛高等痛点,让高质量的语音生成变得触手可及。 无论是希望快速集成语音功能的开发者,还是致力于探索前沿算法的研究人员,亦或是需要定制专属声音的数据科学家,🐸TTS 都能提供得力支持。它不仅预置了覆盖全球 1100 多种语言的训练模型,让用户能够即刻上手,还提供了完善的工具链,支持用户利用自有数据训练新模型或对现有模型进行微调,轻松实现特定风格的声音克隆。 在技术亮点方面,🐸TTS 表现卓越。其最新的 ⓍTTSv2 模型支持 16 种语言,并在整体性能上大幅提升,实现了低于 200 毫秒的超低延迟流式输出,极大提升了实时交互体验。此外,它还无缝集成了 🐶Bark、🐢Tortoise 等社区热门模型,并支持调用上千个 Fairseq 模型,展现了极强的兼容性与扩展性。配合丰富的数据集分析与整理工具,🐸TTS 已成为科研与生产环境中备受信赖的语音合成解决方案。

45k|★★★☆☆|5天前
音频开发框架图像

LocalAI

LocalAI 是一款开源的本地人工智能引擎,旨在让用户在任意硬件上轻松运行各类 AI 模型,包括大语言模型、图像生成、语音识别及视频处理等。它的核心优势在于彻底打破了高性能计算的门槛,无需昂贵的专用 GPU,仅凭普通 CPU 或常见的消费级显卡(如 NVIDIA、AMD、Intel 及 Apple Silicon)即可部署和运行复杂的 AI 任务。 对于担心数据隐私的用户而言,LocalAI 提供了“隐私优先”的解决方案,确保所有数据处理均在本地基础设施内完成,无需上传至云端。同时,它完美兼容 OpenAI、Anthropic 等主流 API 接口,这意味着开发者可以无缝迁移现有应用,直接利用本地资源替代云服务,既降低了成本又提升了可控性。 LocalAI 内置了超过 35 种后端支持(如 llama.cpp、vLLM、Whisper 等),并集成了自主 AI 代理、工具调用及检索增强生成(RAG)等高级功能,且具备多用户管理与权限控制能力。无论是希望保护敏感数据的企业开发者、进行算法实验的研究人员,还是想要在个人电脑上体验最新 AI 技术的极客玩家,都能通过 LocalAI 获

44.8k|★★★☆☆|5天前
图像音频语言模型

bark

Bark 是由 Suno 推出的开源生成式音频模型,能够根据文本提示创造出高度逼真的多语言语音、音乐、背景噪音及简单音效。与传统仅能朗读文字的语音合成工具不同,Bark 基于 Transformer 架构,不仅能模拟说话,还能生成笑声、叹息、哭泣等非语言声音,甚至能处理带有情感色彩和语气停顿的复杂文本,极大地丰富了音频表达的可能性。 它主要解决了传统语音合成声音机械、缺乏情感以及无法生成非语音类音效的痛点,让创作者能通过简单的文字描述获得生动自然的音频素材。无论是需要为视频配音的内容创作者、探索多模态生成的研究人员,还是希望快速原型设计的开发者,都能从中受益。普通用户也可通过集成的演示页面轻松体验其神奇效果。 技术亮点方面,Bark 支持商业使用(MIT 许可),并在近期更新中实现了显著的推理速度提升,同时提供了适配低显存 GPU 的版本,降低了使用门槛。此外,社区还建立了丰富的提示词库,帮助用户更好地驾驭模型生成特定风格的声音。只需几行 Python 代码,即可将创意文本转化为高质量音频,是连接文字与声音世界的强大桥梁。

39.1k|★★★☆☆|4天前
音频

airi

airi 是一款开源的本地化 AI 伴侣项目,旨在将虚拟角色(如“二次元老婆”或赛博生命)带入用户的现实世界。它的核心目标是复刻并超越知名 AI 主播 Neuro-sama 的能力,让用户能够拥有完全自主掌控、可私有化部署的智能伙伴。 airi 主要解决了用户对高度定制化、具备情感交互能力且数据隐私安全的 AI 角色的需求。不同于依赖云端服务的通用助手,airi 允许用户在本地运行,不仅保护了对话隐私,还赋予了用户定义角色性格与灵魂的自由。它支持实时语音聊天,甚至能直接参与《我的世界》(Minecraft)和《异星工厂》(Factorio)等游戏,实现了从单纯对话到共同娱乐的跨越。 这款工具非常适合喜爱虚拟角色的普通用户、希望搭建个性化 AI 陪伴的技术爱好者,以及研究多模态交互的开发者。其独特的技术亮点在于跨平台支持(涵盖 Web、macOS 和 Windows)以及强大的游戏交互能力,让 AI 不仅能“说”,还能“玩”。通过容器化的灵魂设计,airi 为每个人创造专属数字生命提供了可能,让虚拟陪伴变得更加真实且触手可及。

37.1k|★☆☆☆☆|3天前
语言模型音频Agent