If You Listen Until the Drone Ends

########### If You Listen Until the Drone Ends ##########
mn=[:r]; use_bpm 110
for jn in 1..127; mn[jn]=hz_to_midi(44*jn); end
m=[0,0,0,0,6,7,8,9]; p=[0,0,11,13,15]
n0=[]; n1=[]; n2=[]; p0=[]

use_synth :dsaw
play mn[2], detune: 0.01, attack: 18, sustain: 999, amp: 0.1
play mn[3], detune: 0.01, attack: 18, sustain: 999, amp: 0.1

loop do
  for x in 0..31; v=1-(x%2); y=x%8; vp=1.0/choose([2,3,4])
    if rand_i(24)==3  then p0[y]=mn[choose(p)]; end
    if rand_i(9) ==3  then n0[x]=mn[choose(m)]; end
    if rand_i(9) ==3  then n1[x]=mn[choose(m)]; end
    if rand_i(9) ==3  then n2[x]=mn[choose(m)]; end
    synth :beep,        note: p0[y]-12, release: 0.01, amp: vp
    synth :fm,          note: n0[x],    release: 1.00, amp: 0.4 * v
    synth :pretty_bell, note: n1[x],    release: 0.20, amp: 0.4 * v
    synth :pluck,       note: n2[x],    release: 2.00, amp: v
sleep 0.25; end; end
6 Likes

Very nice drone + I learned something new today: We can use “;” to format code.

2 Likes

I really like how you’ve used dsaw, it really adds a good ambience and does go well with the melody you’ve created. Keep up! :slight_smile: