Skip to content

Instantly share code, notes, and snippets.

@paradoxinversion
Created May 7, 2020 03:52
Show Gist options
  • Save paradoxinversion/f3c29e278252c3725a3048ea9dfae1e0 to your computer and use it in GitHub Desktop.
Save paradoxinversion/f3c29e278252c3725a3048ea9dfae1e0 to your computer and use it in GitHub Desktop.
# A global timer
live_loop :timer do
cue(:timer)
sleep 0
use_bpm 115
sleep 1
end
# An Arpeggiator
define :peggiator do |c_degree, the_note, notes_amt, repeat_times, reverse_arp|
use_bpm 115
if reverse_arp == true
notes = (chord_degree c_degree, the_note, notes_amt).reverse
else
notes = (chord_degree c_degree, the_note, notes_amt)
end
set :peggiatorNotes, notes
repeat_times.times do
synth :prophet, note: notes.tick
sleep 0.25
end
end
live_loop :mainDrums do
use_bpm 115
sample :bd_haus
sleep 1
end
##| live_loop :bar do
##| with_fx :lpf, cutoff:110, cutoff_slide: 32 do |fc|
##| mainLine= [ [ :i, 57, :major, 32, true], [:ii, :a3, :major, 32, true], [:i, :a3, :major, 32, true], [:ii, :a4, :major, 32, true] ]
##| topper = [[:i, :a3, :major, 32, false], [:i, :d4, :major, 32, false], [:i, :f4, :major, 16, false], [:ii, :a4, :major, 16, false], [:iv, :a4, :major, 16, false], [:viii, :a4, :minor, 16, false]]
##| control fc, cutoff: 90
##| 4.times do
##| p = mainLine[tick(:mainLineTick)]
##| peggiator p[0], p[1], p[2], p[3], p[4]
##| end
##| tick_reset(:mainLineTick)
##| control fc, cutoff: 110
##| 6.times do
##| d = topper[tick(:topperTick)]
##| peggiator d[0], d[1], d[2], d[3], d[4]
##| end
##| tick_reset(:topperTick)
##| end
##| end
# a beat-stretchhed drop
define :slider do
use_bpm 115
with_fx :eq, low: -0.5, low_slide: 8 do |bc|
with_fx :lpf, cutoff: 105, cutoff_slide:8 do |bcc|
sample :ambi_lunar_land, beat_stretch: 16, rate: 0.50
control bcc, cutoff: 120
end
with_fx :hpf do
s = synth :dpulse, detune: 40, release: 16, detune_slide: 16, attack: 0.125, cutoff: 100, cutoff_slide: 4
control s, detune: 24, cutoff: 70
end
control bc, low: -2
end
end
# A synth with w balanced slice on the tone
define :choppedSynth do |n, p, nr|
with_fx :lpf, cutoff: 120, cutoff_slide:2 do |bc|
with_fx :slicer, phase: p do
synth :prophet, note: n, release: nr, sustain: 1, res: 0.25
control bc, cutoff: 90
control bc, cutoff: 120
end
end
end
define :nuSynth do |n, p, nr|
with_fx :lpf, cutoff: 120, cutoff_slide:2 do |bc|
synth :prophet, note: n, res: 0.25, sustain: 0.125, env_curve: 7
synth :prophet, note: n, res: 0.25, sustain: 0.125, attack: 0.75, env_curve: 7
synth :dsaw, note: n, amp: 0.75, detune: 12, attack: 0.50
control bc, cutoff: 90
control bc, cutoff: 120
end
end
# a buzzy wobbly synth
define :lsynth do |n, r|
with_fx :level, amp: 0.75 do
with_fx :hpf, cutoff: 80 do
t = synth :pulse, note: n, amp: 0.75, release:r, sustain: r/4, amp_slide: r, cutoff_slide: r/4, cutoff: 80,cutoff_slide_shape: 7
control t, amp: 0.0, cutoff: 100
end
l = synth :mod_saw, note: n, release: r, cutoff: 85, cutoff_slide: 0.5, mod_phase_slide: 0.125, mod_phase_slide_shape: 5
control l, mod_phase: 0.5, cutoff: 95
end
end
# bright synth for highs
define :bigBright do |the_note, main_release|
with_fx :eq, high: -0.50 do
synth :dsaw, note: the_note, release: main_release, detune: 0.05, cutoff: 100
synth :dpulse, note: the_note - 12, release: main_release, detune: 0.05, cutoff: 80, amp: 0.25, attack: main_release / 8
synth :dpulse, note: the_note - 24, release: main_release, detune: 0.05, cutoff: 80, amp: 0.25
synth :dsaw, note: the_note + 12, release: main_release, detune: 0.05, amp: 0.125
end
end
define :bigBrightLong do |the_note, main_release|
with_fx :level, amp: 0.50 do
with_fx :slicer, phase: 0.75, phase_offset: 0.25 do
with_fx :eq, high: -0.50 do
synth :dsaw, note: the_note, sustain: main_release, detune: 0.05, cutoff: 100, sustain_level: 1, env_curve: 7
synth :dpulse, note: the_note - 12, sustain: main_release, detune: 0.05, cutoff: 80, amp: 0.25, attack: main_release / 8, sustain_level:1, env_curve: 7
synth :dpulse, note: the_note - 24, sustain: main_release, detune: 0.05, cutoff: 80, amp: 0.25, sustain_level:1, env_curve: 7
synth :dsaw, note: the_note + 12, sustain: main_release, detune: 0.05, amp: 0.125, sustain_level:1, env_curve: 7
end
end
end
end
define :slidingSaw do |the_note, release_time|
p = synth :saw, note: the_note +12, release: release_time, cutoff: 110, cutoff_slide: 0.25, note_slide: 1, res: 0.9, detune: 1
control p, cutoff: 85, note: the_note-12
end
set :hotstepperinc, 0
define :hotstepper do |the_note, release_time, step|
increment = get[:hotstepperinc]
slidingSaw the_note + increment, release_time
set :hotstepperinc, increment += step
end
sync :timer
use_bpm 115
live_loop :techieBeepery do
notes = (chord_degree :iv, 69, :minor, 4).reverse
##| notes2 = (chord_degree :i, 69, :minor, 4)
hackerz = 101010
littleParty = 36061
just9000 = 9000
over9000 = 9001
over90000 = 90001
theBay = 510
theCity = 415
lol = 80085
stoners = 420
doubleNice = 6969
borkenRecord = 1400
sockHop = 88100
holdOn = 55050
m = 98363
tick(:metro)
use_random_seed 39573
##| use_random_seed (ring over9000, just9000).tick
##| use_random_seed (ring hackerz, theBay).tick
with_fx :bitcrusher, sample_rate: 44000, sample_rate_slide: 8, bits_slide: 4, bits:13, mix: 1 do |bc|
with_fx :krush, mix: 0, mix_slide: 4 do |k|
with_fx :bpf, centre: 100, centre_slide: 4, mix_slide: 2, mix: 0.5 do |bpf|
control bc, sample_rate: 10000, bits: 9 # keep bits > 7
control k, mix: 0.5
control bpf, centre: 95, mix: 0
16.times do
bigBright notes.choose, 0.125
bigBright notes.choose, 0.125
sleep 0.25
end
end
end
end
end
live_loop :backSequence do
notes = (chord_degree :iv, 69, :minor, 4)
use_random_seed 484579
16.times do
##| bigBright notes.choose, 0.125
sleep 0.25
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment