please review code for any errors or rookie mistakes. application suggestions, usability feedback, documentation critiques – all also welcome!
**getting started guide**
plug audio into the first input jack (I think there’s a GitHub issue open for stereo not working with the engine).
hit key 2 to enable recording and start playing something. maybe a short melody line or bring in a single note swell. you’ll get visual confirmation that recording is happening with a white crane.
tap key 2 again and what you just played will start looping. you’ll see E go down from 60.0 (seconds) to whatever duration you set.
if you head to params, you’ll see that the loop playing is actually “buffer 2” (e.g.: the volume is up for buffer 2 playback, but not buffer 1).
adjust the speed of buffer 1 to anything besides 1.0
slowly raise the volume of buffer 1
head back home…
buffer 2 will always play the same section of buffer 1, as defined by your original loop. this is a “design choice”, but was really a happy accident. I think it lends itself to flexible improvisation, but if you don’t want it then just lower the volume of buffer 2 in the params.
in fact, do that now for me? while you’re at it, reset buffer 1’s speed to 1.0? it’ll help make this next section clearer…
cool, tyty! you should now only hear buffer 1 at its original speed.
S(tart) + E(nd):
S is mapped to encoder 2, E is mapped to encoder 3. change S + E a little bit. you can make really small windows for glitchier sounds, or you can navigate past your original loop. buffer 1 has a total of 60 seconds to play with, which you can freely splice however you want.
try navigating to a section of silence with S + E. set a ~three second loop window with the encoders. tap key 2 to engage overdub/overwrite. grey crane!
on screen, OVER determines the overdub/overwrite behavior. 0 = overdub, where all new audio is added to the existing. 1 = overwrite, where new audio replaces the existing.
leaving OVER at 0, plunk a few notes into the new loop and you should hear them return and layer. build a chord or weird arpeggiation!
when you’re sick of this, use S+E to navigate forward again to silence and start anew.
to clear the buffers and reset your S+E, hold key 1 for a sec. you should see E reset to 60. do that now for me?
for this next section, try moving from one experiment to the next rather than clearing the buffers in between. it should show some neat tricks for organic improvisations. if things get weird, though, just hold key 1!
in params, set both speeds to 1.0, buffer 1’s playback volume to 0 and buffer 2’s playback volume to 1.
tap key 2, let a second or two pass, then tap key 2 again. this engages OVERwrite/dub
set OVER to 0.25.
play some notes and they should bounce back as decaying echoes.
while playing, tap key 3 to introduce small pitch bumps in the delay line. these little warbles are really noticeable with sustained or long-decay notes.
key 3 minimally affects buffer 1’s speed, like pushing your finger into moving tape. since these changes record onto buffer 1, buffer 2 plays them back as performed!
while playing, head to params and muck with buffer 2’s speed.
since we’re writing into buffer 1 and reading with buffer 2, you get a pitched delay that never requires adjustment. ooooo.
while playing, head to params and muck with buffer 1’s speed.
speed changes while recording makes for really weird and digital artifacts.
digital weirdness part 2:
in params, reset both buffers’ speed to 1.0 and change key 3’s behavior to ‘1’, which will halve the speed of buffer 1 for as long as you’re holding key 3. ‘2’ will double it!
while playing, hold key 3 to pitch down, which should make for some neat effects.
to get really weird, set buffer 1’s speed to 2.0 in params and try key 3 (either in ‘1’ or ‘0’ mode…both can get great results).
[fun tip: halving and doubling are relative to buffer 1’s param speed, so you can get 4x speed by setting buffer 1’s param speed to 2x and setting key 3 to double mode. or get 0.125x speed by setting buffer 1’s param speed to 0.25x and setting key 3 to half mode!]
now that we’ve explored key 3, you can also use it as a performative tool when doing standard loops!