Bootstrap

TangoFlux 本地部署实用教程:开启无限音频创意脑洞

一、介绍

TangoFlux是通过流匹配和 Clap-Ranked 首选项优化,实现超快速、忠实的文本到音频生成的模型。

image.png

  • 本模型由 Stability AI 提供支持
  • 🚀 TangoFlux 可以在单个 A40 GPU 上在 ~3 秒内生成长达 34.1kHz 的立体声音频。

二、部署

安装方式非常简单

1.克隆并安装环境

pip install git+https://github.com/declare-lab/TangoFlux

2.推理

TangoFlux 可以生成长达 30 秒的音频。使用 Python API 时,必须将 duration 传递给函数。请注意,持续时间应在 1 到 30 之间。model.generate

Web 界面

运行以下命令以启动 Web 界面。

tangoflux-demo

首次运行web界面的启动命令后,项目会自动下载所需的模型,此时需要保持网络畅通,耐心等待:

image.png

出现ip地址即端口号后即可进行访问。

命令行界面

使用 CLI 从文本直接生成音频。

tangoflux "Hammer slowly hitting the wooden table" output.wav --duration 10 --steps 50
Python 接口
import torchaudio
from tangoflux import TangoFluxInference

model = TangoFluxInference(name='declare-lab/TangoFlux')
audio = model.generate('Hammer slowly hitting the wooden table', steps=50, duration=10)

torchaudio.save('output.wav', audio, 44100)

官方评估表明,使用 50 个步骤进行推理会产生最佳结果。CFG 等级为 3.5、4 和 4.5 可产生相似的质量输出。25 步推理以更快的速度产生类似的音频质量。

训练

官方使用 Hugging Face 的包进行多 GPU 训练。Run 以设置您的运行配置。默认的 accelerate 配置位于 文件夹中。请在 中指定训练文件的路径。的样本 和 已提供。将它们替换为您自己的音频。accelerate``accelerate config``configs``configs/tangoflux_config.yaml``train.json``val.json

tangoflux_config.yaml 定义训练文件路径和模型超参数:

CUDA_VISIBLE_DEVICES=0,1 accelerate launch --config_file='configs/accelerator_config.yaml' tangoflux/train.py   --checkpointing_steps="best" --save_every=5 --config='configs/tangoflux_config.yaml'

要执行 DPO 训练,请修改训练文件,使每个数据点都包含“chosen”、“reject”、“caption”和“duration”字段。请在 中指定训练文件的路径。中提供了一个示例。将其替换为您自己的音频。configs/tangoflux_config.yaml``train_dpo.json

CUDA_VISIBLE_DEVICES=0,1 accelerate launch --config_file='configs/accelerator_config.yaml' tangoflux/train_dpo.py   --checkpointing_steps="best" --save_every=5 --config='configs/tangoflux_config.yaml'

评估脚本

TangoFlux 与其他音频生成模型

这些关键比较指标包括:

  • Output Length : Represents the duration of the generated audio.
  • FD openl3 : Fréchet Distance.
  • KL passt : KL divergence.
  • CLAP score : Alignment score.

所有推理时间都在同一个 A40 GPU 上观察到。可训练参数的计数在 #Params 列中报告。

参数期间步骤FD 系列openl3 ↓吉隆坡通行证 ↓拍得分 ↑是 ↑推理时间 (s)
AudioLDM 2 (Large)712 米10 秒200108.31.810.4197.924.8
Stable Audio Open1056 米47 秒10089.22.580.2919.98.6
Tango 2866 米10 秒200108.41.110.4479.022.8
TangoFlux(基础)515 分钟30 秒5080.21.220.43111.73.7
TangoFlux515 分钟30 秒5075.11.150.48012.23.7
;