Last active
May 6, 2020 23:41
-
-
Save paradoxinversion/40c1249cf56cd57c88d28f75a78d3aac to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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