What You'll Build
A local, offline pipeline that turns structured tag prompts (instrument → timbre → FX → key → bars → BPM) into tempo-synced, bar-aligned music loops on your RTX 4080 SUPER. Foundation-1 is a fine-tune of stabilityai/stable-audio-open-1.0 trained for music-production workflows; the RC Stable Audio Tools fork handles the BPM/bar timing alignment automatically.
Hardware data: RTX 4080 SUPER (16GB VRAM) · ~7 GB VRAM during generation per the HuggingFace model card (wide headroom on a 16 GB card) · See benchmark data
ℹ️ Not a text-to-speech model. Foundation-1 is in our
ttsvertical because the catalogue groups all audio models together, but it generates one-shot music samples — bar-locked instrumental loops — not speech. It does not synthesize voices, words, or any spoken audio. For speech synthesis on this GPU, see Kokoro, VoxCPM, or Qwen3-TTS instead. Per its own HuggingFace card: "Foundation-1 is a specialized model for music sample generation, not a general-purpose music generator."
⚠️ Licensing — read before shipping (two licenses, do not conflate). The model weights are released under the Stability AI Community License (
license_name: stabilityai-community-licensein the card's frontmatter). The HuggingFace card states the weights are "available for non-commercial use or limited commercial use by entities with annual revenues below USD $1M. For revenues exceeding USD $1M, please refer to the repository license file for full terms." If you're a hobbyist or under the $1M threshold you're clear; otherwise contact Stability AI for a commercial license before publishing or selling outputs. Separately, the RC Stable Audio Tools fork code is MIT-licensed — that permissive license covers the tooling only, not the weights. Keep the two distinct: the binding constraint on your outputs comes from the Stability weights license, not the MIT code.
Why the 16 GB RTX 4080 SUPER is over-provisioned for this model — and how to use the spare
Foundation-1's typical generation footprint is ~7 GB per the model card, against the 4080 SUPER's 16 GB — so over half the card sits idle during a normal run. The 4080 SUPER is the same 16 GB VRAM tier and the same Ada Lovelace (AD103, sm_89) architecture as the RTX 4080, so the install path and VRAM floor are identical; what differs is what you can do with the ~8 GB you don't need:
- Colocate a second model. Keep a small LLM (e.g. a 7B Q4 quant, ~5 GB) or an ASR model (Whisper-small/medium) resident alongside Foundation-1 to build a prompt-to-loop or transcribe-to-loop pipeline without unloading either model between calls.
- Run a DAW with GPU plugins or a browser-based DAW alongside generation without juggling memory the way 8 GB cards must.
- Batch generation. Queue multiple seeds/prompts back-to-back — the headroom absorbs the transient allocation spikes that an 8 GB card can't.
You do not need any low-VRAM trick on this card; the default BF16 path fits with room to spare. The optional INT4 mode (below) exists only for sharing the card with a much larger model.
Requirements
| Component | Minimum | Tested |
|---|---|---|
| GPU | 8 GB VRAM (per HF card) | RTX 4080 SUPER (16GB, ~8 GB headroom) |
| RAM | 16 GB system RAM | — |
| Storage | ~3 GB (2.43 GB weights + venv + deps) | — |
| Python | 3.10 (3.11+ may fail SciPy resolution per the RC fork README) | — |
| PyTorch | 2.4+ with CUDA wheel (default pip install torch is fine on Ada Lovelace sm_89) | — |
| Software | RC Stable Audio Tools fork or ComfyUI custom node | — |
Installation
This recipe follows the canonical workflow recommended on the Foundation-1 model card — the RC Stable Audio Tools fork, which auto-handles BPM/bar timing alignment. For a ComfyUI alternative, see Troubleshooting.
1. Clone the RC Stable Audio Tools fork
git clone https://github.com/RoyalCities/RC-stable-audio-tools.git
cd RC-stable-audio-tools
2. Create a Python 3.10 virtual environment
Linux / macOS:
python3.10 -m venv venv
source venv/bin/activate
Windows:
py -3.10 -m venv venv
venv\Scripts\activate
3. Install stable-audio-tools and the fork
pip install stable-audio-tools
pip install .
4. (Windows only) Force a CUDA torch wheel
Windows venvs sometimes resolve to the CPU-only torch wheel, which makes Gradio fall back to CPU silently. If python -c "import torch; print(torch.cuda.is_available())" prints False, reinstall torch from the CUDA 12.1 channel per the RC fork's documented Windows path (the default Linux pip install torch already resolves to a CUDA build, and the RTX 4080 SUPER is Ada Lovelace sm_89 — no special Blackwell/cu128 wheel needed):
pip uninstall -y torch torchvision torchaudio
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
5. Download Foundation-1 weights
Place both files inside a single subfolder of models/:
mkdir -p models/Foundation-1
cd models/Foundation-1
curl -L -o Foundation_1.safetensors \
https://huggingface.co/RoyalCities/Foundation-1/resolve/main/Foundation_1.safetensors
curl -L -o model_config.json \
https://huggingface.co/RoyalCities/Foundation-1/resolve/main/model_config.json
cd ../..
The safetensors file is 2.43 GB (HF Files tab). This release ships only the 16-bit weights — per the card, "Unlike prior releases where both 32-bit and 16-bit models were provided, this release includes only the 16-bit version." The card adds: "There is no quality loss, while reducing the model footprint."
Running
Launch the Gradio UI, pointing at the Foundation-1 checkpoint and config you just downloaded:
python run_gradio.py \
--model-config models/Foundation-1/model_config.json \
--ckpt-path models/Foundation-1/Foundation_1.safetensors
The Gradio interface opens in your browser. Foundation-1 uses a layered tag prompt schema documented on its model card:
[Instrument Family / Sub-Family], [Timbre], [Musical Behavior / Notation], [FX], [Key], [Bars], [BPM]
A working example prompt from the card's Audio Showcase:
Bass, FM Bass, Medium Delay, Medium Reverb, Low Distortion, Phaser, Sub Bass,
Bass, Upper Mids, Acid, Gritty, Wide, Dubstep, Thick, Silky, Warm, Rich,
Overdriven, Crisp, Deep, Clean, Pitch Bend, 303, 8 Bars, 140 BPM, E minor
Supported loop structures: 4 or 8 bars; supported BPMs: 100, 110, 120, 128, 130, 140, 150. The RC fork's BPM/bar selector locks generation duration to the prompt's musical structure automatically — per the card, "an 8-bar loop at 100 BPM ≈ 19 seconds" of output. Generations are saved as stereo .wav loops (and the fork auto-converts each sample to .MID), aligned to the bar/BPM grid above.
Results
- Speed: The model card reports generation time on an RTX 3090 only — "On an RTX 3090, generation time is approximately ~7–8 seconds per sample." The RTX 3090 is an Ampere (sm_86, 24 GB, 936 GB/s) card, not architecturally comparable to the Ada Lovelace RTX 4080 SUPER (AD103, sm_89, 16 GB, ~736 GB/s memory bandwidth), so that figure does not transfer as a 4080 SUPER number — the binding constraint for this memory-bound workload is bandwidth, and the two cards differ on both arch and bandwidth. No RTX-4080-SUPER-named generation-time measurement exists yet. We are not quoting a fabricated 4080 SUPER figure; once a community benchmark lands it will appear at /check/foundation-1/rtx-4080-super — please contribute yours via the submission form.
- VRAM usage: ~7 GB during generation per the HF card: "Typical VRAM usage during generation is approximately ~7 GB. […] For reliable operation, a GPU with at least 8 GB of VRAM is recommended." On the RTX 4080 SUPER's 16 GB that leaves roughly half the card free — comfortable enough to colocate a second model (see the headroom section above).
- Output: stereo
.wavloops aligned to the requested bar count and BPM. Per the model card limitations, percussion and drum sounds are out of scope for this release; the instrument families covered span synths, keys, basses, bowed strings, mallets, winds, guitars, brass, vocals, and plucked strings.
For the full benchmark data, see /check/foundation-1/rtx-4080-super.
Troubleshooting
Gradio launches but reports torch.cuda.is_available() == False
Either you didn't activate the venv before launching, or pip install torch resolved to the CPU wheel (Windows is the common culprit). Re-run step 4 to force the CUDA 12.1 channel, then verify:
python -c "import torch; print(torch.cuda.is_available(), torch.cuda.get_device_name(0))"
Should print True NVIDIA GeForce RTX 4080 SUPER (or similar).
Dependency resolution failures on Python 3.11+
The RC fork's README explicitly notes to "Use Python 3.10. Newer versions (e.g. 3.11+) can fail dependency resolution due to pinned packages (notably older SciPy wheels)." Use a Python 3.10 venv as in step 2.
Prefer ComfyUI over Gradio
Two community ComfyUI custom nodes exist:
Saganaki22/ComfyUI-Foundation-1— auto-downloads weights intoComfyUI/models/stable_audio/Foundation-1/, ships example workflows. Install via ComfyUI Manager (recommended) orgit cloneintoComfyUI/custom_nodes/thenpython install.py. The install script usespip install stable-audio-tools --no-depsto protect your ComfyUI environment from the upstream's aggressivepandas==2.0.2pin.SanDiegoDude/scg_Foundation-1-comfyUI— install via ComfyUI Manager recommended; weights land atComfyUI/models/audio_checkpoints/Foundation-1/.
The same ~7 GB VRAM envelope and 8 GB minimum apply regardless of front-end. On the RTX 4080 SUPER 16GB, both nodes have plenty of headroom.
Want to share the card with a much larger model? Enable INT4 / Low-VRAM Mode (TorchAO)
You don't need this on a 16 GB card — the default BF16 path fits comfortably — but the RC fork ships an optional INT4 weight-only mode you can use if you want to run Foundation-1 alongside a much larger model. Install:
# Windows (pinned, recommended)
pip install torchao==0.12.0
# Linux
pip install torchao
The fork notes INT4 "can be very slow on Windows because Triton fast-kernels are usually unavailable (falls back to slower paths)." If TorchAO isn't installed, the INT4 toggle stays hidden in the UI.
Prompt produces drift or incoherent phrases
Per the model card's Limitations section, if generation duration doesn't match the prompt's bar/BPM structure (e.g. requesting an 8-bar loop but capping output at 5 seconds), output coherence degrades — the card warns the model "may produce less coherent musical phrases." The RC fork handles this alignment automatically — if you're using bare stable-audio-tools or a third-party UI, set the audio duration manually to match the bars × (60 / BPM) × 4 formula. Also: keep prompts in the documented tag order, use 1–3 timbre descriptors, and always include both Bars and BPM.
Percussion or drum prompts produce garbage
By design. The card lists "Percussion and drum sounds are outside the scope of this release" as a limitation. Use a different tool (e.g. a drum sample library or a percussion-specific model) for drum loops.
No widely-reported issues on RTX 4080 SUPER specifically — if you hit one, report it via the submission form.