Skip to content

Instantly share code, notes, and snippets.

@paradoxinversion
Last active May 6, 2020 23:41
Show Gist options
  • Save paradoxinversion/40c1249cf56cd57c88d28f75a78d3aac to your computer and use it in GitHub Desktop.
Save paradoxinversion/40c1249cf56cd57c88d28f75a78d3aac to your computer and use it in GitHub Desktop.
# A global timer
live_loop :timer do
use_bpm 115
tick(:fourths)
puts look(:fourths)
puts look(:fourths) % 4 == 0
cue :lolol if look(:fourths) % 4 == 0
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
define :testo do
use_bpm 115
sync :lolol
live_loop :mainSequence do
##| use_bpm 115
pn = get[:peggiatorNotes]
### melody sequences ###
steadyMarch = [[52, 2, 2],[60, 2, 2],[59, 2, 2],[55, 1, 1], [57, 8, 9]].ring # bigbright -- 16bts
build = [[69, 4, 4],[71, 4, 4],[72, 4, 4],[74, 4, 4]].ring
falseBuild = [[69, 4, 4],[67, 4, 4],[65, 4, 4],[74, 4, 4]].ring # bigbright -- 16bts
falseBuild2 = [[69, 4, 4],[71, 4, 4],[72, 4, 4],[65, 4, 4]].ring # bigbright -- 16bts
buildBridge = [[69, 4, 4],[67, 4, 4],[64, 4, 4],[65, 4, 4]].ring # bigbright -- 16bts
##| mainDrive = [[69, 3.5, 3.5], [69, 0.5, 1],[69, 0.5, 0.5],[69, 1, 1], [72, 0.5, 0.5], [67, 1, 1], [69, 1, 8.5]].ring
mainDrive = [[69, 3.5, 3.5], [69, 0.5, 1],[69, 1.5, 1.5], [72, 0.5, 0.5], [67, 1, 1], [69, 1, 8.5]].ring
##| seq = [[:e3, 0.75, 4, 4], [:a3, 0.75,2, 2], [:a3, 0.75,2, 2]].ring #seq for full syths
##| seq = [[:a3, 1, 2]].ring
##| seq = [[pn[0], 1, 2]].ring
##| seq = [[69, 4, 4],[67, 4, 4],[64, 4, 4],[65, 4, 4]].ring # bigbright seq
##| melseq2 = [[57, 4, 4],[59, 4, 4],[60, 4, 4],[62, 4, 4]].ring
mainSequence = build
mainSequenceTick = mainSequence[tick(:thistick)]
##| q = melseq2[look(:thistick)]
##| choppedSynth p[0], p[1], p[2]
bigBright mainSequenceTick[0], mainSequenceTick[1]
##| bigBright 69, 4
##| bigBright q[0], q[1]
##| hotstepper p[0], p[1], 2
sleep mainSequenceTick[2]
end
live_loop :backingSequence do
steadyMarch = [[60, 2, 2],[57, 2, 2],[62, 2, 2],[64, 1, 1], [64, 8, 9]].ring # bigbright -- 16bts
build = [[57, 4, 4],[55, 4, 4],[53, 4, 4],[50, 4, 4]].ring # bigbright
falseBuild = [[57, 4, 4],[59, 4, 4],[48, 4, 4],[50, 4, 4]].ring # bigbright
falseBuild2 = [[57, 4, 4],[55, 4, 4],[53, 4, 4],[50, 4, 4]].ring # bigbright -- 16bts
buildBridge = [[57, 4, 4],[59, 4, 4],[60, 4, 4],[62, 4, 4]].ring
mainDrive = [[nil, 1, 1],[74, 1.5, 1], [72, 1.5, 1],[69, 2.5, 2], [67, 2.5, 2], [69, 3.5, 9]].ring
backingSequence = mainDrive
backingSequenceTick = backingSequence[tick(:thistick)]
bigBright backingSequenceTick[0], backingSequenceTick[1]
sleep backingSequenceTick[2]
end
live_loop :fill do
with_fx :level, amp: 0.75 do
steadyMarch = [[60, 2, 2],[57, 2, 2],[62, 2, 2],[64, 1, 1], [64, 8, 9]].ring # bigbright -- 16bts
build = [[57, 4, 4],[55, 4, 4],[53, 4, 4],[50, 4, 4]].ring # bigbright
falseBuild = [[57, 4, 4],[59, 4, 4],[48, 4, 4],[50, 4, 4]].ring # bigbright
falseBuild2 = [[57, 4, 4],[55, 4, 4],[53, 4, 4],[50, 4, 4]].ring # bigbright -- 16bts
buildBridge = [[57, 4, 4],[59, 4, 4],[60, 4, 4],[62, 4, 4]].ring
mainDrive = [[69, 4, 4], [67, 4, 4],[62, 4, 4],[64, 4, 4]].ring
backingSequence = mainDrive
backingSequenceTick = backingSequence[tick(:thistick)]
##| bigBrightLong backingSequenceTick[0], backingSequenceTick[1]
##| bigBright backingSequenceTick[0], backingSequenceTick[1]
##| lsynth backingSequenceTick[0], backingSequenceTick[1] # really rounds out that sound on builds
sleep backingSequenceTick[2]
end
end
sleep 0
end
testo
##| sample :ambi_lunar_land
##| slider
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment