{"id":51485685,"url":"https://github.com/alexisvassquez/audiomix","last_synced_at":"2026-07-07T06:02:29.201Z","repository":{"id":266581816,"uuid":"898760598","full_name":"alexisvassquez/audiomix","owner":"alexisvassquez","description":"AudioMIX is an AI-assisted music production software for independent artists, DJs, and developers with a live performance engine, live coding features with a custom DSL, real-time audio analysis, and LED integration.","archived":false,"fork":false,"pushed_at":"2026-06-26T00:58:27.000Z","size":103750,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-06-26T02:19:50.781Z","etag":null,"topics":["audio","audio-analysis","audio-processing","cmake","cpp","daw","daw-software","digital-signal-processing","dsl","dsp","ethical-ai","fastapi","haskell","live-coding","live-performance","machinelearning","music-production-software","music-programming-language","portaudio","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alexisvassquez.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"buy_me_a_coffee":"alexismvasquez","thanks_dev":null,"custom":"cashtag $alexisvassquez"}},"created_at":"2024-12-05T01:32:18.000Z","updated_at":"2026-06-26T00:58:31.000Z","dependencies_parsed_at":"2024-12-13T20:27:12.814Z","dependency_job_id":"0a62f05f-a72b-456e-96ba-9c4f356fe458","html_url":"https://github.com/alexisvassquez/audiomix","commit_stats":null,"previous_names":["alexisvassquez/spotify_playet","alexisvassquez/spotify_player","alexisvassquez/ai_spotibot_player","alexisvassquez/audiomix"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/alexisvassquez/audiomix","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexisvassquez%2Faudiomix","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexisvassquez%2Faudiomix/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexisvassquez%2Faudiomix/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexisvassquez%2Faudiomix/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alexisvassquez","download_url":"https://codeload.github.com/alexisvassquez/audiomix/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexisvassquez%2Faudiomix/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35216572,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-07T02:00:07.222Z","response_time":90,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["audio","audio-analysis","audio-processing","cmake","cpp","daw","daw-software","digital-signal-processing","dsl","dsp","ethical-ai","fastapi","haskell","live-coding","live-performance","machinelearning","music-production-software","music-programming-language","portaudio","python"],"created_at":"2026-07-07T06:02:28.263Z","updated_at":"2026-07-07T06:02:29.168Z","avatar_url":"https://github.com/alexisvassquez.png","language":"Python","funding_links":["https://buymeacoffee.com/alexismvasquez","cashtag $alexisvassquez"],"categories":[],"sub_categories":[],"readme":"# AudioMIX\n\n**AI-assisted music production and live performance — one platform for the studio and the stage.**\n\n![License](https://img.shields.io/badge/license-GPLv3-blue)\n![Stack](https://img.shields.io/badge/stack-Python%20%7C%20C%2B%2B%20%7C%20CMake%20%7C%20AudioScript-purple)\n![Platform](https://img.shields.io/badge/platform-Linux%20%7C%20Windows-blue)\n![Status](https://img.shields.io/badge/status-active%20development-brightgreen)\n![AI](https://img.shields.io/badge/AI-powered-orange)\n![DSP](https://img.shields.io/badge/audio-DSP-critical)\n![Built For](https://img.shields.io/badge/built%20for-artists%20%26%20developers-ff69b4)\n\n\u003e Write a script. Make a beat. Light up a room.\n\n**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.\n\nThis repository is the **core engine**. The desktop UI lives in a separate repo: [AudioMIX-Electron](https://github.com/alexisvassquez/audiomix-electron).\n\n---\n\n## Table of contents\n\n- [Why AudioMIX](#why-audiomix)\n- [Quick start](#quick-start)\n- [Core features](#core-features)\n- [Architecture](#architecture)\n- [Project layout](#project-layout)\n- [AudioScript](#audioscript)\n- [Juniper2.0](#juniper20)\n- [External services](#external-services)\n- [AudioMIX-Electron](#audiomix-electron)\n- [Development](#development)\n- [Ethical AI](#ethical-ai)\n- [License](#license)\n\n---\n\n## Why AudioMIX\n\nMost DAWs are built for the studio. Most live-coding tools are not built for performers. AudioMIX bridges that gap.\n\n| You are… | AudioMIX gives you… |\n| ---------- | --------------------- |\n| **Producer** | DSP, mood/ML analysis, EQ tooling, and AI-assisted production workflows |\n| **Live performer** | AudioScript to script audio, lighting, and transitions in real time |\n| **Developer-musician** | Modular Python/C++ extension points, a compiler pipeline, and an event-driven runtime |\n\n---\n\n## Quick start\n\n### Prerequisites\n\n- **Python 3.11** (recommended; see `requirements.txt` — librosa targets ≤ 3.11)\n- **CMake 3.10+**\n- System audio: PortAudio and/or PulseAudio, ALSA (Linux)\n- Build tools: `build-essential`, `ffmpeg`\n\nOptional: run `./install.sh` on Debian/Ubuntu for system packages and a local `amenv` virtualenv.\n\n### Install and build\n\n```bash\ngit clone https://github.com/alexisvassquez/audiomix.git\ncd audiomix\n\npython3 -m venv amenv \u0026\u0026 source amenv/bin/activate\npip install -r requirements.txt\n\ncmake -S . -B build\ncmake --build build -j\"$(nproc)\"\n```\n\nVerify the DSP build:\n\n```bash\n./build/test_sine_dsp\n```\n\n### Run the AudioScript shell\n\n```bash\npython audioscript_runtime.py\n```\n\nRun a script file:\n\n```bash\npython audioscript_runtime.py path/to/show.audioscript\n# or\npython audioscript_runtime.py path/to/show.as\n```\n\nUseful flags:\n\n| Flag | Effect |\n| ------ | -------- |\n| `--safe` | Restrict loaded modules; no hardware/audio side effects |\n| `--no-dsp` | Skip launching the C++ `audiomix` binary |\n| `--debug` | Verbose module loading |\n| `--no-emoji` | Plain text output |\n\nSet `AUDIOMIX_SAFE=1` in the environment for the same allowlist as `--safe`.\n\n### Compile audio → AudioScript (IR)\n\n```bash\npython audioscript/compiler/run.py --file your_track.wav\npython audioscript/compiler/run.py --file your_track.wav --save\n```\n\n---\n\n## Core features\n\n- **Real-time DSP** — C++ engine with EQ, compression, gain, and more (`audio/dsp/`)\n- **AudioScript** — Live shell + IR compiler for scripted performances (`audioscript/`)\n- **AI / ML analysis** — Mood tagging, MFCC/spectral features, tempo and beat tracking (`audio/ai/`)\n- **Performance engine** — Modular command registry, session state, event bus, DSP bridge (`performance_engine/`)\n- **Streaming integrations** — Official Spotify Web API; Bandcamp embed support (`audio_providers/`)\n- **LED \u0026 lighting** — Mood/BPM-driven patterns and reactive output (`audio/led/`, `audio/led-service/`)\n- **Audience listener** — Crowd-reactive performance hooks (in development)\n\n---\n\n## Architecture\n\nAudioMIX is organized around two creative modes:\n\n| Mode | Context | Role of AudioScript |\n|------|---------|---------------------|\n| **Studio** | Desk, iteration, AI as collaborator | Author and refine scripts; use the compiler and analysis pipeline |\n| **Performance** | Stage, low latency, crowd-reactive | Execute Live scripts; runtime mutates mood, DSP, and lighting via the event bus |\n\n**Runtime data flow (simplified):**\n\n```bash\nAudioScript shell  →  command modules  →  EventBus  →  DSPBridge (NDJSON)  →  C++ audiomix\n                              ↓\n                        audio/ai, LED, providers\n```\n\n![AudioMIX system map](docs/system_map.png)\n\nFull directory snapshot: [`docs/AudioMIX_project_tree.txt`](docs/AudioMIX_project_tree.txt)\n\n---\n\n## Project layout\n\n| Path | Purpose |\n| ------ | --------- |\n| [`audio/dsp/`](audio/dsp/) | C++ real-time DSP modules and tests |\n| [`audio/ai/`](audio/ai/) | ML inference, feature extraction, datasets, planners |\n| [`audio/eq/`](audio/eq/) | EQ engine, presets, live streaming |\n| [`audio/led/`](audio/led/) | LED controller, color profiles, reactive logic |\n| [`audio/led-service/`](audio/led-service/) | FastAPI microservice for mood/BPM JSON input |\n| [`performance_engine/`](performance_engine/) | Live runtime: modules, event bus, DSP bridge, session state |\n| [`audioscript/`](audioscript/) | Language spec, EBNF grammars, compiler, example scripts |\n| [`audio_providers/`](audio_providers/) | Spotify and Bandcamp adapters |\n| [`runtime/`](runtime/) | Refactored shell components (see `audioscript_runtime.py` for the current entry point) |\n| [`audioscript_runtime.py`](audioscript_runtime.py) | **Primary** interactive AudioScript shell |\n\nDatasets and training metadata live under [`audio/ai/datasets/`](audio/ai/datasets/) (not a top-level `datasets/` folder).\n\n---\n\n## AudioScript\n\n**AudioScript (AS)** is AudioMIX’s musical programming language — human-readable, whitespace-sensitive, and built for emotional, mood-aware control of audio and lighting.\n\n### Live vs IR\n\n| Branch | Use case |\n|--------|----------|\n| **Live** | Written on stage; forgiving, expressive syntax ([`audioscript/live/`](audioscript/live/)) |\n| **IR** | Machine-generated, precise pipelines; compiler output ([`audioscript/ir/`](audioscript/ir/)) |\n\n### Example\n\n```python\nmood.set(\"uplifted\")\nglow(\"lilac\")\nplay(\"intro.wav\")\npulse(\"yellow\", bpm=120)\n```\n\n### Learn more\n\n- [Language specification](audioscript/AUDIOSCRIPT_SPEC.md)\n- [AudioScript directory guide](audioscript/README.md)\n- Example scripts: [`audioscript/scripts/`](audioscript/scripts/)\n\n---\n\n## Juniper2.0\n\n**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.\n\n- **AudioScript** — Generate and debug Live and IR scripts from natural language\n- **Production** — EQ suggestions, track flow, and emotional arc analysis\n- **Lighting** — Map inferred mood to color and pattern profiles\n- **Live performance** — Audience-aware transitions and guidance (roadmap)\n\n**Design principle:** amplify creative intent; every suggestion is traceable and overridable.\n\n\u003e *\"Juniper doesn't replace the artist — she collaborates with them.\"*\n\nIntegration into the CLI and [AudioMIX-Electron](https://github.com/alexisvassquez/audiomix-electron) is in active development.\n\n---\n\n## External services\n\n### Spotify\n\n- Uses the **official [Spotify Web API](https://developer.spotify.com/documentation/web-api)** with OAuth — no scraping\n- Feature extraction via permitted endpoints per [Spotify Developer Terms](https://developer.spotify.com/terms)\n- Credentials via `.env` (see `.gitignore`; never commit secrets)\n\n### Bandcamp\n\n- Embed-based integration for ethical, artist-facing playback links\n\n---\n\n## AudioMIX-Electron\n\nCompanion 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.\n\n| Layer | Repository |\n|-------|------------|\n| Core engine | [audiomix](https://github.com/alexisvassquez/audiomix) (this repo) |\n| Desktop UI | [audiomix-electron](https://github.com/alexisvassquez/audiomix-electron) |\n\n```bash\ngit clone https://github.com/alexisvassquez/audiomix-electron.git\ncd audiomix-electron\nnpm install\nnpm run dev\n```\n\nStatus: **First Breath** milestone (v0.1-dev). FastAPI bridge to the backend is planned.\n\n---\n\n## Development\n\n### Python stack\n\nKey dependencies (full list in [`requirements.txt`](requirements.txt)):\n\n- Audio: `librosa`, `soundfile`, `sounddevice`, `PyAudio`, `mido`, `python-rtmidi`\n- ML: `scikit-learn`, `torch`, `transformers`\n- Integrations: `spotipy`\n- UX: `rich`\n\n### C++ targets\n\nAfter `cmake --build build`:\n\n| Target | Role |\n| -------- | ------ |\n| `audiomix` | Main DSP binary (used by `DSPBridge`) |\n| `test_sine_dsp` | Sanity check tone generator |\n| `test_clipper` | Clipper module test |\n\n### Contributing\n\n1. Read [`CHANGELOG.md`](CHANGELOG.md) for recent architectural decisions\n2. Follow the [Ethical AI manifesto](ETHICAL_AI_MANIFESTO.md)\n3. Prefer extending `performance_engine/modules/` and emitting events on `performance_engine.event_bus.bus`\n\n---\n\n## Ethical AI\n\nAudioMIX is developed with an artist-first, emotionally-aware, open-source philosophy.\n\nSee **[ETHICAL_AI_MANIFESTO.md](ETHICAL_AI_MANIFESTO.md)** for principles and creative mission.\n\n---\n\n## License\n\n[GNU General Public License v3](LICENSE.txt) — free for independent artists and developers.\n\n---\n\n© 2026 Alexis M. Vasquez · [AMV Digital Studios](https://github.com/alexisvassquez)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexisvassquez%2Faudiomix","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falexisvassquez%2Faudiomix","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexisvassquez%2Faudiomix/lists"}