Skip to content

Instantly share code, notes, and snippets.

@nischalshrestha
Last active March 19, 2023 05:25
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nischalshrestha/926e5376d880ecb7bd94165d15905708 to your computer and use it in GitHub Desktop.
Save nischalshrestha/926e5376d880ecb7bd94165d15905708 to your computer and use it in GitHub Desktop.
Sonic Pi Jam
use_bpm 120
# You will need Kount Drums Volume 4 sample 😬
# get it here: https://thekount.sellfy.store/p/kount-drums-volume-4/
cymbols = "/Users/nischal/Music/Kount Drums Volume 4/One Shot/Highhats and Cymbals"
snares = "/Users/nischal/Music/Kount Drums Volume 4/One Shot/Snares"
note_value = 0.5 # eighth notes
bass = spread(2, 8)
live_loop :bass_drum do
bass_vol = 1.8
if bass.tick
sample :bd_haus, rate: 1, amp: bass_vol
sample :bd_haus, rate: 3, amp: bass_vol
end
sleep note_value / 2
end
# repeating bd_haus with different rates
repeating_spread = spread(3, 8)
live_loop :repeating_bass do
bass_vol = 0.8
if repeating_spread.tick
sample :bd_haus, rate: [1, 2, 3, 5, 8].tick, amp: bass_vol, pan: [-1,1].choose
sample :bd_haus, rate: [1, 2, 3, 5, 8].reverse.tick, amp: bass_vol, pan: [-1,1].choose
end
sleep [note_value / 2, note_value].choose
end
with_fx :reverb, room: 0.85, mix: 0.5 do
cymbal_spread = spread(2, 8)
live_loop :cymbal do
if cymbal_spread.tick
sample :drum_cymbal_closed
sample :drum_cymbal_closed
end
sleep note_value / 2
end
rim_spread = spread(1, 8)
live_loop :toms do
if rim_spread.tick
sample "#{snares}/Akkountant Rimshot.wav", amp: 2
sleep note_value / 2
sample "#{snares}/Akkountant Rimshot.wav", amp: 2
end
sleep note_value / 2
end
spread_hope = spread(3, 8)
live_loop :hope do
synth_vol = 2
with_synth :saw do
with_synth :saw do
if spread_hope.tick
# bass
play :d1, attack: 0, release: 0.5, amp: synth_vol
play :d2, attack: 0, release: 0.25, amp: synth_vol
play :a2, attack: 0, release: 0.25, amp: synth_vol
# lead
# high = :e4
# play high - 12, attack: 0, release: 0.5, amp: synth_vol
# play high + 12, attack: 0.1, release: 0.1, amp: synth_vol
# highest
play :e5, attack: 0, release: 0.1, amp: synth_vol
play :a5, attack: 0, release: 0.1, amp: synth_vol
end
end
sleep note_value / 2
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment