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 4060. 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 4060 (8 GB VRAM) · ~7 GB VRAM during generation per the HuggingFace model 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 OpenAudio S1 Mini instead. Per its own HuggingFace card: "specialized model for music sample generation, not a general-purpose music generator."
⚠️ Tight VRAM — your 8 GB card sits at the model's recommended floor. The HuggingFace card states: "Typical VRAM usage during generation is approximately ~7 GB. For reliable operation, a GPU with at least 8 GB of VRAM is recommended." That leaves roughly 1 GB of headroom on the RTX 4060 — enough to run, but expect to close other GPU-using apps (browser hardware acceleration, OBS, a DAW with GPU plugins) before generation. If you hit OOM, the RC fork ships an optional INT4 low-VRAM mode via TorchAO — see Troubleshooting.
⚠️ Licensing — read before shipping. Foundation-1 weights are released under the Stability AI Community License. The HuggingFace card states the model "is 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. (The RC fork code is MIT; the constraint is on the model weights.)
Requirements
| Component | Minimum | Tested |
|---|---|---|
| GPU | 8 GB VRAM (per HF card) | RTX 4060 (8 GB) — at the floor |
| RAM | 16 GB system RAM | — |
| Storage | ~3 GB (2.43 GB weights + venv + deps) | — |
| Python | 3.10 (3.11+ may fail SciPy resolution) | Python 3.10 |
| PyTorch | 2.4+ with CUDA 12.1 wheel (default pip install torch is fine on Ada Lovelace sm_89) | PyTorch 2.4 (CUDA 12.1) |
| Software | RC Stable Audio Tools fork or ComfyUI custom node | RC Stable Audio Tools fork |
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 (the RC fork's documented Windows path; the default works on Ada Lovelace sm_89 — no special Blackwell wheel needed):
pip uninstall -y torch torchvision torchaudio
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
Linux users can usually skip this step — pip install torch resolves to a CUDA build by default.
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).
Running
Before launching, close other GPU-using apps (a browser with hardware acceleration, OBS, a DAW with GPU plugins) — at the 8 GB floor, idle GPU memory matters.
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:
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 — for an 8-bar loop at 100 BPM that's roughly 19 seconds of output (model card). The underlying Stable Audio Open base outputs 44.1 kHz stereo up to 47 seconds; Foundation-1 is constrained to the bar/BPM grid above.
Results
- Speed: The model card reports generation takes "approximately ~7–8 seconds per sample" on an RTX 3090. No comparable-tier number has been published for the RTX 4060 yet — the 4060 (Ada, 8 GB, 272 GB/s memory bandwidth) is meaningfully slower than the 3090 (Ampere, 24 GB, 936 GB/s) on memory-bound workloads, so plan on longer per-sample times until a community benchmark lands. Check /check/foundation-1/rtx-4060 for live benchmark data.
- 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 4060 that leaves ~1 GB headroom — workable, but you cannot run another GPU-using app alongside generation without risking OOM.
- Output: mono/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 10 instrument families covered are Synth, Keys, Bass, Bowed Strings, Mallet, Wind, Guitar, Brass, Vocal, and Plucked Strings.
For the full benchmark data, see /check/foundation-1/rtx-4060.
Troubleshooting
torch.cuda.OutOfMemoryError during generation
Most common on 8 GB cards with a browser or DAW holding GPU memory. Fixes in order of effort:
-
Close other GPU-using apps. Run
nvidia-smibefore launching to see what's already resident — you want at least 7.5 GB free. -
Disable browser hardware acceleration in your DAW/host machine while generating.
-
Enable the RC fork's optional INT4 / Low-VRAM Mode (TorchAO) — documented in the RC fork README. Install:
# Windows (pinned, recommended) pip install torchao==0.12.0 # Linux pip install torchaoThe fork notes INT4 can be "very slow on Windows because Triton fast-kernels are usually unavailable (falls back to slower paths)" — try it if step 1 and 2 don't resolve OOM. If TorchAO isn't installed, the INT4 toggle stays hidden in the UI.
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 RTX 4060 (or similar).
Dependency resolution failures on Python 3.11+
The RC fork's README explicitly notes 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. Installs viagit cloneintoComfyUI/custom_nodes/thenpython install.py(which installsstable-audio-tools --no-depsto protect your ComfyUI environment from the upstream's aggressivepandas==2.0.2pin — the upstream'spandas==2.0.2requirement has no Python 3.13 wheel and is the primary driver of the--no-depsworkaround).SanDiegoDude/scg_Foundation-1-comfyUI— install via ComfyUI Manager recommended; weights land atComfyUI/models/audio_checkpoints/Foundation-1/.
Same ~7 GB VRAM envelope and 8 GB minimum apply regardless of front-end — the 4060 is still at the floor.
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 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 as explicitly out-of-scope for this release. Use a different tool (e.g. a drum sample library or a percussion-specific model) for drum loops.
No widely-reported issues on RTX 4060 specifically — if you hit one, report it via the submission form.