this_afternoon for monome crow: a somewhat-linked dual arpeggiator for warps and mangrove
| --- this_afternoon is a somewhat-linked dual arpeggiator for warps and mangrove | |
| -- warps is a self-patched complex oscillator (channel 1 is on-board osc, aux out to in 2) | |
| -- output 1 goes to warps algorithm attenuated to taste | |
| -- output 2 goes to warps pitch (channel 1) | |
| -- output 3 goes to mangrove formant attenuated to taste | |
| -- output 4 goes to mangrove pitch | |
| -- mix and put into three sisters all | |
| -- control 3 sisters cut off with some of the output 1/3 control signals | |
| -- use additional 3 sisters outs for feeding back into the oscillators | |
| -- delay and reverb for maximum vibes | |
| seq = { 0, 4, 5, 7, 9, 12 } | |
| step = 1 | |
| switch = 1 | |
| seq2 = { 12, 9, 7, 5, 4, 0 } | |
| step2 = 1 | |
| switch2 = 1 | |
| a = math.random(1,2) | |
| b = math.random(1,2) | |
| c = math.random(1,2) | |
| d = math.random(1,2) | |
| e = math.random(1,2) | |
| f = math.random(1,2) | |
| level = 5 | |
| time = 4 | |
| function init() | |
| output[1]( loop { foo | |
| , to(function() return level/a end, function() return time/b end) | |
| , foo | |
| , to(function() return -level/c end, function() return time/a end) | |
| , foo | |
| , to(function() return level/b end, function() return time/c end) | |
| , foo | |
| , to(function() return -level/a end, function() return time/b end) | |
| , foo | |
| , to(function() return level/c end, function() return time/a end) | |
| , foo | |
| , to(function() return -level/b end, function() return time/c end) | |
| } ) | |
| output[3]( loop { bar | |
| , to(function() return level/d end, function() return time/e end) | |
| , bar | |
| , to(function() return -level/f end, function() return time/d end) | |
| , bar | |
| , to(function() return level/e end, function() return time/f end) | |
| , bar | |
| , to(function() return -level/d end, function() return time/e end) | |
| , bar | |
| , to(function() return level/f end, function() return time/d end) | |
| , bar | |
| , to(function() return -level/e end, function() return time/f end) | |
| } ) | |
| end | |
| function foo() | |
| output[2].volts = seq[step]/12 | |
| output[2].slew = math.random(0,2)/100 | |
| step = ((step + math.random(0, 1)) % #seq) + 1 | |
| if step == 1 then | |
| switch = (switch + 1) % 4 | |
| if switch == 1 then | |
| a = math.random(1,2) | |
| b = math.random(1,2) | |
| c = math.random(1,2) | |
| end | |
| end | |
| end | |
| function bar() | |
| output[4].volts = seq2[step2]/12 | |
| output[4].slew = math.random(0,2)/100 | |
| step2 = ((step2 + math.random(0, 1)) % #seq2) + 1 | |
| if step2 == 1 then | |
| switch2 = (switch2 + 1) % 4 | |
| if switch2 == 1 then | |
| d = math.random(1,2) | |
| e = math.random(1,2) | |
| f = math.random(1,2) | |
| end | |
| end | |
| end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment