Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MusicMagic 🎵

A web application that lets you download music and split it into separate instrument tracks using AI.

Features

  • Download music from various sources
  • Split songs into stems (vocals, drums, bass, guitar, piano, other)
  • Create custom mixes by combining stems
  • User authentication with admin approval system

Quick Start

  1. Clone and install dependencies:
git clone https://github.com/yourusername/musicmagic.git
cd musicmagic
python -m venv .venv
.venv\Scripts\activate  # Windows
source .venv/bin/activate  # Unix/MacOS
pip install uv
uv pip install -r requirements.txt
  1. Create a .env file:
REPLICATE_API_TOKEN=your_token_here
PORT=5000  # Optional, defaults to 5000
FLASK_DEBUG=true  # Optional, defaults to false
FLASK_SECRET_KEY=your_secret_key  # Optional, auto-generated if not set
DATABASE_URL=sqlite:///music.db  # Optional, defaults to SQLite

Get your token from Replicate

  1. Run the app:
flask run
  1. Visit http://localhost:5000 and register - the first user to register becomes admin!

Important Notes

  • The first user to register automatically becomes admin and can approve other users
  • You need a Replicate API token for stem separation
  • Maximum file size: 16MB
  • Supported formats: MP3
  • Stem separation takes several minutes per song

Tech Stack

  • Backend: Flask + SQLite
  • Frontend: Bootstrap 5
  • AI: Demucs (via Replicate)
  • Audio: FFmpeg

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages