Skip to main content

MusicGen Unified - v2.0

PyPI version Python License CI Downloads Code style: black

A clean, focused implementation of Facebook's MusicGen for instrumental music generation.

What This Is

  • Simple: Just music generation, no unnecessary complexity
  • Fast: GPU-optimized for 10x realtime generation
  • Practical: CLI, API, and web interface included
  • Deployable: One-click AWS deployment

What This Isn't

  • Not for vocal/singing generation (MusicGen doesn't support it)
  • Not a microservices architecture (it's a simple tool)
  • Not a research framework (it's for practical use)

Quick Start

# Install
pip install musicgen-unified

# Generate music
musicgen generate "upbeat jazz piano" --duration 30

# Start web interface
musicgen serve

# Start API
musicgen api

Features

  • ✅ Text-to-music generation
  • ✅ Extended generation (>30 seconds)
  • ✅ Batch processing from CSV
  • ✅ GPU acceleration
  • ✅ Web interface
  • ✅ REST API
  • ✅ AWS deployment ready

Installation

# Basic installation
pip install musicgen-unified

# With GPU support
pip install musicgen-unified[gpu]

# Development
git clone https://github.com/yourusername/musicgen-unified
cd musicgen-unified
pip install -e ".[dev]"

Usage

Command Line

# Basic generation
musicgen generate "smooth jazz saxophone" -o jazz.mp3

# Extended generation
musicgen generate "epic orchestral" --duration 120 -o epic.mp3

# Batch processing
musicgen batch playlist.csv --output-dir music/

Python API

from musicgen import MusicGenerator

# Initialize
generator = MusicGenerator(device="cuda")

# Generate music
audio, sample_rate = generator.generate(
    "ambient electronic",
    duration=30.0
)

# Save
generator.save_audio(audio, sample_rate, "output.mp3")

Web Interface

musicgen serve --port 8080
# Open http://localhost:8080

REST API

musicgen api --port 8000

# Generate music
curl -X POST http://localhost:8000/generate \
  -H "Content-Type: application/json" \
  -d '{"prompt": "classical piano", "duration": 30}'

Deployment

Docker

docker build -t musicgen .
docker run -p 8080:8080 --gpus all musicgen

AWS

# Configure AWS credentials
aws configure

# Deploy
./deployment/deploy_aws.sh

Architecture

musicgen-unified/
├── musicgen/
│   ├── generator.py    # Core generation with GPU optimization
│   ├── batch.py        # Batch processing
│   ├── prompt.py       # Prompt engineering
│   ├── api.py          # FastAPI server
│   ├── cli.py          # CLI interface
│   └── utils.py        # Utilities
├── static/             # Web UI files
├── tests/              # Test suite
└── deployment/         # Deployment scripts

Performance

  • GPU: 10x faster than realtime
  • CPU: 1x realtime (approximate)
  • Memory: <1GB base, ~4GB with large model
  • Startup: <10 seconds

Models

  • small: Fast, lower quality (300M parameters)
  • medium: Balanced (1.5B parameters)
  • large: Best quality (3.3B parameters)

Contributing

We welcome contributions! Please see CONTRIBUTING.md for guidelines.

License

MIT License - see LICENSE file for details.

Acknowledgments

  • Facebook Research for MusicGen
  • The open source community

Support

Metadata

Release files for musicgen-unified 2.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for musicgen-unified 2.0.1
File Size Uploaded
musicgen_unified-2.0.1.tar.gz 32.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for musicgen-unified 2.0.1
File Interpreter ABI Platform
musicgen_unified-2.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 60.7 kB

Release files / musicgen_unified-2.0.1.tar.gz

Download URL musicgen_unified-2.0.1.tar.gz
Size 32.1 kB
Tags Source
SHA-256 checksum
How to use checksums
e520d838a519031689f2d68a53899b5dd009ac32a7bf3cf29902c85da74dd90c
BLAKE2b-256 checksum
How to use checksums
f4be9198dc4b7f15eb65c1eb7a6b7bee46ee17c4a2d4c1649e3f5061b1fbe7d5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.13

Release files / musicgen_unified-2.0.1-py3-none-any.whl

Download URL musicgen_unified-2.0.1-py3-none-any.whl
Size 28.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7d8617d406e7dc22265e8acb46dffbef619160a8afe481acfb82d13a7658cd36
BLAKE2b-256 checksum
How to use checksums
842aa5d13416d5fc86ca4ccf1ed2dc6c2824f6ed557efa0d3a12101a870b3198
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.13

Release history Release notifications | RSS feed

This release

2.0.1 This release

2 release files

2.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page