# Welcome to Sonic Pi
define :synths do |s_name, co, n=:e2|
  use_synth s_name
  use_transpose 0
  use_synth_defaults detune: [12,24].choose, amp: 1, cutoff: 100, pulse_width: 0.12, attack: rrand(0.2, 0.5), release: 0.5 ,  mod_phase: 0.25, mod_invert_wave: 1
  
  play :e1, mod_range: [7, 12].choose, pan: rrand(-1, 1)
  sleep 0.125
  play :e3, mod_range: [7, 12].choose, pan: rrand(-1, 1)
  sleep [0.25, 0.5].choose
  play n, mod_range: 12, pan: rrand(-1, 1)
  sleep 0.5
  play chord(:e2, :minor).choose, mod_range: 12, pan: rrand(-1, 1)
  sleep 0.25
end

synths(:mod_saw, 100, :e3) # Modify
synths(:mod_dsaw, 100, :e5) # Add
synths(:mod_dsaw, 100, chord(:e5, :minor)) # Delete
synths(:mod_saw, 120, :e1) # Rename
synths(:mod_saw, 100, :a2) # Move

Link: https://sonic-pi-gallery.s3.amazonaws.com/8e9461f8638bc1851f4ee9c898e7bc60.wav