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

License: AGPLv3 -discord server -stars -

- -**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. - -

- +upstream

--- -## 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 - -image +- **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) --- -[![Custom Caption: Watch the Demo](https://img.youtube.com/vi/VPTXeJY6Eaw/0.jpg)](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