this is blndr - my first patch. blndr is a quantized delay with optional time bending effects in the stereo field. this would not have been possible without the stellar softcut tutorial and inspiration of randomizing speed shifts from bounds. also i have a lot of inspiration and aspiration to recreate the drums from outkastās ms. jackson.
Requirements
audio input
norns
Documentation
the line-in audio is fed into a delay loop for a duration of one quarter note, so it automatically becomes quantized to the bpm (ENC1). the amount of delay can be dialed in with level (ENC2) and feedback (K1+ENC2).
the delay loop is randomly time shifted based on the probability from the spin parameter (ENC3). the audio from the delay loop is then fed into a second delay loop that is also time shifted and panned randomly.
the K2/K3 are used to quickly speed up/down the bpm to 1/3 intervals to get some cool polyrhythms (good for drums).
the K1+K2 to toggles muting incoming audio.
the K1+K3 will toggle reverse mode which is a delay that outputs notes in reverse.
@Tyler true there are lots of softcut scripts already but i wanted something pretty specific. also iām new to norns/lua and i thought making a thing to do x might be the best way to learn the system.
i added a little update (v0.2) that lets you use KEY1+KEY2 to toggle the line-in monitor (so it can be used as a ext effect). also i tried making the pitch shifts less abrasive by limiting their jumps to <200%.
iām still improving it. as i learn more about lua / softcut iām getting better able at translating my thoughts into code+music.
i released a new version, v0.3 which fixes some bugs (i had use the same variable i in nested for loops ) and i changed the speed changes to occur slower (every 2 notes instead of every note) so that slower speeds get a chance to ring out.
hereās some a/b analysis using drums and bass playing at 90bpm.
i pushed the effect onto a song - this is a cover of Gil Scott-Heronās āIāll Take Care of Youā as inspired by the cover by Makaya McCraven. the blndr effect starts as a straight delay in the beginning and then transforms into the time-morphing after the intro. the time-morphing is totally random so each time i play the song i get different results. itās also subtle, in a good way, as not to overpower.
canāt wait to take this effect more places also iām already thinking towards new effects
in this version i added a new mode to this effect: reverse mode. hit K1+K3 to enter reverse mode.
the reverse mode does a quantized delay but
attempts to delay a reverse of each proceeding phrase.
here is an example with my piano playing:
reverse mode (no effect):
reverse mode (bpm 90, level 0.5):
iām interested in improving it, namely by syncing the down beat to the incoming audio (i.e. when the audio is above some kind of threshold). does anyone know if norns has a trigger on incoming audio threshold?
edit: to answer my own question, it seems that you can trigger on incoming audio threshold using polls:
i had forgotten that i had started updating it and then stopped, so maybe you had the latest version? i rarely leave the latest version broken but it looks like i did accidentally, sorry!
in any case, iāve updated it now:
v0.6.0
stereo recording and spinning! each channel (left and right) have independent spinners and emit sounds on their own, as it did before, but with stereoness now.
My three-year-old and I love this patch. Weāve kind of made an improv band, I loop a note or two on bass guitar and he counts to ten and shouts animal names into a microphone while running around the mic stand. And then the whole thing goes into blndr. My old ears think it sounds like some sort of punky avant-garde but he insists that itās disco.
(Sorry, I donāt have Facebook to put these stories on ā but from the bottom of my heart, thanks for the patch, itās magic)
I really like blndr. But as soon as I turn the knob to change the bpm to fast, my norns does not react anymore to any changes (knobs or switches) and sounds weird. Does anybody else have this issue?
I believe its a bug with how I wrote the script - there are too many redraw()'s I think (which get triggered by encoders too oops) and it gets overloaded. this was my first script and its a mistake I stopped making quickly but never fixed here. never occurred to me because I usually donāt mess with the encoder much with this.
Iāll put a tlc update as soon as a I get a chance. this still remains to be one of my favorites and I use it all the time so Iād like it to work well for others too.