Hi,
I made up a sequencer based on the repetition of little melodic fragments within a euklidean rhythmic framework.
Works fine, but would be much better if I was able to alter the diverse parameters via a midi controller. Unfortunately, I was not able to work that out by myself, so any help is highly appreciated!
Also, have fun with the sequencer! I hope it is self explanatory - if not, don´t hesitate to ask
#PatternTriggerSequencer euklidian
use_bpm 120
define :untergrenze do
untergrenze = 60
end
define :obergrenze do
obergrenze = 72
end
in_thread(name: :pitches) do
use_random_seed 3
A = rrand(untergrenze, obergrenze)
B = rrand(untergrenze, obergrenze)
C = rrand(untergrenze, obergrenze)
D = rrand(untergrenze, obergrenze)
E = rrand(untergrenze, obergrenze)
end
define :n do
n = 16
end
live_loop :patterncues1 do
cue :zammm if (spread 6, n).tick
sleep 0.5
end
live_loop :patterncues2 do
cue :pammm if (spread 5, n).tick
sleep 0.5
end
#choosing pitches
in_thread(name: :chose1) do
use_random_seed 2
set :pitch1a, [A, B, C, D, E].pick(1)
set :pitch2a, [A, B, C, D, E].pick(1)
set :pitch3a, [A, B, C, D, E].pick(1)
end
#choosing pitches
in_thread(name: :chose2) do
use_random_seed 3
set :pitch1b, [A, B, C, D, E].pick(1)
set :pitch2b, [A, B, C, D, E].pick(1)
end
#choosing interonset intervalls
in_thread(name: :chose_interonset1) do
use_random_seed 3
X_a = rrand(0.2, 0.75)
X_aq = quantise(X_a, 0.25)
Y_a = rrand(0.5, 0.75)
Y_aq = quantise(Y_a, 0.25)
end
in_thread(name: :chose_interonset2) do
use_random_seed 1
X_b = rrand(0.2, 0.75)
X_bq = quantise(X_b, 0.25)
Y_b = rrand(0.5, 0.75)
Y_bq = quantise(Y_b, 0.25)
end
live_loop :pattern_one do
sync :zammm
play get[:pitch1a], sustain: 0, release: 0.2, pan: 0.3
sleep X_aq
play get[:pitch2a], sustain: 0, release: 0.2, pan: 0.3
sleep Y_aq
end
live_loop :pattern_two do
sync :pammm
play get[:pitch1b], sustain: 0, release: 0.2, pan: -0.3
sleep X_bq
play get[:pitch2b], sustain: 0, release: 0.2, pan: -0.3
sleep Y_bq
end