You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A full-featured Suno AI-like web studio for the open-source HeartMuLa music generation model. Generate full songs with vocals from lyrics and style tags — all running locally on your GPU.
# Clone the repository
git clone https://github.com/rustyorb/heartmula-studio.git
cd heartmula-studio
# Install dependencies
make setup-backend
make setup-frontend
# Start both servers (backend on :8000, frontend on :3000)
make dev
The app runs in mock mode by default — no GPU or HeartMuLa model installation required. Mock generation creates silent MP3 files with simulated progress to test the full pipeline.
Manual Setup
Backend only
cd backend
uv sync # Install Python dependencies
uv run alembic upgrade head # Run database migrations
uv run uvicorn app.main:app --reload --port 8000
Frontend only
cd frontend
pnpm install # Install Node dependencies
pnpm dev # Start dev server on :3000
With real HeartMuLa model
# Install HeartMuLa (requires PyTorch + CUDA)
pip install heartlib
# The model downloads automatically on first generation (~6GB)# For GPUs with < 14GB VRAM, mmgp mode is auto-enabled
male vocal, female vocal, duet, choir, rap, whisper, falsetto, opera
Tempo
slow, medium tempo, fast, uptempo
Database Schema
erDiagram
generation_jobs {
string id PK
string status
text lyrics
text tags
int max_length_ms
float temperature
int topk
float cfg_scale
string output_path
int duration_ms
text error
datetime created_at
datetime started_at
datetime completed_at
}
tracks {
string id PK
string job_id FK
string title
text tags
text lyrics
string output_url
int duration_ms
int file_size_bytes
boolean favorite
datetime created_at
datetime updated_at
}
user_settings {
int id PK
float default_temperature
int default_topk
float default_cfg_scale
int default_max_length_ms
string theme
boolean auto_save_tracks
}
generation_jobs ||--o| tracks : "produces"
Loading
Development
Makefile Commands
Command
Description
make dev
Start both backend and frontend in parallel
make dev-backend
Start backend only (with hot reload)
make dev-frontend
Start frontend only
make setup-backend
Install Python deps + run migrations
make setup-frontend
Install Node.js dependencies
make migrate
Run pending database migrations
make new-migration msg="description"
Generate a new Alembic migration
Project Stats
Metric
Value
Total files
110
Lines of code
~11,000
Frontend components
22
Zustand stores
6
API endpoints
12
SSE event types
12
shadcn/ui primitives
14
Roadmap
Connect real HeartMuLa pipeline (replace mock)
Waveform preview in track cards
Batch generation (multiple songs from one prompt)
Audio post-processing (normalize, fade in/out)
Export playlist / zip download
Docker Compose deployment
Light theme support
Keyboard shortcuts
Credits
Built on top of the incredible work by the HeartMuLa team — a 3-billion parameter open-source music generation model that creates full songs with vocals from lyrics and style tags.