The Digital Escape Plan: dissonant stabby mosh

I like dissonance and breakdowns

#bass drums
bd_patterns =
  [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],
  [1,1,0,1,1,1,0,1,1,1,0,1,1,1,1,0],
  [1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0],
  [1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0],
  [1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0],
  [1,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0],
  [1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1]

#snares
sn_patterns =
  [0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0],
  [0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0]

#cymbals
cy_patterns =
  [1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
  [1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0],
  [1,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0],
  [1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0]

#notes
n_patterns =
  [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],
  [1,1,0,1,1,1,0,1,1,1,0,1,1,1,1,0],
  [1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0],
  [1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0],
  [1,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0],
  [1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1],
  [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]

#dissonance
d_patterns =
  [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],
  [1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0],
  [1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0],
  [1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0],
  [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
  [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]

use_synth :blade

use_bpm 200

#bass tone
b = :dsaw
#lead tone
s = :chiplead

#key
r = :a1
notez = [:m7, :m, :m9]

#volume
amp = 1.5
bamp = 0.5
samp = 0.5

#note subdivisions
sl = 0.5
#repeats
bl = 4

# compressor and EQ
with_fx :compressor, mix: 0.5, amp: 0.5 do
  with_fx :eq, high_shelf: 0.5, high: 0.25, mid: 0.25, low: -1.5, low_shelf: 1.5  do
    
    #loopit
    live_loop :beat do
      
      #scale to use
      n = choose(notez)
      
      #fetch a pattern for each drum
      bd = choose(bd_patterns)
      sn = choose(sn_patterns)
      cy = choose(cy_patterns)
      
      #synth note triggers and dissonant triggers
      no = choose(n_patterns)
      di = choose(d_patterns)
      
      # make up a bassline
      bass = [
        choose(chord(r,n)),
        choose(chord(r,n)),
        choose(chord(r,n)),
        choose(chord(r,n)),
        choose(chord(r,n)),
        choose(chord(r,n)),
        choose(chord(r,n)),
        choose(chord(r,n)),
        choose(chord(r,n)),
        choose(chord(r,n)),
        choose(chord(r,n)),
        choose(chord(r,n)),
        choose(chord(r,n)),
        choose(chord(r,n)),
        choose(chord(r,n)),
        choose(chord(r,n))
      ]
      
      #make up a lead
      lead = [
        choose(chord(r,n)),
        choose(chord(r,n)),
        choose(chord(r,n)),
        choose(chord(r,n)),
        choose(chord(r,n)),
        choose(chord(r,n)),
        choose(chord(r,n)),
        choose(chord(r,n)),
        choose(chord(r,n)),
        choose(chord(r,n)),
        choose(chord(r,n)),
        choose(chord(r,n)),
        choose(chord(r,n)),
        choose(chord(r,n)),
        choose(chord(r,n)),
        choose(chord(r,n))
      ]
      
      bl.times do
        #balo is the count
        balo = 0
        16.times do
          #play synth line
          #if a note is "1" then play
          if no[balo] == 1
            #if dissonance is "1" then play gross tone
            if di[balo] == 1
              use_synth s
              #always play a short noe on 16
              if balo == 16
                play lead[balo] + 37, sustain: sl , amp: samp
                play lead[balo]  + 37.66, sustain: sl , amp: samp
                play lead[balo]  + 38.33, sustain: sl , amp: samp
              else
                #extrend the dissoance if the next note is blank
                if no[balo + 1] == 0
                  play lead[balo] + 37, sustain: sl * 2 , amp: samp
                  play lead[balo]  + 37.66, sustain: sl * 2 , amp: samp
                  play lead[balo]  + 38.33, sustain: sl * 2 , amp: samp
                else
                  play lead[balo] + 37, sustain: sl , amp: samp
                  play lead[balo]  + 37.66, sustain: sl , amp: samp
                  play lead[balo]  + 38.33, sustain: sl , amp: samp
                end
                
              end
              #play consonant tone
            else
              use_synth s
              play lead[balo] , sustain: sl , amp: samp * 2
              play lead[balo]  + 12, sustain: sl , amp: samp * 2
              play lead[balo]  + 18, sustain: sl , amp: samp * 2
            end
          end
          #bass drum
          if bd[balo] == 1
            sample :drum_heavy_kick, sustain: 0.04, amp: amp
            #sync bassline with drums
            use_synth b
            if balo == 16
              play bass[balo], attack: 0.1, sustain: sl, amp: bamp
            else
              if bd[balo + 1] == 0
                if bd[balo + 2] == 0
                  play bass[balo], attack: 0.1, sustain: sl * 3, amp: bamp
                else
                  play bass[balo], attack: 0.1, sustain: sl * 2, amp: bamp
                end
              else
                play bass[balo], attack: 0.1, sustain: sl, amp: bamp
              end
            end
          end
          #snare
          if sn[balo] == 1
            sample :drum_snare_hard, amp: amp, sustain: 0.04
            sample :drum_snare_hard, amp: amp, sustain: 0.02
          end
          #cynbals
          if cy[balo] == 1
            sample :drum_cymbal_open, amp: 0.5
          end
          sleep sl
          balo += 1
        end
      end
    end
  end
end

*edited for sassiness

that is really nice !!!

Holy moley! This is bracing! I really dig it.