🎧 AudioX: Diffusion Transformer for Anything-to-Audio Generation
[TL;DR]: AudioX is a unified Diffusion Transformer model for Anything-to-Audio and Music Generation, capable of generating high-quality general audio and music, offering flexible natural language control, and seamlessly processing various modalities including text, video, image, music, and audio.
import torch
import torchaudio
from einops import rearrange
from stable_audio_tools import get_pretrained_model
from stable_audio_tools.inference.generation import generate_diffusion_cond
from stable_audio_tools.data.utils import read_video, merge_video_audio
from stable_audio_tools.data.utils import load_and_process_audio
import os
device = "cuda"if torch.cuda.is_available() else"cpu"# Download model
model, model_config = get_pretrained_model("HKUSTAudio/AudioX")
sample_rate = model_config["sample_rate"]
sample_size = model_config["sample_size"]
target_fps = model_config["video_fps"]
seconds_start = 0
seconds_total = 10
model = model.to(device)
# for video-to-music generation
video_path = "video.mp4"
text_prompt = "Generate music for the video"
audio_path = None
video_tensor = read_video(video_path, seek_time=0, duration=seconds_total, target_fps=target_fps)
audio_tensor = load_and_process_audio(audio_path, sample_rate, seconds_start, seconds_total)
conditioning = [{
"video_prompt": [video_tensor.unsqueeze(0)],
"text_prompt": text_prompt,
"audio_prompt": audio_tensor.unsqueeze(0),
"seconds_start": seconds_start,
"seconds_total": seconds_total
}]
# Generate stereo audio
output = generate_diffusion_cond(
model,
steps=250,
cfg_scale=7,
conditioning=conditioning,
sample_size=sample_size,
sigma_min=0.3,
sigma_max=500,
sampler_type="dpmpp-3m-sde",
device=device
)
# Rearrange audio batch to a single sequence
output = rearrange(output, "b d n -> d (b n)")
# Peak normalize, clip, convert to int16, and save to file
output = output.to(torch.float32).div(torch.max(torch.abs(output))).clamp(-1, 1).mul(32767).to(torch.int16).cpu()
torchaudio.save("output.wav", output, sample_rate)
if video_path isnotNoneand os.path.exists(video_path):
merge_video_audio(video_path, "output.wav", "output.mp4", 0, seconds_total)
Citation
If you find our work useful, please consider citing:
@article{tian2025audiox,
title={AudioX: Diffusion Transformer for Anything-to-Audio Generation},
author={Tian, Zeyue and Jin, Yizhu and Liu, Zhaoyang and Yuan, Ruibin and Tan, Xu and Chen, Qifeng and Xue, Wei and Guo, Yike},
journal={arXiv preprint arXiv:2503.10522},
year={2025}
}
Runs of HKUSTAudio AudioX on huggingface.co
0
Total runs
0
24-hour runs
0
3-day runs
0
7-day runs
0
30-day runs
More Information About AudioX huggingface.co Model
AudioX huggingface.co is an AI model on huggingface.co that provides AudioX's model effect (), which can be used instantly with this HKUSTAudio AudioX model. huggingface.co supports a free trial of the AudioX model, and also provides paid use of the AudioX. Support call AudioX model through api, including Node.js, Python, http.
AudioX huggingface.co is an online trial and call api platform, which integrates AudioX's modeling effects, including api services, and provides a free online trial of AudioX, you can try AudioX online for free by clicking the link below.
HKUSTAudio AudioX online free url in huggingface.co:
AudioX is an open source model from GitHub that offers a free installation service, and any user can find AudioX on GitHub to install. At the same time, huggingface.co provides the effect of AudioX install, users can directly use AudioX installed effect in huggingface.co for debugging and trial. It also supports api for free installation.