Skip to content

Transform audio into rehearsal-ready stems and DAW projects - AI-powered stem separation with Cubase integration

License

Notifications You must be signed in to change notification settings

UnTypeBeats/RehearseKit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

110 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

RehearseKit

Your Complete Rehearsal Toolkit

Transform any audio source into a ready-to-use rehearsal project in minutes. RehearseKit automatically separates stems, detects tempo, and generates DAW project filesβ€”so you can focus on making music.

Live Demo License: MIT


✨ Features

Core Functionality

  • 🎡 Audio Input: Upload MP3, WAV, or FLAC files, or paste YouTube URLs
  • 🎼 AI Stem Separation: Isolate vocals, drums, bass, and other instruments using Demucs
  • ⏱️ Tempo Detection: Automatic BPM analysis with manual override
  • βœ‚οΈ Waveform Trimming: Visual region selection to process only specific portions
  • 🎹 DAW Integration: Auto-generated .dawproject files (Studio One, Bitwig, Reaper, Cubase)

Advanced Features (Stage 3)

  • 🎚️ Professional DAW Mixer: Multi-channel mixer with vertical faders, solo/mute, and real-time preview
  • πŸ”„ Quality Upgrade: One-click reprocessing from fast to high quality mode
  • πŸ“¦ Download Packages: All stems + project file in organized ZIP structure
  • 🎨 Modern UI: Dark theme with professional DAW-style interface

Coming Soon (Stage 4)

  • πŸ” Authentication: Google OAuth + optional email/password
  • πŸ‘€ User Accounts: Job history and personalized experience
  • πŸš€ Self-Hosted: Deploy locally or on TrueNAS for zero cloud costs

πŸš€ Quick Start

Using Docker (Recommended)

  1. Clone and configure

    git clone https://github.com/UnTypeBeats/RehearseKit.git
    cd RehearseKit
    cp config/.env.example .env
    # Edit .env with your configuration
  2. Start all services

    docker-compose up
  3. Access the application

Prerequisites

  • Docker Desktop (Mac) or Docker Engine (Linux/WSL)
  • 8GB+ RAM recommended for AI processing
  • ~10GB disk space for models

For detailed setup instructions, see docs/guides/local-development.md


πŸ“ Project Structure

RehearseKit/
β”œβ”€β”€ frontend/              # Next.js 14 application
β”œβ”€β”€ backend/               # FastAPI application + Celery workers
β”œβ”€β”€ websocket/             # WebSocket service for real-time updates
β”œβ”€β”€ infrastructure/        # Deployment configurations (Terraform, TrueNAS)
β”œβ”€β”€ docs/                  # Documentation
β”‚   β”œβ”€β”€ guides/            # User and developer guides
β”‚   β”œβ”€β”€ api/               # API documentation
β”‚   β”œβ”€β”€ archive/           # Historical documentation
β”‚   └── ideas/             # Feature proposals
β”œβ”€β”€ scripts/               # Deployment and setup scripts
β”œβ”€β”€ config/                # Configuration templates
β”‚   β”œβ”€β”€ .env.example       # Environment variables template
β”‚   β”œβ”€β”€ docker-compose.dev.yml
β”‚   └── docker-compose.prod.yml
└── docker-compose.yml     # Local development setup

πŸ—οΈ Architecture

Technology Stack

  • Frontend: Next.js 14, React Query, WaveSurfer.js, Web Audio API, shadcn/ui
  • Backend: FastAPI, SQLAlchemy, Celery, Alembic
  • AI/Audio: Demucs (stem separation), librosa (tempo detection), FFmpeg, yt-dlp
  • Infrastructure: Docker, PostgreSQL 16, Redis 7
  • Deployment: TrueNAS SCALE, Cloudflare Tunnel

Service Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   Frontend  │────▢│  Backend    │────▢│   Worker    β”‚
β”‚  (Next.js)  β”‚     β”‚  (FastAPI)  β”‚     β”‚  (Celery)   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
       β”‚                   β”‚                    β”‚
       β”‚            β”Œβ”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”            β”‚
       β”‚            β”‚             β”‚            β”‚
       β–Ό            β–Ό             β–Ό            β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  WebSocket  β”‚  β”‚PostgreSQLβ”‚  β”‚  Redis  β”‚  β”‚ Storage β”‚
β”‚   Service   β”‚  β”‚    16   β”‚  β”‚    7    β”‚  β”‚  Local  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ“– Documentation


🚒 Deployment

TrueNAS SCALE (Recommended for Self-Hosting)

# See docs/guides/truenas-deployment.md for complete instructions
cd infrastructure/truenas
./deploy.sh

Docker Compose (Production)

# Use production configuration
docker-compose -f config/docker-compose.prod.yml up -d

Deployment Scripts

All deployment scripts are located in scripts/deployment/:

  • deploy-truenas.sh - TrueNAS deployment automation
  • build-and-push.sh - Build and push Docker images

🀝 Contributing

We welcome contributions! Please see CONTRIBUTING.md for:

  • Code of conduct
  • Development workflow
  • Pull request process
  • Coding standards

πŸ“Š Current Status

Version: Stage 3 Complete (Stage 4 in progress)
Status: Production Ready βœ…
Live Demo: rehearsekit.uk

Stage 3 Features (Completed)

  • βœ… Waveform trimming with visual feedback
  • βœ… Professional DAW-style mixer
  • βœ… Quality upgrade workflow
  • βœ… Cubase import integration

Stage 4 Features (In Progress)

  • πŸ”„ Authentication system (Google OAuth)
  • πŸ”„ User accounts and job ownership
  • πŸ”„ Repository cleanup and reorganization

πŸ“ License

This project is licensed under the MIT License - see the LICENSE file for details.


πŸ™ Acknowledgments

  • Demucs - AI-powered stem separation
  • WaveSurfer.js - Audio waveform visualization
  • shadcn/ui - Beautiful UI components
  • FastAPI - Modern Python web framework

πŸ“§ Support


Built with ❀️ for musicians who want to spend less time on setup and more time making music.

About

Transform audio into rehearsal-ready stems and DAW projects - AI-powered stem separation with Cubase integration

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •