Model reference · open weights
musicgen-stereo-small is an open-weight audio or speech model from Meta. musicgen-stereo-small (FP16) weighs 1.2 GB; the smallest configuration that runs it is RTX 3060 12 GB.
Summary of the facebook/musicgen-stereo-small model card, 2026-10-01
What it is
| Released by | Meta |
|---|---|
| Released | 2023-10-23 |
| Parameters | 608M |
| VRAM | 1.2 GB for the weights |
What it runs on
| Card | One stream | Memory |
|---|---|---|
| RTX 3060 12 GB | fits | 11.6 GB |
| RTX 4060 Ti 16 GB | fits | 15.4 GB |
| RTX 3090 24 GB | fits | 23.4 GB |
| RTX 4090 24 GB | fits | 23.4 GB |
| RTX 5090 32 GB | fits | 31.0 GB |
| L40S 48 GB | fits | 44.0 GB |
| A100 80 GB | fits | 78.2 GB |
| H100 80 GB | fits | 78.1 GB |
| RTX PRO 6000 Blackwell 96 GB | fits | 93.8 GB |
| DGX Spark (GB10) 128 GB unified | fits | 107 GB |
| H200 141 GB | fits | 138 GB |
| B200 180 GB | fits | 176 GB |
From the model card
We further release a set of stereophonic capable models. Those were fine tuned for 200k updates starting from the mono models. The training data is otherwise identical and capabilities and limitations are shared with the base modes. The stereo models work by getting 2 streams of tokens from the EnCodec model, and interleaving those using the delay pattern.
Stereophonic sound, also known as stereo, is a technique used to reproduce sound with depth and direction. It uses two separate audio channels played through speakers or headphones arranged so that it sounds like you're listening from different angles.
MusicGen is a text-to-music model capable of genreating high-quality music samples conditioned on text descriptions or audio prompts. It is a single stage auto-regressive Transformer model trained over a 32kHz EnCodec tokenizer with 4 codebooks sampled at 50 Hz. Unlike existing methods, like MusicLM, MusicGen doesn't require a self-supervised semantic representation, and it generates all 4 codebooks in one pass. By introducing a small delay between the codebooks, we show we can predict them in parallel, thus having only 50 auto-regressive steps per second of audio.
MusicGen was published in Simple and Controllable Music Generation by Jade Copet, Felix Kreuk, Itai Gat, Tal Remez, David Kant, Gabriel Synnaeve, Yossi Adi, Alexandre Défossez.
We provide a simple API and 10 pre-trained models. The pre trained models are:
facebook/musicgen-small: 300M model, text to music only - 🤗 Hubfacebook/musicgen-medium: 1.5B model, text to music only - 🤗 Hubfacebook/musicgen-melody: 1.5B model, text to music and text+melody to music - 🤗 Hubfacebook/musicgen-large: 3.3B model, text to music only - 🤗 Hubfacebook/musicgen-melody-large: 3.3B model, text to music and text+melody to music - 🤗 Hubfacebook/musicgen-stereo-*: All the previous models fine-tuned for stereo generation -
small,
medium,
large,
melody,
melody largeTry out MusicGen yourself!
Audiocraft Colab:
Hugging Face Colab:
Hugging Face Demo:
You can run MusicGen Stereo models locally with the 🤗 Transformers library from main onward.
pip install --upgrade pip
pip install --upgrade git+https://github.com/huggingface/transformers.git scipy
Text-to-Audio (TTA) pipeline. You can infer the MusicGen model via the TTA pipeline in just a few lines of code!import torch
import soundfile as sf
from transformers import pipeline
synthesiser = pipeline("text-to-audio", "facebook/musicgen-stereo-small", device="cuda:0", torch_dtype=torch.float16)
music = synthesiser("lo-fi music with a soothing melody", forward_params={"max_new_tokens": 256})
sf.write("musicgen_out.wav", music["audio"][0].T, music["sampling_rate"])
from transformers import AutoProcessor, MusicgenForConditionalGeneration
processor = AutoProcessor.from_pretrained("facebook/musicgen-stereo-small")
model = MusicgenForConditionalGeneration.from_pretrained("facebook/musicgen-stereo-small").to("cuda")
inputs = processor(
text=["80s pop track with bassy drums and synth", "90s rock song with loud guitars and heavy drums"],
padding=True,
return_tensors="pt",
).to("cuda")
audio_values = model.generate(**inputs, max_new_tokens=256)
from IPython.display import Audio
sampling_rate = model.config.audio_encoder.sampling_rate
Audio(audio_values[0].cpu().numpy(), rate=sampling_rate)
Or save them as a .wav file using a third-party library, e.g. soundfile:
import soundfile as sf
sampling_rate = model.config.audio_encoder.sampling_rate
audio_values = audio_values.cpu().numpy()
sf.write("musicgen_out.wav", audio_values[0].T, sampling_rate)
For more details on using the MusicGen model for inference using the 🤗 Transformers library, refer to the MusicGen docs.
You can also run MusicGen locally through the original [Audiocraft library]((https://github.com/facebookresearch/audiocraft):
audiocraft librarypip install git+https://github.com/facebookresearch/audiocraft.git
ffmpeg installed:apt get install ffmpeg
from audiocraft.models import MusicGen
from audiocraft.data.audio import audio_write
model = MusicGen.get_pretrained("small")
model.set_generation_params(duration=8) # generate 8 seconds.
descriptions = ["happy rock", "energetic EDM"]
wav = model.generate(descriptions) # generates 2 samples.
for idx, one_wav in enumerate(wav):
# Will save under {idx}.wav, with loudness normalization at -14 db LUFS.
audio_write(f'{idx}', one_wav.cpu(), model.sample_rate, strategy="loudness")
Organization developing the model: The FAIR team of Meta AI.
Model date: MusicGen was tr
Quoted from the model card on Hugging Face. The full card is behind the Hugging Face link above.