Here I can actually share my code… I just had to get to my computer.
This code won’t really do much for anyone out of the box because it’s pulling samples from folders on my desktop and also was connected to the specific MIDI sequencer I was using. However, if you change the file directories to your own sample folders and change the sync’s to connect to your own MIDI device then you may be able to make use of it. At the very least it might show someone an idea of how to get their own MIDI device and live audio rigged up.
use_bpm 120
drumPook = "/Users/sheakennedy/Desktop/Elder Desktop/DESKTOP/Drum Kits _ Samples/Sample Packs/Pook/Kick/"
drumLegoClap = "/Users/sheakennedy/Desktop/Elder Desktop/DESKTOP/Drum Kits _ Samples/Sample Packs/Lego Drums/CLAPS/"
aolLoop = "/Users/sheakennedy/Desktop/Elder Desktop/DESKTOP/Drum Kits _ Samples/Homebrew/Ravancloak/" #[0-2]
aolY = "/Users/sheakennedy/Desktop/Elder Desktop/DESKTOP/Drum Kits _ Samples/Homebrew/Polybius/" #[0-2]
aolVox2 = "/Users/sheakennedy/Desktop/Elder Desktop/DESKTOP/Drum Kits _ Samples/Homebrew/Volca Glitch/" #[0-2]
aolVox8 = "/Users/sheakennedy/Desktop/Elder Desktop/DESKTOP/Drum Kits _ Samples/Homebrew/Let Go Jeeshan A/"
riserGhost = "/Users/sheakennedy/Desktop/Elder Desktop/DESKTOP/Drum Kits _ Samples/Sample Packs/Ghosthack - Cinematic Trailer SFX/One Shots/Risers/"
# AUTOMATION
lfo0 = (line 90, 130, inclusive: true, steps: 32).mirror
lfo_pan = (line -0.7, 0.3, inclusive: true, steps: 32).mirror
lfo1 = (line 0.8, 0.99, inclusive: true, steps: 64).mirror
lfo2 = (line 120, 60, inclusive: true, steps: 4).mirror
lfo3 = (line 30, 130, inclusive: true, steps: 64).mirror
lfo4 = (line 0.5, 0.7, inclusive: true, steps: 16).mirror
lfo5 = (line 0.3, 0.99, inclusive: true, steps: 2).mirror
##| Sync MIDI clock:
live_loop :midi_clock do
midi_clock_beat
sleep 1
end
with_fx :hpf, cutoff: 26 do
##| Play audio stream from external sequencer
live_audio :foo, stereo: true, input: 1
live_loop :pan_ticker do
use_real_time
note, velocity = sync "/midi:minilogue_midi_in:5/note_on"
puts tick
if(velocity == 1)
with_fx :rbpf, centre: lfo0.look, res: lfo1.look do
sample aolVox2, 1, rate: 1, onset: 7, release: 0.1, pan: lfo_pan.look
end
end
end
live_loop :drums do
use_real_time
note, velocity = sync "/midi:minilogue_midi_in:4/note_on"
puts tick
if(velocity >= 1)
if(note == 35)
sample drumPook, 7, rate: 1, pan: -0.02, amp: 1
end
if(note == 39)
sample drumLegoClap, 40, rate: 2, pan: 0.1, amp: 0.57
end
end
end
live_loop :sweep do
use_real_time
note, velocity = sync "/midi:minilogue_midi_in:6/note_on"
puts tick
if(velocity >= 1)
sample riserGhost, 13, rate: 2, pan: -0.42, amp: 0.11, beat_stretch: 16, start: 0, finish: 1, release: 0.1
end
end
live_loop :whistle do
use_real_time
note, velocity = sync "/midi:minilogue_midi_in:2/note_on"
if(velocity >= 1)
if(note == 52)
sample aolY, 4, rate: 1, onset: 0, release: 0.1
end
if(note == 53)
sample aolLoop, 4, rate: 1, onset: 3, release: 1
end
if(note == 54)
sample aolVox8, 5, rate: 1, onset: 1, release: 1
end
end
end
live_loop :midi_qy70_3 do
use_real_time
note, velocity = sync "/midi:minilogue_midi_in:16/note_on"
if(velocity >= 1)
sample aolVox8, 7, rate: 1, release: 1, beat_stretch: 2
end
end
live_loop :midi_qy170_4 do
with_fx :level, amp: 0.8 do
use_real_time
note, velocity = sync "/midi:minilogue_midi_in:13/note_on"
if(velocity == 96)
with_fx :slicer, phase: 0.75 do
puts tick
synth :beep, note: note+24, amp: lfo4.look, env_curve: 7, attack: 4, pan: choose([-0.5, -0.7, 0.5])
end
end
end
end
live_loop :midi_qy70_5 do
use_real_time
puts tick
note, velocity = sync "/midi:minilogue_midi_in:13/note_on"
if(velocity == 95)
synth :blade, note: note, amp: (velocity / 127.0)*0.6, cutoff: 130, attack: 0.05, pan: 0.25
end
if(velocity == 94)
with_fx :bitcrusher do
synth :blade, note: note+12, amp: velocity / 127.0, cutoff: 50, attack: 0.05, pan: 0.5
end
end
if(velocity == 93)
with_fx :bitcrusher do
synth :blade, note: note+24, amp: velocity / 127.0, cutoff: 66, attack: 0.05, pan: -0.75
end
end
end
end