AudioStory: 使用大语言模型生成长形式叙事音频
你是否曾经想过,如何让一个简单的文本描述变成一段连贯的、长达几十秒的音频故事?比如,一段描述火灾卡车出动的声音场景,或者一段动画视频的配音。AudioStory 就是这样一个工具,它结合了大语言模型和文本到音频系统,帮助我们创建结构化的长形式叙事音频。今天,我们来聊聊这个项目,包括它是怎么工作的、有什么亮点,以及如何上手使用。
AudioStory 是什么?
想象一下,你有一个复杂的叙述,比如“一个乌克勒勒演奏者在工作室表演复杂的曲子,得到掌声,然后接受采访讨论他的职业生涯”。传统的文本到音频工具可能只能生成短小的片段,但 AudioStory 可以处理更长的、需要时间连贯性和组合推理的音频。它是一个统一的理解-生成框架,能够处理视频配音、音频续接,以及长形式叙事音频合成。
这个框架的核心是使用大语言模型(LLMs)来分解复杂的叙述查询成按时间顺序排列的子任务,每个子任务都带有上下文提示。这确保了场景过渡顺畅,情感基调一致。AudioStory 有两个关键特点:
-
解耦桥接机制:它将大语言模型和扩散模型的协作分成两个部分——一个桥接查询用于事件内部的语义对齐,另一个一致性查询用于跨事件的一致性保持。 -
端到端训练:整个框架在单一的端到端设置中统一了指令理解和音频生成,不需要模块化的训练管道,同时增强了组件间的协同。
此外,这个项目还建立了一个基准数据集 AudioStory-10K,覆盖了动画音景和自然声音叙述等多样领域。实验显示,AudioStory 在单音频生成和叙事音频生成上都优于之前的文本到音频基准,尤其在指令跟随能力和音频保真度方面。

AudioStory 的工作原理
你可能会问,AudioStory 是如何从文本或音频输入生成长形式音频的?让我们一步步拆解它的方法。
AudioStory 采用了一个统一的理解-生成框架。给定一个文本指令或音频输入,大语言模型首先分析并分解它成结构化的音频子事件,每个子事件都带有上下文。然后,基于这些子事件,大语言模型执行交织的推理生成:依次为每个音频片段产生字幕、语义令牌和残差令牌。这些令牌被融合并传递给扩散变换器(DiT),从而桥接了大语言模型和音频生成器。通过渐进训练,AudioStory 最终实现了强大的指令理解和高品质音频生成。

具体来说,这个过程包括:
-
输入处理:无论是文本指令(如“开发一个全面音频,代表杰克·岛袋表演复杂的乌克勒勒曲子”)还是音频流,大语言模型都会推理出相关的音频子事件。 -
子事件分解:将复杂叙述分成时间有序的部分,例如表演、掌声、采访。 -
令牌生成:为每个片段生成语义令牌(捕捉含义)和残差令牌(细化细节)。 -
融合与生成:令牌融合后输入 DiT,输出音频。
这种方法解决了传统文本到音频系统在长形式内容上的短板,比如缺乏时间连贯性或组合推理。
AudioStory 的演示示例
看到实际效果总是更有说服力。下面是 AudioStory 在不同场景下的演示。这些示例展示了它在视频配音和文本到长音频方面的能力。
视频配音(Tom & Jerry 风格)
AudioStory 可以用从 Tom & Jerry 视频中训练的模型进行配音,使用从视频提取的视觉字幕。以下是几个示例视频:
-
示例 1:一段 Tom & Jerry 风格的追逐场景配音。 -
示例 2:另一段互动场景,音频与视觉同步。 -
示例 3:第三段片段,展示情感过渡。
(注:实际视频链接可参考项目资源,如 https://github.com/user-attachments/assets/f06b5999-6649-44d3-af38-63fdcecd833c 等。)
跨域视频配音(Tom & Jerry 风格)
AudioStory 还能处理跨域配音,将 Tom & Jerry 风格应用到其他视频上:
-
示例 1:一个真人场景配以动画风格音频。 -
示例 2:动物视频的配音。 -
示例 3:更多变体,如不同动画或现实片段。
(类似地,视频资源包括 https://github.com/user-attachments/assets/e62d0c09-cdf0-4e51-b550-0a2c23f8d68d 等。)
文本到长音频(自然声音)
这里是纯文本输入生成的长音频示例:
-
指令:”Develop a comprehensive audio that fully represents jake shimabukuro performs a complex ukulele piece in a studio, receives applause, and discusses his career in an interview. The total duration is 49.9 seconds.”
-
输出:一段49.9秒的音频,包括表演、掌声和采访声音。
-
-
指令:”Develop a comprehensive audio that fully represents a fire truck leaves the station with sirens blaring, signaling an emergency response, and drives away. The total duration is 35.1 seconds.”
-
输出:35.1秒的音频,捕捉警笛和开车声。
-
-
指令:”Understand the input audio, infer the subsequent events, and generate the continued audio of the coach giving basketball lessons to the players. The total duration is 36.6 seconds.”
-
输出:36.6秒的续接音频,基于输入推断后续事件。
-
这些演示突出了 AudioStory 在保持叙事连贯性和音频质量上的优势。
如何安装 AudioStory?
如果你想自己试用 AudioStory,安装过程很简单。以下是步步指南,确保你能顺利设置环境。
先决条件
-
Python 版本 >= 3.10(推荐使用 Anaconda)。 -
PyTorch 版本 >= 2.1.0。 -
NVIDIA GPU 和 CUDA 支持。
安装步骤
-
克隆仓库:
git clone https://github.com/TencentARC/AudioStory.git
-
进入目录:
cd AudioStory
-
创建虚拟环境:
conda create -n audiostory python=3.10 -y conda activate audiostory
-
运行安装脚本:
bash install_audiostory.sh
这些步骤会安装所有必要的依赖,确保环境就绪。注意,安装脚本处理了基本的库,但如果你遇到问题,可以检查 CUDA 配置。
如何使用 AudioStory 进行推理?
安装好后,你可以运行推理来生成音频。推理命令允许你指定模型路径、指导规模和保存文件夹。
推理步骤
-
准备模型检查点(checkpoint):下载或训练得到 /path/to/ckpt。
-
运行命令:
python evaluate/inference.py --model_path /path/to/ckpt --guidance 4.0 --save_folder_name audiostory --total_duration 50
-
--model_path
:指向你的模型文件。 -
--guidance
:分类器自由指导的强度,默认为 4.0。 -
--save_folder_name
:输出文件夹名称。 -
--total_duration
:生成的音频总时长(秒)。
这个命令会生成一个 50 秒的音频文件,保存到指定文件夹。你可以调整参数来测试不同时长或指导水平。
AudioStory 的优势和实验结果
为什么选择 AudioStory 而不是其他文本到音频工具?因为它专门针对长形式叙事设计。实验显示,在指令跟随能力和音频保真度上,它超越了先前的基准。
-
单音频生成:处理短片段时,AudioStory 保持高保真。 -
叙事音频生成:在长序列中,确保跨事件的连贯性。
基准 AudioStory-10K 包括多样领域,如动画和自然声音,帮助验证这些优势。
常见问题解答(FAQ)
在这里,我预测了一些你可能有的问题,并直接回答它们。这些基于 AudioStory 的实际功能和文档。
AudioStory 能处理哪些类型的输入?
AudioStory 支持文本指令和音频输入。例如,你可以输入一个描述来生成新音频,或者提供现有音频来续接后续事件。
如何确保生成的音频连贯?
通过大语言模型分解成子事件,并使用桥接和一致性查询来维护语义对齐和跨事件一致性。
AudioStory 的训练过程是怎样的?
它使用端到端训练,统一了理解和生成。没有模块化管道,而是渐进训练以增强协同。
我能用 AudioStory 做视频配音吗?
是的,特别是 Tom & Jerry 风格。通过提取视觉字幕,它可以同步音频到视频。
如果我想生成更长的音频,该怎么做?
在推理命令中调整 --total_duration
参数,比如设置为 100 秒。但注意,性能取决于你的硬件。
AudioStory 支持哪些领域?
基准覆盖动画音景和自然声音叙述,但你可以扩展到类似叙事场景。
安装时遇到 CUDA 错误怎么办?
检查你的 NVIDIA 驱动和 CUDA 版本是否兼容 PyTorch >=2.1.0。推荐使用官方 CUDA 下载。
AudioStory 的未来计划是什么?
项目计划发布 Gradio 演示、检查点,以及所有三个阶段的训练代码。
如何引用 AudioStory?
如果你在研究中使用它,可以用这个 BibTeX:
@misc{guo2025audiostory,
title={AudioStory: Generating Long-Form Narrative Audio with Large Language Models},
author={Yuxin Guo and Teng Wang and Yuying Ge and Shijie Ma and Yixiao Ge and Wei Zou and Ying Shan},
year={2025},
eprint={2508.20088},
archivePrefix={arXiv},
primaryClass={cs.CV},
url={https://arxiv.org/abs/2508.20088},
}
AudioStory 的许可证是什么?
它使用 Apache 2 许可证,允许开源使用。
AudioStory 的作者和联系方式
这个项目由 Yuxin Guo、Teng Wang、Yuying Ge、Shijie Ma、Yixiao Ge、Wei Zou 和 Ying Shan 开发。他们来自中国科学院自动化研究所和腾讯 PCG 的 ARC Lab。
如果你有问题,可以联系 guoyuxin2021@ia.ac.cn。欢迎讨论和潜在合作。
深入探讨 AudioStory 的技术细节
现在,让我们更深入地聊聊 AudioStory 的内部机制。这部分适合那些对大语言模型和音频生成有基础了解的读者。
理解-生成框架的细节
框架的核心是交织推理生成。大语言模型不只是生成文本;它产生字幕,然后是语义令牌(代表音频的含义层)和残差令牌(添加细微差别)。这些令牌融合后,扩散变换器生成最终音频。
考虑一个例子:输入“火灾卡车离开车站,警笛响起,然后开车离开”。
-
分解:子事件1 – 离开车站;子事件2 – 警笛;子事件3 – 开车。 -
生成:为每个子事件创建令牌,确保过渡自然。
桥接机制的解耦
桥接查询处理事件内部的对齐,比如确保声音匹配描述。一致性查询则跨事件工作,比如保持整体情感基调(如紧急感)。
这避免了传统方法中常见的断裂感。
端到端训练的优势
不像一些系统需要分开训练理解和生成,AudioStory 的端到端方法让组件更协同。渐进训练从简单任务开始,逐步到复杂叙事。
基准数据集 AudioStory-10K
这个数据集包括 10K 条目,覆盖多样叙事。它用于评估指令跟随(模型是否准确响应查询)和音频保真度(声音质量)。
实验结果:
任务类型 | 优势指标 | 与基准比较 |
---|---|---|
单音频生成 | 指令跟随能力 | 优于先前 TTA |
叙事音频生成 | 音频保真度和连贯性 | 显著提升 |
潜在应用
AudioStory 可以用于:
-
动画配音:如 Tom & Jerry 风格。 -
教育内容:生成教练课音频续接。 -
娱乐:创建自然声音故事,如音乐表演序列。
实际使用案例分析
假设你是一个内容创作者,想生成一个 50 秒的音频故事。
-
准备指令:写一个详细描述,包括事件序列和时长。 -
运行推理:使用上述命令。 -
监听输出:检查连贯性和质量。 -
迭代:调整指导参数以优化。
另一个案例:视频配音。
-
提取视觉字幕(使用外部工具,但 AudioStory 处理音频部分)。 -
输入到模型。 -
合成并同步。
这些步骤基于项目文档,确保实用。
总结和思考
AudioStory 打开了长形式叙事音频生成的新大门。通过结合大语言模型的推理和大扩散模型的生成,它处理了复杂任务,而不牺牲质量。如果你对音频 AI 感兴趣,不妨试试安装和运行。它不只是一个工具,更是理解如何让机器创建连贯故事的窗口。