Blokkily
Blokkily is an experimental pattern-based DAW. You can edit the same pattern in a tracker, piano roll or step grid, then arrange patterns across multiple tracks. It supports CLAP and VST3 plugins, SoundFont instruments and built-in samplers. CLAP support is required in every build.
Watch a short video (with sound) of an agent building a funky chiptune in Blokkily over MCP, using the YANES and FUZZBOI CLAP synths.
The screenshot comes from the bdd_session_everything verification session.
It shows an eight-track arrangement with a tempo ramp and warped and recorded
audio clips, the step grid, tracker and piano roll, the sampler, the plugin
browser and the mixer, with the composition assistant's prompt bar above the
editors.
Download
Each release carries packages built and tested by CI:
- Linux:
blokkily-<version>-Linux.tar.gz(or.tar.xz), built on Arch Linux. It expects Qt 6, FluidSynth, RtAudio, RtMidi, libsndfile, libsamplerate and Rubber Band from the system. - Windows:
blokkily-<version>-Windows-x64-setup.exe, an installer with a Start-menu entry and an uninstaller, orblokkily-<version>-Windows-x64.zipto unzip anywhere and runbin\blokkily.exe. - macOS:
blokkily-<version>-macOS-arm64.dmgfor Apple Silicon, orblokkily-<version>-macOS-x86_64.dmgfor Intel Macs, each a self-containedBlokkily.app. It is signed ad hoc, not notarized, so macOS blocks the first launch. Either Control-click the app and choose Open, or runxattr -dr com.apple.quarantine /Applications/Blokkily.app.
SHA256SUMS lists every package's checksum.
Plugin editors work in every package. CI opens the suite's test CLAP and VST3 editors, and the editors of a real third-party synth (Dexed), in a real window on macOS and Windows and reads their pixels back. Retina and high-DPI scaling have not been checked there yet.
Build and run
You need CMake 3.25+, Qt 6.5+, plus FluidSynth, RtAudio, RtMidi, libsndfile,
libsamplerate and Rubber Band 4 (found through pkg-config). JUCE and the CLAP
headers are vendored under third_party/, so clone with --recursive.
The verification tests need a SoundFont. CMake looks for basic.sf2,
TimGM6mb.sf2 or FluidR3_GM.sf2 in /usr/share/fweelin,
/usr/share/sounds/sf2 and /usr/share/soundfonts; otherwise pass
-DBLOKKILY_TEST_SF2=/path/to/bank.sf2.
cmake -S . -B build -G Ninja
cmake --build build
ctest --test-dir build --output-on-failure
./build/blokkily./build/blokkily_cli runs the headless scheduler demo.
Linux is the primary platform. macOS builds with Homebrew's Qt and libraries,
and Windows builds with MSVC, vcpkg and the official Qt binaries. The CI
workflows in .github/workflows/ (platforms.yml and release.yml) show the
exact commands for each.
Clip warping links the Rubber Band Library, licensed under the GPL (version 2 or later) unless you buy a commercial licence from its authors. A Blokkily binary built with it is therefore subject to the GPL.
IBM Plex Sans and JetBrains Mono are bundled in resources/fonts/ under the
SIL Open Font License 1.1, with licence texts beside them. Bundling the fonts
keeps the layout consistent across desktops.
What you can do
- Edit notes and chords in any of the three synchronized editors. Patterns support inversions, strum, microtiming, probability, ratchets, loop conditions and parameter locks. Edits are heard during playback without stopping it.
- Arrange named patterns and audio clips on a multi-track timeline, with tempo steps, ramps and meter changes. The scene launcher lets you perform patterns live and record the performance into the arrangement.
- Play and record with a MIDI controller or the on-screen piano, isomorphic grids, fretboards and chord pads. Tunings and scales include microtonal options. A session with no instruments uses an installed SoundFont by default, preferring a General MIDI bank when available.
- Load CLAP, VST3 and SoundFont instruments, or use the keyed and drum samplers. CLAP and VST3 plugins open their own editors, embedded in a Blokkily window on Linux, macOS and Windows.
- Mix with inserts (including the built-in EQ, delay, reverb and compressor), sends, returns, sidechains, auxiliary outputs, automation and modulation. Plugin latency is compensated in playback and export.
- Warp audio clips to follow the tempo, or stretch and pitch-shift them.
- Play hardware synths and drum machines from a track through a MIDI output, and send them MIDI clock.
- Record audio and MIDI (including MPE and poly pressure), with a metronome and count-in. Resample a bus or bounce stems. Export the arrangement as 16-bit, 24-bit or 32-bit float WAVE through the same engine used for playback. Import and export Standard MIDI Files for note exchange.
- Press F1 or HELP for a guided tour of the window. CLEAR empties the session in one undo step.
- Ask the LLM composition assistant for a phrase. Review its proposal before applying it; each generation is one undo step. An MCP bridge also lets agents control the running application.
See the usage guide for controls, keyboard shortcuts and recording workflows.
Current limitations
Blokkily is experimental. Comping and MIDI clock input are not implemented. MPE support varies by instrument format, and per-note expression has no editor. Large unwarped audio clips can stream from disk; warped clips and sampler samples still load into memory. On Linux, plugin editor windows need X11, or Wayland with XWayland or a CLAP plugin's own Wayland support. Export always renders the arrangement, so record a launcher performance into it before exporting.
The limitations reference covers these restrictions and others, including sidechains, modulation timing, sampler editing and stems.
Documentation and development
- Usage guide: editing, arranging, recording, mixing and shortcuts.
- Architecture: the shared model, scheduler, plugin adapters and coverage commands.
- Agent control through MCP: setup, tools and environment variables.
- LLM composition assistant: backends and reply format.
- Verification: repeatable BDD, integration, end-to-end and screenshot checks.
Behaviour specifications live in features/. Repository-wide completion rules
are in AGENTS.md.
