AI-assisted music production and live performance — one platform for the studio and the stage.
Write a script. Make a beat. Light up a room.
AudioMIX is an open-source DAW and live-performance engine for independent artists and developer-musicians. It combines a real-time C++ DSP stack, an AI creative layer (Juniper2.0), and AudioScript — a domain-specific language for controlling audio, mood, lighting, and show logic in code.
This repository is the core engine. The desktop UI lives in a separate repo: AudioMIX-Electron.
- Why AudioMIX
- Quick start
- Core features
- Architecture
- Project layout
- AudioScript
- Juniper2.0
- External services
- AudioMIX-Electron
- Development
- Ethical AI
- License
Most DAWs are built for the studio. Most live-coding tools are not built for performers. AudioMIX bridges that gap.
| You are… | AudioMIX gives you… |
|---|---|
| Producer | DSP, mood/ML analysis, EQ tooling, and AI-assisted production workflows |
| Live performer | AudioScript to script audio, lighting, and transitions in real time |
| Developer-musician | Modular Python/C++ extension points, a compiler pipeline, and an event-driven runtime |
- Python 3.11 (recommended; see
requirements.txt— librosa targets ≤ 3.11) - CMake 3.10+
- System audio: PortAudio and/or PulseAudio, ALSA (Linux)
- Build tools:
build-essential,ffmpeg
Optional: run ./install.sh on Debian/Ubuntu for system packages and a local amenv virtualenv.
git clone https://github.com/alexisvassquez/audiomix.git
cd audiomix
python3 -m venv amenv && source amenv/bin/activate
pip install -r requirements.txt
cmake -S . -B build
cmake --build build -j"$(nproc)"Verify the DSP build:
./build/test_sine_dsppython audioscript_runtime.pyRun a script file:
python audioscript_runtime.py path/to/show.audioscript
# or
python audioscript_runtime.py path/to/show.asUseful flags:
| Flag | Effect |
|---|---|
--safe |
Restrict loaded modules; no hardware/audio side effects |
--no-dsp |
Skip launching the C++ audiomix binary |
--debug |
Verbose module loading |
--no-emoji |
Plain text output |
Set AUDIOMIX_SAFE=1 in the environment for the same allowlist as --safe.
python audioscript/compiler/run.py --file your_track.wav
python audioscript/compiler/run.py --file your_track.wav --save- Real-time DSP — C++ engine with EQ, compression, gain, and more (
audio/dsp/) - AudioScript — Live shell + IR compiler for scripted performances (
audioscript/) - AI / ML analysis — Mood tagging, MFCC/spectral features, tempo and beat tracking (
audio/ai/) - Performance engine — Modular command registry, session state, event bus, DSP bridge (
performance_engine/) - Streaming integrations — Official Spotify Web API; Bandcamp embed support (
audio_providers/) - LED & lighting — Mood/BPM-driven patterns and reactive output (
audio/led/,audio/led-service/) - Audience listener — Crowd-reactive performance hooks (in development)
AudioMIX is organized around two creative modes:
| Mode | Context | Role of AudioScript |
|---|---|---|
| Studio | Desk, iteration, AI as collaborator | Author and refine scripts; use the compiler and analysis pipeline |
| Performance | Stage, low latency, crowd-reactive | Execute Live scripts; runtime mutates mood, DSP, and lighting via the event bus |
Runtime data flow (simplified):
AudioScript shell → command modules → EventBus → DSPBridge (NDJSON) → C++ audiomix
↓
audio/ai, LED, providersFull directory snapshot: docs/AudioMIX_project_tree.txt
| Path | Purpose |
|---|---|
audio/dsp/ |
C++ real-time DSP modules and tests |
audio/ai/ |
ML inference, feature extraction, datasets, planners |
audio/eq/ |
EQ engine, presets, live streaming |
audio/led/ |
LED controller, color profiles, reactive logic |
audio/led-service/ |
FastAPI microservice for mood/BPM JSON input |
performance_engine/ |
Live runtime: modules, event bus, DSP bridge, session state |
audioscript/ |
Language spec, EBNF grammars, compiler, example scripts |
audio_providers/ |
Spotify and Bandcamp adapters |
runtime/ |
Refactored shell components (see audioscript_runtime.py for the current entry point) |
audioscript_runtime.py |
Primary interactive AudioScript shell |
Datasets and training metadata live under audio/ai/datasets/ (not a top-level datasets/ folder).
AudioScript (AS) is AudioMIX’s musical programming language — human-readable, whitespace-sensitive, and built for emotional, mood-aware control of audio and lighting.
| Branch | Use case |
|---|---|
| Live | Written on stage; forgiving, expressive syntax (audioscript/live/) |
| IR | Machine-generated, precise pipelines; compiler output (audioscript/ir/) |
mood.set("uplifted")
glow("lilac")
play("intro.wav")
pulse("yellow", bpm=120)- Language specification
- AudioScript directory guide
- Example scripts:
audioscript/scripts/
Juniper2.0 is the AI layer built for AudioMIX — not a generic chatbot, but a collaborator that understands AudioScript, mood mappings, LED profiles, and your session context.
- AudioScript — Generate and debug Live and IR scripts from natural language
- Production — EQ suggestions, track flow, and emotional arc analysis
- Lighting — Map inferred mood to color and pattern profiles
- Live performance — Audience-aware transitions and guidance (roadmap)
Design principle: amplify creative intent; every suggestion is traceable and overridable.
"Juniper doesn't replace the artist — she collaborates with them."
Integration into the CLI and AudioMIX-Electron is in active development.
- Uses the official Spotify Web API with OAuth — no scraping
- Feature extraction via permitted endpoints per Spotify Developer Terms
- Credentials via
.env(see.gitignore; never commit secrets)
- Embed-based integration for ethical, artist-facing playback links
Companion desktop UI for the core engine — Electron shell with DAW-style panels (mixer, EQ, LED zones) and a secure preload bridge to the Python/C++ backend.
| Layer | Repository |
|---|---|
| Core engine | audiomix (this repo) |
| Desktop UI | audiomix-electron |
git clone https://github.com/alexisvassquez/audiomix-electron.git
cd audiomix-electron
npm install
npm run devStatus: First Breath milestone (v0.1-dev). FastAPI bridge to the backend is planned.
Key dependencies (full list in requirements.txt):
- Audio:
librosa,soundfile,sounddevice,PyAudio,mido,python-rtmidi - ML:
scikit-learn,torch,transformers - Integrations:
spotipy - UX:
rich
After cmake --build build:
| Target | Role |
|---|---|
audiomix |
Main DSP binary (used by DSPBridge) |
test_sine_dsp |
Sanity check tone generator |
test_clipper |
Clipper module test |
- Read
CHANGELOG.mdfor recent architectural decisions - Follow the Ethical AI manifesto
- Prefer extending
performance_engine/modules/and emitting events onperformance_engine.event_bus.bus
AudioMIX is developed with an artist-first, emotionally-aware, open-source philosophy.
See ETHICAL_AI_MANIFESTO.md for principles and creative mission.
GNU General Public License v3 — free for independent artists and developers.
© 2026 Alexis M. Vasquez · AMV Digital Studios
