Boucle is an incompetent glitch looper accompanist.
Version: 12 (using negative versioning)
Maximum lines of code: 5000
Use cases:
- destructing the boring loops that your drum machine creates (don't let the drum machine discover what you're doing though), beat synced via MIDI
- Boucle can interact with a live instrument performance, although you will have to use a click if you want the beat to be particularly synced
- glitching audio tracks in a DAW
- record 2 or more loops with stop/start controls and you have a new kinda loop station
Build 4 testing:
mkdir build
meson ..
mesonconf -Dprefix=`pwd`/../prefix
ninja-build install
Test that thing with a file as input:
LV2_PATH=`pwd`/../prefix/lib64/lv2 ../cli/boucle_cli.py \
--input ../examples/ibeat.org-j1s-SynthArpBuildLoop-97bpm.mp3 \
--tempo=97 --loop-length=16
Let's drive it with a virtual MIDI keyboard:
jack-keyboard &
LV2_PATH=`pwd`/../prefix/lib64/lv2 ../cli/boucle_cli.py \
--control jack-keyboard:midi_out \
--input ../examples/ibeat.org-j1s-SynthArpBuildLoop-97bpm.mp3 \
--tempo=97 --loop-length=16
Hooray!
-
Roland SP404, particularly DJFX LOOPER
The core of Boucle is inside an LV2 plugin. This plugin provides a delay buffer and can perform various transformation operations on the position of playhead while playing from it.
The core has audio input and output ports, and a control port for sending transformation operations. The operations are defined using a custom protocol built on the LV2 Atoms extension.
The Boucle LV2 plugin also contains the MIDI bridge. This could theoretically be separated into a different plugin, but we would hit the issue that JACK doesn't understand LV2 Atom ports so it would be a pain in the ass trying to to link the MIDI bridge to the core plugin in most cases.
To make Boucle more "playable", the MIDI bridge handles tempo syncing so that it can map notes to things like "stutter for 1 beat".
Boucle's primary use case is to work live as a loop butcher, and tooling is provided to make this easier. Currently the only tooling is a command-line tool, but a graphical user interface would be welcome.
Boucle could also work with a sequencer. There's no sequencer UI that currently supports generating Boucle events, but you can connect anything to the MIDI bridge (stepseq.lv2? Cythar? Non? Iannix, even some generative algorithm.