Blokkily

Bouwen en uitvoeren

Om Blokkily te bouwen en uit te voeren, heb je Qt 6.5+ nodig, samen met FluidSynth, RtAudio, RtMidi, libsndfile, libsamplerate en Rubber Band 4 (te vinden via pkg-config). Voor de verificatietests is ook een SoundFont nodig. JUCE en de CLAP-headers zijn opgenomen onder third_party/.

Build-instructies:

cmake -S . -B build -G Ninja
cmake --build build
ctest --test-dir build --output-on-failure
./build/blokkily

Het commando ./build/blokkily_cli start de headless scheduler-demo.

Licenties

  • Clip warping: Maakt gebruik van de Rubber Band Library, gelicenseerd onder de GPL (versie 2 of later), tenzij er een commerciële licentie is aangeschaft bij de auteurs. Een Blokkily-binary die hiermee is gebouwd, valt daarom onder de GPL.
  • Lettertypen: IBM Plex Sans en JetBrains Mono zijn gebundeld in resources/fonts/ onder de SIL Open Font License 1.1. Het bundelen van deze lettertypen zorgt ervoor dat de layout consistent blijft op verschillende desktops.

Mogelijkheden

Bewerken en arrangeren

  • Gesynchroniseerde editors: Bewerk noten en akkoorden in drie verschillende editors. Patronen ondersteunen inversies, strum, microtiming, waarschijnlijkheid (probability), ratchets, lusvoorwaarden (loop conditions) en parameter-locks. Wijzigingen zijn direct hoorbaar tijdens het afspelen zonder dat het proces gestopt hoeft te worden.
  • Tijdlijn: Arrangeer benoemde patronen en audioclips op een multi-track tijdlijn, inclusief tempostappen, ramps en maatwijzigingen. De scene-launcher maakt het mogelijk om patronen live uit te voeren en deze performance op te nemen in de arrangement.

Input en Instrumenten

  • Besturing: Speel en neem op met een MIDI-controller of via het piano-scherm, isomorfe grids, fretboards en akkoordpads. Stemmingen en toonladders bevatten microtonale opties. Een sessie zonder instrumenten gebruikt standaard een geïnstalleerd SoundFont, waarbij de voorkeur uitgaat naar een General MIDI-bank indien beschikbaar.
  • Plugins: Laad CLAP-, VST3- en SoundFont-instrumenten, of maak gebruik van de keyed- en drum-samplers.

Mixing en Export

  • Mixer: Mix met inserts, sends, returns, sidechains, hulpuitgangen (auxiliary outputs), automatisering en modulatie.
  • Opname en export: Neem audio en MIDI op, resample een bus of bounce stems. Exporteer het arrangement als 16-bit, 24-bit of 32-bit float WAVE via dezelfde engine die wordt gebruikt voor afspelling. Importeer en exporteer Standard MIDI Files voor het uitwisselen van noten.

AI-integratie

  • Compositie-assistent: Vraag de LLM-compositie-assistent om een frase. Je kunt het voorstel beoordelen voordat je het toepast; elke generatie is één ongedaan-stap (undo step). Een MCP-bridge stelt agents in staat om de actieve applicatie aan te sturen.

Huidige beperkingen

Blokkily is experimenteel. De volgende beperkingen zijn van toepassing:

  • Comping en MIDI-clock-input zijn niet geïmplementeerd.
  • MPE-ondersteuning varieert per instrumentformaat; per-noot expressie heeft geen editor.
  • Grote, niet-gewarpte audioclips kunnen vanaf de schijf worden gestreamd, maar gewarpte clips en sampler-samples worden nog steeds volledig in het geheugen geladen.
  • Native plugin-vensters vereisen een X11-display.
  • Export rendert altijd het volledige arrangement; neem daarom eerst een launcher-performance op in het arrangement voordat je exporteert.

Voor meer details over beperkingen met betrekking tot sidechains, modulatietiming, sampler-bewerking en stems kan de limitations-referentie geraadpleegd worden.

Documentatie en ontwikkeling

De volgende documentatie is beschikbaar:

  • Gebruikershandleiding: Instructies voor bewerken, arrangeren, opnemen, mixen en sneltoetsen.
  • Architectuur: Informatie over het gedeelde model, de scheduler, plugin-adapters en coverage-commando's.
  • Agent-besturing via MCP: Setup, tools en omgevingsvariabelen.
  • LLM-compositie-assistent: Back-ends en reply-formaten.
  • Verificatie: Herhaalbare BDD, integratie-, end-to-end- en screenshot-checks.

Gedragsspecificaties zijn te vinden in features/. De voltooiingsregels voor het gehele repository staan in AGENTS.md.