Weeklybeats is a 52 week long music project in which artists compose and publicly release 1 song a week for the entire year.
Starting January 1st 2024 GMT each participant will have one week to upload one finished composition. Any style of music or selection of instruments are welcomed and encouraged. Sign up or Login to get started or check our FAQ for any help or questions you may have.

WeeklyBeats.com / Music / chiefthomson's music / a sonic pi moment 001

a sonic pi moment 001

By chiefthomson on November 13, 2016 5:52 pm

as the title might give away, I discovered Sonic Pi... after a crash course in Ruby and some tutorials, this is my very first song in code... good code moments y'all

this is pretty cool, never seen sonic pi before. You gonna share the code?

there you go mate. have fun wink

use_bpm 123

live_loop :melody do
  use_synth :pulse
  with_fx :distortion, distort: 0.4 do
    with_fx :reverb, room: 0.8 do
      with_fx :band_eq, freq: 90, db: 1 do
        play chord([52,56,48,59].choose, [:m6,:m9].choose), invert: rrand_i(0,2), amp: 1, release: 2, cutoff: rrand(80,110)
      end
    end
  end
  sleep [1.5,2].choose
end

live_loop :sphere, sync: :melody do
  sample :ambi_haunted_hum, amp: 1.5, attack: 1, pitch: [-1,1,3].choose
  sleep 8
end

live_loop :echo_fx, sync: :melody do
  with_fx :echo, decay: 16, phase: 0.62, max_phase: 8 do
    sample :perc_swash, pan: rrand(-0.6,0.6), amp: 0.5
  end
  sleep 21
end

live_loop :kick, sync: :melody do
  sample :bd_gas, amp: 5
  sleep 1
end

live_loop :snare, sync: :melody do
  sleep 1
  with_fx :reverb, room: 0.8, mix: 0.35 do
    sample :sn_dolf, decay: 0.2, decay_level: 0
  end
  sleep 1
end

hihat = "C:/temp/spi/CC2_Hat_06.wav"

live_loop :hihat, sync: :melody do
  sample hihat, pan: rrand(-0.6,0.6), amp: rrand(0.7,1.2)
  sleep 0.25
end

live_loop :bassline, sync: :melody do
  use_synth :dtri
  nuotti = scale(:a1, :minor_pentatonic).choose
  with_fx :echo do
    play nuotti, cutoff: rrand(10, 130), release: 0.1, amp: 1.8, release: 0.9, cutoff: 60
  end
  sleep [1,1.5,2].choose
end

You need to login to leave a comment.
Login Sign-up