Skip to content

ElMoorish/AI-DJ-Software

Repository files navigation

AI DJ Logo

🎛️ AI DJ

An open-source, AI-native desktop DJ application running entirely locally.

Features Tech Open Source


AI DJ Demo

🚀 The Concept

AI DJ brings sophisticated machine learning to automated playlist generation and micro-genre classification. Unlike cloud-based solutions, this app is Offline-First & SOC2 Compliant—all audio analysis, AI inference, and rendering happen directly on your machine. Zero audio data leaves your device.

Mixer View

🧠 Model Weights

To keep the repository lightweight, the pre-trained ONNX models are hosted on Hugging Face.

  1. Download the models from: Themoor/Ai-DJ-Mixer
  2. Place all .onnx, .onnx.data, and .json files into the ml-sidecar/models/ directory.

Quick Install (CLI)

If you have the Hugging Face CLI installed:

hf download Themoor/Ai-DJ-Mixer --local-dir ml-sidecar/models

✨ Key Features

🧠 Hierarchical Genre Classification (AST)

Powered by MIT's Audio Spectrogram Transformer, a macro model routes your tracks to highly specialized, custom-trained subgenre models:

  • 🔥 Brazilian Funk — Discriminates between Carioca, Mandelão, Automotivo, 150BPM, Brega Funk, and Ostentação.
  • 💀 Phonk — Identifies American Phonk vs Brazilian Phonk crossovers.
  • 🎛️ House & Techno — Sorts into 14 distinct underground subgenres (Peak Time, Acid, Slap, Minimal, etc.)

🎚️ Intelligent Mix Sequencer

An AI lookahead tree search selects the perfect next track based on:

  • Camelot Wheel Harmonic Mixing 🎶
  • BPM Compatibility ⏱️
  • Energy / Mood Arcs 📈 (Build, Peak, Cool-down, Wave)

🎧 FFmpeg Render Engine

Generates flawless, gapless MP3 mixes complete with professional DJ transitions including EQ sweeps, echo-outs, and backspins.

🔍 Semantic Audio Search

Powered by 512-dim CLAP embeddings, allowing you to search your local library using text prompts like "dark driving bass" or "melodic euphoric vocals".


🛠️ Tech Stack

Domain Technologies
Frontend Electron, React 18, Vite, TypeScript, Zustand, TailwindCSS
Backend Node.js (Main Process), better-sqlite3 (WAL mode)
ML Sidecar Python 3.11, FastAPI, ONNX Runtime, librosa, PyTorch
Audio Engine FFmpeg, FFprobe (Local binaries)

⚡ Getting Started

Prerequisites

  • Node.js 18+
  • Python 3.11+
  • FFmpeg installed and available in your system PATH
  • (Optional but recommended) NVIDIA GPU for CUDA-accelerated inference.

Installation

  1. Clone the repository:

    git clone https://github.com/ElMoorish/AI-DJ-Software.git
    cd ai-dj
  2. Install Frontend Dependencies:

    npm install
  3. Setup the Python ML Sidecar: We use a dedicated virtual environment for the heavy lifting.

    cd ml-sidecar
    python -m venv venv
    
    # Windows
    source venv/Scripts/activate
    # Mac/Linux
    # source venv/bin/activate
    
    pip install -r requirements.txt
  4. Download the ONNX Models: The repository is kept lightweight by hosting models on Hugging Face.

    hf download Themoor/Ai-DJ-Mixer --local-dir ml-sidecar/models
  5. Run the App:

    cd ..
    npm run electron:dev

📈 Open Source Visibility & Forking

This project builds upon the shoulders of giants in the audio ML notation and Electron communities. If you are discovering this project and want to help increase its visibility, please consider starring ⭐ this repository and exploring our upstream inspirations:

  • LAION-AI/CLAP — The incredible contrastive language-audio pretraining ecosystem.
  • electron-react-boilerplate — The rock-solid foundation for our desktop shell.
  • Mixxx — The legendary open-source DJ software that paved the way.

Want to train your own models? The repository includes our custom scraping and training pipeline (auto_scrape_edm.py and train_specialist_ast.py) to fine-tune the AST models on your own granular subgenres using SoundCloud data!


Built with 🎵 by Moorish.dev.

About

An open-source, AI-native desktop DJ application for automated mixing, local subgenre classification, and semantic audio search. Built with Electron, React, and ONNX Runtime. 100% Offline-First.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors