🎵 WavJourney: 利用大语言模型进行组合式音频创作
我们正积极寻求研究和商业合作,以推进AI辅助多媒体讲述。如果您有兴趣,请发送电子邮件至xubo.liu@surrey.ac.uk了解更多详情!
此存储库包含"WavJourney:利用大语言模型进行组合式音频创作"的官方实现。
WavJourney从文本提示开始,可以创造出包含个性化演讲者、贴近生活的情境对话、富有感情的音乐创作和有影响力的声音效果的引人入胜的音频内容,从而增强听觉体验。
欢迎通过Discord或HuggingFace社区分享您的创作!
前提条件
- 安装环境:
bash ./scripts/EnvsSetup.sh
- 激活conda环境:
conda activate WavJourney
- (可选)您可以修改
config.yaml
中的默认配置,检查配置文件中描述的详细信息。 - 预下载模型(可能需要一些时间):
python scripts/download_models.py
export WAVJOURNEY_OPENAI_KEY=your_openai_key_here
- 设置使用API服务的环境变量。
# 将WAVJOURNEY服务的端口设置为8021
export WAVJOURNEY_SERVICE_PORT=8021
# 将WAVJOURNEY服务的URL设置为127.0.0.1
export WAVJOURNEY_SERVICE_URL=127.0.0.1
# 将WAVJOURNEY的最大脚本行数限制为999
export WAVJOURNEY_MAX_SCRIPT_LINES=999
- 启动Python API服务(例如文本转语音、文本转音频)
bash scripts/start_services.sh
Web APP
bash scripts/start_ui.sh
命令行用法
python wavjourney_cli.py -f --input-text "Generate a one-minute introduction to quantum mechanics"
停止服务
您可以通过以下命令停止正在运行的服务:
python scripts/kill_services.py
(高级功能)扬声器自定义
您可以为WavJourney添加语音预设来自定义配音演员。只需提供语音ID、描述和示例WAV文件,WavJourney就会根据音频脚本自动选择相应的语音。预定义的系统语音预设位于data/voice_presets
。
您可以通过UI管理语音预设。如果您要添加语音预设,请通过以下命令行运行脚本:
python add_voice_preset.py --id "id" --desc "description" --wav-path path/to/wav --session-id ''
什么样的语音提示比较好?详细说明请参考此处。
硬件要求
- 默认配置下,GPU的VRAM应大于16 GB。
- 操作系统:Linux。
引用
如果您发现这项工作很有用,可以引用以下论文:
@article{liu2023wavjourney,
title = {WavJourney: Compositional Audio Creation with Large Language Models},
author = {Liu, Xubo and Zhu, Zhongkai and Liu, Haohe and Yuan, Yi and Huang, Qiushi and Liang, Jinhua and Cao, Yin and Kong, Qiuqiang and Plumbley, Mark D and Wang, Wenwu},
journal = {arXiv preprint arXiv:2307.14335},
year = {2023}
}
致谢
- Bark用于无需训练即可进行文本到语音合成。
- AudioCraft用于最先进的音频生成模型。
免责声明
我们不对使用此模型生成的语义内容负责。请不要将其用于非法用途。