Dream Waltz - Transpose 1/8/32



### Dream Waltz
### Author: Shea Kennedy (Doffu)
### About: This song will put you into a trance. There is a slight non-repetitive feeling due to the autotune formant shifting.

# INITIALIZE
use_bpm 70
use_transpose 32 #Change this for some fun. I like: 8, 1, 0.4, and 32!
use_random_seed 0

# AUTOMATION
lfo0 = (line 70, 100, inclusive: true, steps: 16).mirror
lfo1 = (line 0.8, 0.99, inclusive: true, steps: 32).mirror
lfo2 = (line 120, 60, inclusive: true, steps: 4).mirror
lfo3 = (line 120, 100, inclusive: true, steps: 8)
lfo4 = (line 1, 10, inclusive: true, steps: 16).mirror
lfo5 = (line -0.5, 0.5, inclusive: true, steps: 16).mirror


with_fx :lpf do |lpf|
  live_loop :bass do
    puts tick
    control lpf, cutoff: lfo0.look
    use_synth :chipbass
    play (octs :e1, 3).look
    sleep 0.5
  end
end


with_fx :pan do |pan|
  with_fx :lpf do |lpf|
    live_loop :upper do
      puts tick
      control lpf, cutoff: lfo2.look, res: lfo1.look, mix: choose([0.1, 0.8])
      control pan, pan: lfo5.look
      use_synth :chipbass
      play (octs (knit :e3, 3, :gs3, 5, :as3, 4).look, 3).look
      sleep 0.25
    end
  end
end

with_fx :autotuner, note: :e4 do |formant|
  live_loop :melody, sync: :bass do
    puts tick
    control formant, formant_ratio: lfo4.look
    use_synth :chipbass
    play (octs (knit :e4, 6, choose([:gs4, :gs6]), 3, :as5, 3).look, 3).look
    sleep 0.5
  end
end

Here’s a full song I composed out of the loop. After some post processing it’s beginning to sound really nice.

well i was going to try something with one of the others you posted but this just pulled me in.

the dream became a nightmare, i don’t know anything about music; apologies :heart:

use_debug false


# INITIALIZE
use_bpm 70
live_loop :transposer do
  set :t, knit(0,96, 28.5,12, -12.333,6, 12,18,
               28+quantise(rrand(-0.8,1),0.2),24,
               -12,5, 0.4,dice*3, 7,5).tick
  puts get[:t]
  sleep 0.125
end

live_loop :randomizr do
  use_random_seed knit(0,1, 1,2, 3,5, 8,13, 21,34).tick
  sleep 24
end

sample :misc_burp, rate: 0.75



live_loop :snapr do
  if one_in 4
    sample [:perc_bell, :elec_blip, :elec_blip2].look, amp: 2,
      rate: quantise(rrand(-0.2,0.8),0.1)+0.01 end
  density [1,1,3].tick do
    sample :perc_snap, rate: [0.6, -0.65, 1].look
  sleep 0.75 end
end





with_fx :eq, low: 3 do
  with_fx :reverb, mix: 0.7 do
    live_loop :bd do
      sample [:drum_heavy_kick, :bd_ada].tick
      sleep 1
      sample :bd_fat, amp: [0,0,0,1,0].look
      sleep 0.5
end end end

sleep 3

# AUTOMATION
lfo0 = (line 70, 100, inclusive: true, steps: 16).mirror
lfo1 = (line 0.8, 0.99, inclusive: true, steps: 32).mirror
lfo2 = (line 120, 60, inclusive: true, steps: 4).mirror
lfo3 = (line 120, 100, inclusive: true, steps: 8)
lfo4 = (line 1, 10, inclusive: true, steps: 16).mirror
lfo5 = (line -0.5, 0.5, inclusive: true, steps: 16).mirror




with_fx :nrlpf do |lpf|
  live_loop :bass do
    use_transpose get[:t]
    tick
    control lpf,
      cutoff: lfo0.look(offset: (ring 0, choose([-1,1])*dice(3), -2).look),
      cutoff_slide: 0.1*dice(8)
    use_synth :chipbass
    ##| play (octs :e1, 3).look
    sleep (knit 0.75,5, 0.25,13, 0.5,6).look
  end
end


with_fx :pan do |pan|
  with_fx :nrlpf do |lpf|
    live_loop :upper do
      use_transpose get[:t]
      
      tick
      control lpf, cutoff: lfo2.look, res: lfo1.look, mix: choose([0.1, 0.8])
      control pan, pan: lfo5.look
      use_synth :chipbass
      play (octs (knit :e3, 3, :gs3, 5, :as3, 4).look, 3).look
      sleep knit(0.25,6, 0.5,6, 0.75,3).look
    end
  end
end

with_fx :autotuner, note: :e3 do |formant|
  with_fx :eq, high: -3 do
    
    live_loop :melody, sync: :bass do
      use_transpose get[:t]
      
      tick
      control formant, formant_ratio: lfo4.look
      use_synth :chipbass
      play (octs (knit :e2, 6, choose([:gs4, :gs6]), 3, :as5, 3).look, 4).look
      sleep knit(0.5,6, 0.25,3, 0.75,6).look
    end
end end

sleep 12

with_fx :gverb, mix: 0.25 do
  with_fx :distortion do
    live_loop :sn do
      use_sample_defaults amp: 1
      12.times do
        sample :elec_snare, rate: [1.02,0.98,1.01].look
        sleep [0.23,0.27].tick
      end
      sleep 3
      4.times do
        sample :elec_snare
      sleep 0.25 end
      sleep 1
      8.times do
        sample :elec_snare, rate: 1.2
      sleep 0.125 end
      sleep 8
    end
end end
with_fx :eq, mid: 1, high: 0.75 do
  live_loop :cy do
    3.times do
      sample :drum_cymbal_closed, finish: 0.2
    sleep 1 end
    sample :drum_splash_soft, amp: 1.2, rate: 0.8
    sleep 6
    9.times do
      sample :drum_cymbal_pedal, amp: 2, finish: 0.5
    sleep 0.5 end
    density [1,1,4].tick do
      sample :drum_splash_hard, amp: 2
    sleep 3 end
    sleep 9
end end

at 18 do
  with_fx :echo, phase: 1, decay: 3, max_phase: 5 do
    live_loop :chronie do
      density [5,3].tick do
        sample :misc_crow, amp: 5,
          start: rrand(0,0.01), finish: 0.15,
          rate: choose([-1,1]) * 0.8 + rrand(-0.02,0.05)
      sleep 0.65 end
      sleep 0.1
      5.times do
        sample :misc_crow, amp: (halves 5,10).look
        sleep 3
      end
      
      sleep [12, 18, 9].look
  end end
end

Thats pretty awesome sounding. The crow sounds make it hilarious!

one of my goals in sonic pi is to figure out how to make a decent sounding black metal track and just use the crow + fx:vowel for the vocals

glad you enjoyed it, i love encountering bizarre noises like this

1 Like

Taking this a bit further, I created more transpositions with different effects and automation of the individual tracks in an external DAW. I’m going to see about getting a guitarist and vocalist on some of these. The 35BPM ones are so disturbing in the best way.