2026-01-26 17:23:48 +08:00
# Text-To-Audio
2026-06-30 00:41:30 -04:00
A unified script for text/video-to-audio generation. Supported models:
| Model | Tasks | Notes |
|-------|-------|-------|
| `stabilityai/stable-audio-open-1.0` | text-to-audio | gated; uses `--audio-length` |
| `zhangj1an/AudioX` | `t2a` / `t2m` / `v2a` / `v2m` / `tv2a` / `tv2m` | pass `--task` ; video tasks need `--video` |
2026-01-26 17:23:48 +08:00
The `stabilityai/stable-audio-open-1.0` pipeline generates audio from text prompts.
## Prerequisites
If you use a gated model (e.g., `stabilityai/stable-audio-open-1.0` ), ensure you have access:
1. **Accept Model License** : Visit the model page on Hugging Face (e.g., [stabilityai/stable-audio-open-1.0]) and accept the user agreement.
2. **Authenticate** : Log in to Hugging Face locally to access the gated model.
```bash
huggingface-cli login
` ``
## Local CLI Usage
` ``bash
python text_to_audio.py \
--model stabilityai/stable-audio-open-1.0 \
--prompt "The sound of a hammer hitting a wooden surface" \
2026-02-11 17:17:48 +08:00
--negative-prompt "Low quality" \
2026-01-26 17:23:48 +08:00
--seed 42 \
2026-02-11 17:17:48 +08:00
--guidance-scale 7.0 \
--audio-length 10.0 \
--num-inference-steps 100 \
2026-04-14 15:05:12 +08:00
--cache-backend tea_cache \
2026-01-26 17:23:48 +08:00
--output stable_audio_output.wav
` ``
2026-04-21 18:13:20 +08:00
To reduce per-GPU memory for multi-GPU inference, launch with HSDP:
` ``bash
python text_to_audio.py \
--model stabilityai/stable-audio-open-1.0 \
--prompt "The sound of a hammer hitting a wooden surface" \
--negative-prompt "Low quality" \
--seed 42 \
--guidance-scale 7.0 \
--audio-length 10.0 \
--num-inference-steps 100 \
--use-hsdp \
--hsdp-shard-size 2 \
--output stable_audio_output.wav
` ``
2026-06-30 00:41:30 -04:00
### AudioX
AudioX supports six tasks. Sampler and reference knobs (declared in
` vllm_omni/model_extras/audiox.py`) are passed via the generic ` --extra-body`
JSON flag, routed into sampling ` extra_args`.
Text tasks (` t2a` / ` t2m`):
` ``bash
python text_to_audio.py \
--model zhangj1an/AudioX --task t2a \
--prompt "Fireworks burst twice, followed by a clock ticking." \
--num-inference-steps 250 --guidance-scale 6.0 --audio-length 10.0 --seed 42 \
--extra-body '{"sigma_min": 0.03, "sigma_max": 1000.0}' \
--output t2a.wav
` ``
Video-conditioned tasks (` v2a` / ` v2m` / ` tv2a` / ` tv2m`) require ` --video`:
` ``bash
python text_to_audio.py \
--model zhangj1an/AudioX --task tv2a \
--prompt "drum beating sound and human talking" \
--video https://zeyuet.github.io/AudioX/static/samples/V2M/1XeBotOFqHA.mp4 \
--num-inference-steps 250 --guidance-scale 6.0 --audio-length 10.0 \
--output tv2a.wav
` ``
2026-01-26 17:23:48 +08:00
Key arguments:
- ` --prompt`: text description (string).
2026-06-30 00:41:30 -04:00
- ` --task`: [AudioX] one of ` t2a`/` t2m`/` v2a`/` v2m`/` tv2a`/` tv2m`.
- ` --video`: [AudioX ` v2*`/` tv2*`] video file/URL for conditioning (→ ` video_path`).
- ` --audio-start`: audio start offset in seconds (→ ` audio_start_in_s` for Stable Audio, ` seconds_start` for AudioX).
- ` --audio-length`: audio duration in seconds (audio length for Stable Audio, ` seconds_total` for AudioX).
- ` --extra-body`: JSON dict of model-specific knobs (declared in ` vllm_omni/model_extras/`), merged into sampling ` extra_args`. For AudioX, sampler/reference knobs go here, e.g. ` '{"sigma_min": 0.03, "sigma_max": 1000.0, "cfg_rescale": 0.0, "audio_path": "ref.wav"}'`.
2026-02-11 17:17:48 +08:00
- ` --negative-prompt`: negative prompt for classifier-free guidance.
2026-01-26 17:23:48 +08:00
- ` --seed`: integer seed for deterministic generation.
2026-02-11 17:17:48 +08:00
- ` --guidance-scale`: classifier-free guidance scale.
- ` --num-inference-steps`: diffusion sampling steps.(more steps = higher quality, slower).
2026-04-21 18:13:20 +08:00
- ` --use-hsdp`: enable HSDP weight sharding for the Stable Audio DiT.
- ` --hsdp-shard-size`: number of GPUs used for HSDP sharding.
- ` --hsdp-replicate-size`: number of HSDP replica groups.
2026-04-14 15:05:12 +08:00
- ` --cache-backend`: cache acceleration backend. Stable Audio currently supports ` tea_cache`.
2026-01-26 17:23:48 +08:00
- ` --output`: path to save the generated WAV file.