|
--- |
|
license: mit |
|
datasets: |
|
- cvssp/WavCaps |
|
cite: arxiv.org/abs/2412.21037 |
|
pipeline_tag: text-to-audio |
|
--- |
|
|
|
<h1 align="center">✨ |
|
<br/> |
|
TangoFlux: Super Fast and Faithful Text to Audio Generation with Flow Matching and Clap-Ranked Preference Optimization |
|
<br/> |
|
✨✨✨ |
|
|
|
|
|
</h1> |
|
|
|
<div align="center"> |
|
<img src="https://raw.githubusercontent.com/declare-lab/TangoFlux/refs/heads/main/assets/tf_teaser.png" alt="TangoFlux" width="1000" /> |
|
|
|
<br/> |
|
|
|
<div style="display: flex; gap: 10px; align-items: center;"> |
|
<a href="https://openreview.net/attachment?id=tpJPlFTyxd&name=pdf"> |
|
<img src="https://img.shields.io/badge/Read_the_Paper-blue?link=https%3A%2F%2Fopenreview.net%2Fattachment%3Fid%3DtpJPlFTyxd%26name%3Dpdf" alt="arXiv"> |
|
</a> |
|
<a href="https://huggingface.co/declare-lab/TangoFlux"> |
|
<img src="https://img.shields.io/badge/TangoFlux-Huggingface-violet?logo=huggingface&link=https%3A%2F%2Fhuggingface.co%2Fdeclare-lab%2FTangoFlux" alt="Static Badge"> |
|
</a> |
|
<a href="https://tangoflux.github.io/"> |
|
<img src="https://img.shields.io/badge/Demos-declare--lab-brightred?style=flat" alt="Static Badge"> |
|
</a> |
|
<a href="https://huggingface.co/spaces/declare-lab/TangoFlux"> |
|
<img src="https://img.shields.io/badge/TangoFlux-Huggingface_Space-8A2BE2?logo=huggingface&link=https%3A%2F%2Fhuggingface.co%2Fspaces%2Fdeclare-lab%2FTangoFlux" alt="Static Badge"> |
|
</a> |
|
<a href="https://huggingface.co/datasets/declare-lab/CRPO"> |
|
<img src="https://img.shields.io/badge/TangoFlux_Dataset-Huggingface-red?logo=huggingface&link=https%3A%2F%2Fhuggingface.co%2Fdatasets%2Fdeclare-lab%2FTangoFlux" alt="Static Badge"> |
|
</a> |
|
<a href="https://github.com/declare-lab/TangoFlux"> |
|
<img src="https://img.shields.io/badge/Github-brown?logo=github&link=https%3A%2F%2Fgithub.com%2Fdeclare-lab%2FTangoFlux" alt="Static Badge"> |
|
</a> |
|
</div> |
|
|
|
|
|
|
|
</div> |
|
|
|
## Model Overview |
|
|
|
TangoFlux consists of FluxTransformer blocks which are Diffusion Transformer (DiT) and Multimodal Diffusion Transformer (MMDiT), conditioned on textual prompt and duration embedding to generate audio at 44.1kHz up to 30 seconds. TangoFlux learns a rectified flow trajectory from audio latent representation encoded by a variational autoencoder (VAE). The TangoFlux training pipeline consists of three stages: pre-training, fine-tuning, and preference optimization. TangoFlux is aligned via CRPO which iteratively generates new synthetic data and constructs preference pairs to perform preference optimization. |
|
|
|
|
|
## Getting Started |
|
Download TangoFlux from our github https://github.com/declare-lab/TangoFlux |
|
The model will be automatically downloaded and saved in cache. Subsequent runs will load the model directly from cache. |
|
|
|
The generate function uses 25 steps by default to sample from the flow model. We recommend using 50 steps for generating better quality audios. This comes at the cost of increased run-time. |
|
|
|
```python |
|
import torchaudio |
|
from tangoflux import TangoFluxInference |
|
from IPython.display import Audio |
|
|
|
model = TangoFluxInference(name='declare-lab/TangoFlux') |
|
audio = model.generate('Hammer slowly hitting the wooden table', steps=50, duration=10) |
|
|
|
Audio(data=audio, rate=44100) |
|
``` |
|
## Citation |
|
|
|
https://arxiv.org/abs/2412.21037 |
|
|
|
```bibtex |
|
@misc{hung2024tangofluxsuperfastfaithful, |
|
title={TangoFlux: Super Fast and Faithful Text to Audio Generation with Flow Matching and Clap-Ranked Preference Optimization}, |
|
author={Chia-Yu Hung and Navonil Majumder and Zhifeng Kong and Ambuj Mehrish and Rafael Valle and Bryan Catanzaro and Soujanya Poria}, |
|
year={2024}, |
|
eprint={2412.21037}, |
|
archivePrefix={arXiv}, |
|
primaryClass={cs.SD}, |
|
url={https://arxiv.org/abs/2412.21037}, |
|
} |
|
``` |