I call this script “oooooo” because it is composed of six loops. They are like digital tape loops - you can level, pan, speed, slow, shorten, lengthen, dub, overdub any loop at any time.
I was inspired to make this after seeing tape loops circulating (pun sorta intended) all over the place. I like the idea of having multiple independent different loops, with different sizes, played on a different tape players with different eccentricities. I don’t have any cassette tapes but I have norns so I wrote this script to try to make digital tape loops.
- arc support (need help)
- crow support (need help)
- fix all the 🐛🐛🐛
- audio input
- grid (optional)
- E1 selects loops
- E2 changes mode/parameter
in tape mode:
- K2 stops
- K2 again resets
- K3 plays
- K1+K2 clears
- K1+K2 again resets
- K1+K3 primes recording
- K1+K3 again records
in other modes:
- K2 or K3 activates or lfos
- E3 adjusts parameter
all parameters are available via the global menu.
- in tape mode, press K2 to stop/goto 0, and press K3 to start playing (once recorded).
- in tape mode, press K1+K3 to prime recording. When primed, recording will automatically begin when incoming audio rises above a threshold. The recording threshold can be set by global parameter “
recording -> rec thresh”.
- in tape mode, you can force recording by hitting K1+K3 a second time.
- recording stops after traversing the whole loop. You can stop it earlier with K2 or K3 (in tape mode) and that will shrink the loop to that point. You can set recording to continue to the next loop by setting the global parameter “
recording -> rec thru loops” to
- by default, volume in “pinched” when starting/stopping recording to avoid pops from discontinuous signals. You can lower/raise the pinching by adjusting the global parameter “
- to record a loop over and over, infinitely, change
recording -> stop rec afterto its max value.
- E2 changes mode/parameter on the quick menu
- each parameter can be activated by K2 or K3 (activated lfo), and it can modified by E3
- you can adjust the rate in continuous or discrete (±25%, ±50%, etc.) by changing the global parameter “
- the “
warble” mode allows you to temporarily pitch up/down the current loop using E3
- “A” loop can control all loops. the tape mode works as before, but affects all loops.
- the quick menu differs from loops but is also activated by K2 or K3, and modulated with E3
startupmenu you can load loops on startup, play loops on startup, start loops with random lfos and change the length of the starting loops (in beats). note: these settings persist next time you open
recordingmenu you can change pre/rec levels, recording threshold for primed recordings, the volume pinchoff, whether to record through loops, and how many times to loop over before stopping recording. note:_ these settings persist next time you open
all loopsyou can pause all lfos, set loop destruction (which slowly degrades loops), ramp volume up/down, randomize loops on reset, change the reset per loop
loop Xmenu you can modify all lfos, and several other parameters of each loop.
- audibly ambient: record to each loop and then move them around the screen. video example
- lucid looper: instead of overdubbing one loop, record six separate loops of the same size that have their own stereo field. change
startup -> start lengthto
startup -> start lfos randomto
yes. then change
recording -> rec thru loopsto
yesand make sure
recording -> stop rec afteris
1. then reload oooooo, and record. video example
- dangerous delay: tape delay with six tapes, that shapeshift. in
rec levelto 0.5. set
stop rec afterto max. go to
Aloop. turn E2 to
rand lfoand activate with K2. turn E2 to tape and press K1+K3 to record on all loops forever, making a stereo-field delay. (make it crazier by changing
all loops -> randomize on resetto
all loops -> reset all everyto
X beats). video example
(thank you @tyleretters for this absolutely amazingly useful grid doc tool!)