From 05ab604edfcb61d474fc499822945b98af5b7875 Mon Sep 17 00:00:00 2001
From: kxkm
Date: Sat, 21 Mar 2026 21:54:16 +0100
Subject: [PATCH] docs: rewrite README for openDIAW.be fork
Explains fork rationale, 9 instruments, AI Bridge architecture,
upstream relationship, and differences.
Co-Authored-By: Claude Opus 4.6 (1M context)
---
README.md | 328 ++++++++++++++++--------------------------------------
1 file changed, 97 insertions(+), 231 deletions(-)
diff --git a/README.md b/README.md
index ac37b513..dc627519 100644
--- a/README.md
+++ b/README.md
@@ -1,272 +1,138 @@
openDIAW.be
+ Fork performance de openDAW pour le projet 3615 J'ai pété — KXKM
-
-
-
-
-**openDIAW.be** is a next-generation web-based Digital Audio Workstation (DAW) designed to **democratize** music production
-and to **resurface the process of making music** by making **high-quality** creation tools accessible to everyone, with
-a strong focus on **education** and data-privacy.
-
-
-
+
---
-## Open-Source
+## Pourquoi ce fork ?
-We are committed to transparency and community-driven development.
+**openDIAW.be** est un fork d'[openDAW](https://github.com/andremichelle/openDAW) créé pour le spectacle de clown **3615 J'ai pété** de la compagnie KXKM. Il ajoute des instruments et des intégrations AI spécifiques à la performance live, tout en restant compatible avec l'upstream.
-The source code for openDIAW.be is available under **AGPL v3 (or later)**
+### Ce que le fork ajoute
-### Built on Trust and Transparency
-
-**openDIAW.be stands for radical simplicity and respect.**
-
-- **No SignUp**
-- **No Tracking**
-- **No Cookie Banners**
-- **No User Profiling**
-- **No Terms & Conditions**
-- **No Ads**
-- **No Paywalls**
-- **No Data Mining**
+| Catégorie | Ajout |
+|---|---|
+| **9 instruments** | Drone, Grain, Glitch, Circus, Honk, Magenta, AceStep, KokoroTTS, Piper |
+| **AI Bridge** | 17 backends audio (TTS, musique IA, synthèse, séparation de stems) |
+| **Intégration serveur** | Proxy API, génération audio via ffmpeg, Ollama, ACE-Step, Kokoro |
+| **Branding** | openDIAW.be (Digital Instrument Audio Workstation) |
---
-## Looking for Contributors
+## Instruments DSP temps réel
-We welcome contributions that follow the existing style and conventions of the project. AI-assisted code is fine, but
-every contributor must **understand every line of code they submit**. If you use AI tools, please document your process
-in [`/plans`](https://github.com/andremichelle/openDAW/tree/main/plans). Keep pull requests small and focused. Large
-PRs will not be reviewed. Split big contributions into smaller commits that add requirements gradually and maintain
-operations of the app.
+Ces instruments tournent dans le browser via AudioWorklet — pas de serveur nécessaire.
-If you are interested in helping, here are areas where we need support:
+| Instrument | Description | Paramètres clés |
+|---|---|---|
+| **Drone** | Synthé de pads/drones | Waveform, unison (1-7), detune, LP filter, LFO rate/depth, stereo |
+| **Grain** | Synthèse granulaire | Position, grain size, density, pitch/pos spread + sample drop |
+| **Glitch** | Générateur de textures glitch | Buffer repeat, stutter, bit crush, downsample, reverse, pitch shift |
+| **Circus** | Orgue de barbarie / calliope | 4 registres (Flute 8', Flute 4', Principal, Mixture), tremolo, wobble, air |
+| **Honk** | Klaxon / sirène / corne | 3 modes (Klaxon, Siren, Horn), sweep paramétrique, harmoniques |
+| **Magenta** | AI MIDI generator | Magenta.js browser-side (MelodyRNN, DrumsRNN, ImprovRNN), temperature, steps |
-1. **Y.JS Server + WebRTC File Sharing** - for live collaboration
-2. **Offline App** — e.g. wrapping openDIAW.be with [Tauri](https://tauri.app/) for a native desktop experience
-3. **PWA** — turning openDIAW.be into a fully installable Progressive Web App with offline support
-4. **Timeline Track Management** — design and UX help for track layout, ordering, grouping, and interaction
+## Instruments AI-backed
-We always appreciate help on open issues: https://github.com/andremichelle/openDAW/issues
+Ces instruments génèrent de l'audio via le serveur AI Bridge (`:8301`).
-To discuss contributions, book a call: https://calendly.com/andremichelle/opendaw-on-tour
+| Instrument | Backend | Description |
+|---|---|---|
+| **AceStep** | ACE-Step | Génération musicale IA par prompt (style + bpm + durée) |
+| **KokoroTTS** | Kokoro | Synthèse vocale rapide — 12 voix (af_heart, am_adam, bf_emma...) |
+| **Piper** | Piper/Chatterbox | Synthèse vocale TTS avec personas |
+
+## AI Bridge
+
+Le AI Bridge (`ai-bridge.js`) est un serveur Node.js qui orchestre 17 backends :
+
+```
+POST /instrument/drone — Drone synthétique (ffmpeg)
+POST /instrument/grain — Granulaire (ffmpeg)
+POST /instrument/glitch — Glitch (ffmpeg, acrusher, stutter)
+POST /instrument/circus — Orgue de barbarie (ffmpeg)
+POST /instrument/honk — Klaxon/sirène (ffmpeg)
+POST /instrument/drums — Drums (ffmpeg)
+POST /instrument/bass — Basse (ffmpeg)
+POST /instrument/pad — Pads (ffmpeg)
+POST /instrument/choir — Choeur (TTS + pitch shift)
+POST /instrument/fx — Effets (riser, drop, sweep, impact, stutter)
+POST /generate/music — Musique (ACE-Step → fallback MusicGen)
+POST /generate/music-ai — Musique (ACE-Step direct)
+POST /generate/voice — Voix (Chatterbox/Piper)
+POST /generate/voice-fast — Voix rapide (Kokoro, 12 voix)
+POST /generate/noise — Bruit (white/pink/brown/sine/drone)
+POST /separate — Séparation de stems (Demucs)
+POST /master — Mastering IA (Matchering)
+```
---
-## Huge Shoutout To The Incredible openDIAW.be Community!
+## Architecture
-To everyone who has contributed feedback, reported bugs, suggested improvements, or helped spread the word — thank you!
-Your support is shaping openDIAW.be into something truly powerful!
-
-Thank
-you [@ccswdavidson](https://github.com/ccswdavidson), [@Chaosmeister](https://github.com/Chaosmeister), [@jeffreylouden](https://github.com/jeffreylouden), [@solsos](https://github.com/solsos), [@TheRealSyler](https://github.com/TheRealSyler), [@Trinitou](https://github.com/Trinitou),
-and [@xnstad](https://github.com/xnstad) for testing the repositories and identifying issues during the installation of
-openDAW!
-
-Special shout-out to the biggest bug
-hunters: [kanaris](https://kanaris.net/), [@Chaosmeister](https://github.com/Chaosmeister)
-and [BeatMax Prediction](https://linktr.ee/beatmax_prediction). Your relentless attention to detail made a huge
-difference!
-
-Huge thanks to our [ambassadors](https://opendaw.org/ambassadors), whose dedication and outreach amplify our mission!
-
-## And big hugs to all our supporters!
-
-### openDAW Visionary — $25.00
-
-Stephen Tai, Pathfinder, One Sound Every Day (santino), kanaris, Oli Larkin
-
-### openDAW Supporter — $5.00
-
-Cal Lycus, Jetdarc, Truls Enstad, Polarity, Ynot Etluhcs, Mats Gisselson, Ola, SKYENCE, BeatMax_Prediction, Kim T,
-Nyenoidz, Steve Meiers, 4ohm, Yito, Shawn Lukas, Tommes, David Thompson, Harry Gillich, OxVolt, Wojciech Miłkowski,
-skyboundzoo, JHINZ, Mark Dammer, fork-kun, Martin Eigel
+```
+┌─────────────────────────────────────────┐
+│ openDIAW.be (browser) │
+│ ┌──────────┐ ┌──────────┐ │
+│ │ 9 instru │ │ Magenta │ │
+│ │ AudioWork│ │ .js │ │
+│ └──────────┘ └──────────┘ │
+└──────────────┬──────────────────────────┘
+ │ fetch /api/v2/ai-bridge/*
+┌──────────────▼──────────────────────────┐
+│ 3615-KXKM API (:3333) │
+│ (proxy → AI Bridge) │
+└──────────────┬──────────────────────────┘
+ │
+┌──────────────▼──────────────────────────┐
+│ AI Bridge (:8301) │
+│ ┌────────┐ ┌────────┐ ┌────────┐ │
+│ │ Kokoro │ │ACE-Step│ │ Ollama │ │
+│ │ :9201 │ │ :9200 │ │ :11434 │ │
+│ └────────┘ └────────┘ └────────┘ │
+│ ┌────────┐ ┌────────┐ ┌────────┐ │
+│ │ Piper │ │ ffmpeg │ │ Demucs │ │
+│ │ :9100 │ │ (local)│ │ │ │
+│ └────────┘ └────────┘ └────────┘ │
+└─────────────────────────────────────────┘
+```
---
-### openDAW Devices
+## Upstream
-#### Stock Plugins
+Ce fork est basé sur [openDAW](https://github.com/andremichelle/openDAW) par André Michelle, sous licence AGPL v3.
-* Vaporisateur (subtractive synth with classical waveforms)
-* Playfield (sample drum computer with individual effect chains)
-* Nano (nano sampler for a single audio file)
-* Tape (playback device for audio regions and clips)
-* Soundfont (soundfont player)
-* MIDI Output (sends MIDI messages to other devices)
-* Stereo Tool (volume, panning and invert the stereo signal)
-* Delay (stereo delay with cross and filter options)
-* Crusher (degenerates audio signal)
-* Cheap Reverb (FreeVerb variation)
-* Revamp (graphical equalizer with spectrum analyser)
-* Arpeggio (plays the notes of a chord one after another)
-* Pitch (offsets midi note pitches)
-* Zeitgeist (transforms time)
-* Velocity (manipulates velocities of incoming notes)
-* Fold (waveform folding algorithm with oversampling)
-* Tidal (shapes rhythm and space through volume and pan)
-* Dattorro Reverb (dense algorithmic reverb based on Dattorro's design)
+Les contributions upstream sont les bienvenues. Les instruments et l'AI Bridge sont des ajouts qui ne modifient pas le code upstream existant — ils s'ajoutent via le système de visitor/factory.
-#### Ported Plugins (Excluded in commercial license)
+### Différences avec upstream
-* [Compressor](https://github.com/p-hlp/CTAGDRC) (CTAG Dynamic Range Compressor)
-
-### Repositories
-
-* [openDIAW.be](https://github.com/andremichelle/opendaw)
-* [openDAW-headless (SDK)](https://github.com/andremichelle/opendaw-headless)
-* [openDAW-headless @naomiaro](https://github.com/naomiaro/opendaw-test) (openDAW-headless fork with more docs and
- examples)
-
-### Roadmap
-
-This roadmap represents an estimation of the upcoming development steps. Timelines and priorities may shift as openDAW
-evolves.
-
-#### 2025/Q4
-
-- [X] Preset API
-- [X] Full implementation of connecting several cloud services to store samples, projects, and presets
-- [X] Implement audio playback algorithms (pitch, stretch, absolute) including interpolation
-
-#### 2026/Q1
-
-- [X] Fade-in and out on audio-regions
-- [X] Signature automation track
-- [X] Tempo automation track
-- [X] Fine-tune recording including loops (takes)
-
-#### 2026/Q2
-
-- [ ] Fine-tune timeline clips (recording, switch times)
-- [ ] Fine-tune MIDI effects
-- [X] Implement missing region actions like flatten
-- [ ] Polish UI
-
-#### 2026/Q3
-
-- [ ] Testing & QA
-- [ ] Launch 1.0
-
-#### Future
-
-- [ ] Start Modular System
-- [ ] Add more synthesizers
-- [ ] Add more effect devices
-
-### Prepare, Clone, Installation, and Run
-
-openDAW tries to avoid external libraries and frameworks. The following is a list of the external libraries we currently
-use in the web studio:
-
-* [jszip](https://www.npmjs.com/package/jszip) (for openDAW project bundle file)
-* [markdown-it](https://www.npmjs.com/package/markdown-it) + [markdown-it-table](https://www.npmjs.com/package/markdown-it-table) (
- for help pages)
-* [d3-force](https://d3js.org/d3-force) (for graph debugging)
-* [soundfont2](https://github.com/Mrtenz/soundfont2) (for soundfont loading)
-* [zod](https://zod.dev) (schema validation)
-* [ffmpeg](https://github.com/ffmpegwasm/ffmpeg.wasm) (decoding/encoding)
-
-Before starting, ensure you have the following installed on your system:
-
-- [Git](https://git-scm.com/) is required for cloning the repository and managing submodules.
-- [mkcert](https://github.com/FiloSottile/mkcert#installation) is required to create a certificate for developing with
- https protocol.
-- [Node.js](nodejs.org) version **>= 23**. This is necessary for running the development server and installing
- dependencies.
-- [Sass](https://sass-lang.com/) While Sass is handled internally during the development process, you will need to
- ensure you have the
- binaries available in your environment if used outside the build system.
-- [TypeScript](https://www.typescriptlang.org/)
-- [OpenSSL](https://openssl-library.org/) For generating local development certificates (), OpenSSL needs to be
- installed on
- your system. Most Linux/macOS systems have OpenSSL pre-installed.
-
-### Clone
-
-`git clone https://github.com/andremichelle/opendaw.git && cd opendaw`
-
-### Installation
-
-* `npm run cert` (only for the very first time)
-* `npm run clean` (to revert to clean slate, removes all `node_modules` and `dist` folders)
-* `npm install` (for the first time and after `npm run clean`)
-* `npm run build` (for the first time and after `npm run clean`)
-* `npm run dev:studio` | `npm run dev:headless` (start dev server)
-* Navigate to https://localhost:8080 (port is important > cors sample api)
-
-### Flow Charts
-
-
+- **9 instruments** ajoutés (schema + box + adapter + processor + UI)
+- **AI Bridge** (`ai-bridge.js`) pour la génération audio serveur
+- **serve-studio.js** pour le service HTTPS local
+- Branding renommé en openDIAW.be
+- Workflows CI supprimés (pas pertinents pour le fork)
---
-[](https://www.youtube.com/watch?v=VPTXeJY6Eaw)
+## Installation
-Watch Polarity's Video *"there's a new FREE DAW in town"*
-
-## Get Involved
-
-We welcome contributions from developers, musicians, educators, and enthusiasts. To learn more about how you can
-participate, visit our [Contribute](https://opendaw.org/contribute) page.
-
-### What We Are Looking For:
-
-1. **Offline desktop build (e.g., via Tauri) or a standalone installable PWA** — offer offline capability.
-2. **Cloud-agnostic project storage** — a facade layer that lets users plug in different cloud services (e.g., Drive,
- S3, Dropbox) for projects and sample libraries.
-3. **Live remote collaboration** — real-time session sharing and sync so multiple users can edit the same project
- concurrently.
-4. **AI manual assistant** — an embedded agent that answers context-aware questions and guides users through features as
- they work.
-5. **AI-powered stem splitting** — integrated source-separation to extract vocals, drums, and other stems directly
- inside the DAW.
-6. **Import and Export** - Contribute every possible file format IO
-
-## Links
-
-* [opendiaw.be (prototype)](https://opendiaw.be)
-* [opendaw.org (website)](https://opendaw.org)
-* [openDAW on Discord](https://discord.opendiaw.be)
-* [openDAW SDK](https://www.npmjs.com/org/opendaw)
-* [LinkedIn](https://www.linkedin.com/company/opendaw-org/)
-* [Instagram](https://www.instagram.com/opendiaw.be)
-
-## Contributions
-
-### Icons
-
-* "Wave" by Gregor Cresnar
- from [Noun Project](https://thenounproject.com/icon/wave-6250020/) (CC BY 3.0)
-* "Compress" by Gregor Cresnar
- from [Noun Project](https://thenounproject.com/browse/icons/term/compress/) (CC BY 3.0)
-* "Waveforms" by [Austin Andrews](https://github.com/Templarian/MaterialDesign)
-* "futurism" by Martin Königsmann from [Noun Project](https://thenounproject.com/icon/futurism-4565401/)
-* "tape reel" by Evgeny Filatov from [thenounproject](https://thenounproject.com/icon/tape-reel-2216293/)
-
-## Dual-Licensing Model
-
-openDIAW.be is available **under two alternative license terms**:
-
-| Option | When to choose it | Obligations |
-|---------------------------|----------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| **A. AGPL v3 (or later)** | You are happy for the entire work that includes openDAW to be released under AGPL-compatible open-source terms. | – Must distribute complete corresponding source code under AGPL.
– Must keep copyright & licence notices.
– Applies both to distribution **and** to public use via network/SaaS (§13).
– May run openDAW privately in any software, open or closed (§0). |
-| **B. Commercial Licence** | You wish to incorporate openDIAW.be into **closed-source** or otherwise licence-incompatible software or SaaS offerings. | – Pay the agreed fee.
– No copyleft requirement for your own source code.
– Other terms as per the signed agreement. |
-
-> **How to obtain the Commercial License**
-> Email `andre.michelle@opendaw.org` with your company name, product description, and expected distribution volume.
-
-If you redistribute or run modified versions of openDAW for public use **without** a commercial license, the AGPL v3
-terms apply automatically.
+```bash
+git clone https://github.com/electron-rare/openDIAW.be.git && cd openDIAW.be
+npm install
+npm run build
+npm run dev:studio
+```
## License
[AGPL v3 (or later)](https://www.gnu.org/licenses/agpl-3.0.txt) © 2025 André Michelle
+
+Fork par [KXKM](https://kxkm.net) / electron-rare