Skip to content

Instantly share code, notes, and snippets.

@rbnpi
Last active May 24, 2019 18:36
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 rbnpi/762217e5d994fb3d6062cd1a27712f1d to your computer and use it in GitHub Desktop.
Save rbnpi/762217e5d994fb3d6062cd1a27712f1d to your computer and use it in GitHub Desktop.
Bransle_de_la_Torche by Paretorius (1571-1621) played by Sonic Pi Hear it on https://soundcloud.com/user-999157198-370666210/bransledelatorche
#Praetorius (1571-1621) Bransle_de_la_Torche
#short and sweet, trasncribed for Sonic Pi by Robin Newman May 2019
#bransleDeLaTorche.rb
use_synth :saw
use_bpm 160
#plarray plays the array notes, with corresponding array durations to give their lengths
define :plarray do |notes,durations,amp=1,pan=0,skip=false|
in_thread do
if skip #drop last note
notes=notes.reverse.drop(1).reverse
durations=durations.reverse.drop(1).reverse
end
notes.zip(durations).each do |n,d|
play n,sustain: d*0.9,release: d*0.2,amp: amp,pan: pan
sleep d
end
end
end
define :percussion do |skip|
in_thread do
32.times do
sample :drum_cymbal_closed,amp: 2
sleep 2
sample :drum_cymbal_closed,amp: 1.5
sleep 1
sample :drum_cymbal_closed,amp: 1.5
sleep 1
end
if !skip
4.times do #cymbal roll during last bar
density 8 do
sample :drum_cymbal_closed
sleep 1
end
end
end
end
end
with_fx :reverb,room: 0.6,amp: 0.4,mix: 0.7 do |v| #reverb and dynamics control
set :v,v
at [0,8*4,16*4,24*4,32*4,32*4+8*4,32*4+16*4,32*4+24*4],[0.4,0.3,0.5,0.7,0.5,0.3,0.5,1] do |av| #dynamics adjustments
control get(:v),amp: av
end
a1=[:D5,:E5,:F5,:F5,:E5,:E5,:E5,:D5,:D5,:D5,:D5,:Cs5,:A4,:D5,:E5,:F5,:F5,:E5,:F5,:G5,:A5,:F5,:E5,:D5,:Cs5,:D5,:E5,:D5,:D5,:D5,:E5,:F5,:F5,:E5,:E5,:E5,:D5,:D5,:D5,:D5,:Cs5,:A4,:D5,:E5,:F5,:F5,:E5,:F5,:G5,:A5,:F5,:E5,:D5,:Cs5,:D5,:E5,:D5,:D5,:A5,:G5,:F5,:G5,:A5,:F5,:G5,:E5,:F5,:G5,:E5,:A5,:G5,:F5,:E5,:D5,:E5,:F5,:G5,:A5,:A5,:A5,:G5,:F5,:G5,:A5,:F5,:G5,:F5,:E5,:F5,:G5,:E5,:F5,:G5,:F5,:E5,:D5,:E5,:D5,:D5,:A5,:G5,:F5,:G5,:A5,:F5,:G5,:E5,:F5,:G5,:E5,:A5,:G5,:F5,:E5,:D5,:E5,:F5,:G5,:A5,:A5,:A5,:G5,:F5,:G5,:A5,:F5,:G5,:F5,:E5,:F5,:G5,:E5,:F5,:G5,:F5,:E5,:D5,:E5,:D5,:D5,:D5]
b1=[1.5,0.5,1.0,1.0,2.0,1.0,1.0,1.5,0.5,1.0,1.0,2.0,2.0,1.5,0.5,1.0,1.0,1.5,0.5,1.0,1.0,1.0,0.5,0.5,0.5,0.5,1.0,2.0,2.0,1.5,0.5,1.0,1.0,2.0,1.0,1.0,1.5,0.5,1.0,1.0,2.0,2.0,1.5,0.5,1.0,1.0,1.5,0.5,1.0,1.0,1.0,0.5,0.5,0.5,0.5,1.0,2.0,2.0,1.5,0.5,0.5,0.5,0.5,0.5,1.0,0.5,0.5,0.5,0.5,0.5,0.5,1.5,0.5,0.5,0.5,0.5,0.5,2.0,2.0,1.5,0.5,0.5,0.5,0.5,0.5,1.5,0.5,0.5,0.5,0.5,0.5,1.0,0.5,0.5,0.5,0.5,1.0,2.0,2.0,1.5,0.5,0.5,0.5,0.5,0.5,1.0,0.5,0.5,0.5,0.5,0.5,0.5,1.5,0.5,0.5,0.5,0.5,0.5,2.0,2.0,1.5,0.5,0.5,0.5,0.5,0.5,1.5,0.5,0.5,0.5,0.5,0.5,1.0,0.5,0.5,0.5,0.5,1.0,2.0,2.0,4.0]
a2=[:A4,:A4,:A4,:C5,:C5,:C5,:A4,:A4,:F4,:G4,:A4,:A4,:E4,:E4,:A4,:G4,:A4,:A4,:C5,:C5,:A4,:A4,:Fs4,:Fs4,:A4,:A4,:A4,:C5,:C5,:C5,:A4,:A4,:F4,:G4,:A4,:A4,:E4,:E4,:A4,:G4,:A4,:A4,:C5,:C5,:A4,:A4,:Fs4,:Fs4,:C5,:A4,:G4,:G4,:A4,:B4,:C5,:D5,:A4,:A4,:D5,:Cs5,:Cs5,:F5,:E5,:D5,:C5,:D5,:E5,:D5,:C5,:D5,:E5,:C5,:A4,:A4,:Fs4,:Fs4,:C5,:A4,:G4,:G4,:A4,:B4,:C5,:D5,:A4,:A4,:D5,:Cs5,:Cs5,:F5,:E5,:D5,:C5,:D5,:E5,:D5,:C5,:D5,:E5,:C5,:A4,:A4,:Fs4,:Fs4,:Fs4]
b2=[2.0,1.0,1.0,2.0,1.0,1.0,1.5,0.5,0.5,0.5,1.0,1.0,1.0,2.0,1.5,0.5,1.0,1.0,3.0,1.0,3.0,1.0,2.0,2.0,2.0,1.0,1.0,2.0,1.0,1.0,1.5,0.5,0.5,0.5,1.0,1.0,1.0,2.0,1.5,0.5,1.0,1.0,3.0,1.0,3.0,1.0,2.0,2.0,3.0,1.0,1.0,0.5,0.5,1.0,1.0,1.0,1.0,1.0,1.0,2.0,2.0,1.5,0.25,0.25,1.5,0.5,1.5,0.5,0.5,0.5,0.5,0.5,2.0,2.0,2.0,2.0,3.0,1.0,1.0,0.5,0.5,1.0,1.0,1.0,1.0,1.0,1.0,2.0,2.0,1.5,0.25,0.25,1.5,0.5,1.5,0.5,0.5,0.5,0.5,0.5,2.0,2.0,2.0,2.0,4.0]
a3=[:F4,:F4,:F4,:G4,:G4,:G4,:F4,:F4,:D4,:E4,:F4,:E4,:D4,:Cs4,:D4,:G4,:F4,:F4,:G4,:F4,:E4,:E4,:D4,:E4,:F4,:E4,:D4,:Cs4,:D4,:D4,:F4,:F4,:F4,:G4,:G4,:G4,:F4,:F4,:D4,:E4,:F4,:E4,:D4,:Cs4,:D4,:G4,:F4,:F4,:G4,:F4,:E4,:E4,:D4,:E4,:F4,:E4,:D4,:Cs4,:D4,:D4,:C4,:F4,:C4,:D4,:E4,:E4,:E4,:F4,:F4,:E4,:D4,:E4,:E4,:F4,:G4,:A4,:G4,:F4,:E4,:F4,:G4,:G4,:F4,:E4,:D4,:Cs4,:B3,:Cs4,:D4,:D4,:C4,:F4,:C4,:D4,:E4,:E4,:E4,:F4,:F4,:E4,:D4,:E4,:E4,:F4,:G4,:A4,:G4,:F4,:E4,:F4,:G4,:G4,:F4,:E4,:D4,:Cs4,:B3,:Cs4,:D4,:D4,:D4]
b3=[2.0,1.0,1.0,2.0,1.0,1.0,1.5,0.5,0.5,0.5,1.0,1.5,0.5,2.0,1.5,0.5,1.0,1.0,1.5,0.5,1.0,1.0,1.0,0.5,0.5,0.5,0.5,1.0,2.0,2.0,2.0,1.0,1.0,2.0,1.0,1.0,1.5,0.5,0.5,0.5,1.0,1.5,0.5,2.0,1.5,0.5,1.0,1.0,1.5,0.5,1.0,1.0,1.0,0.5,0.5,0.5,0.5,1.0,2.0,2.0,1.0,2.0,0.5,0.5,2.0,1.0,1.0,2.0,0.5,0.5,1.0,2.0,2.0,1.5,0.5,0.5,0.5,1.0,1.5,0.5,1.5,0.5,1.0,0.5,0.5,0.5,0.5,1.0,2.0,2.0,1.0,2.0,0.5,0.5,2.0,1.0,1.0,2.0,0.5,0.5,1.0,2.0,2.0,1.5,0.5,0.5,0.5,1.0,1.5,0.5,1.5,0.5,1.0,0.5,0.5,0.5,0.5,1.0,2.0,2.0,4.0]
a4=[:A3,:D4,:D4,:G3,:G3,:E3,:A3,:A3,:A3,:A3,:A3,:A3,:C4,:A3,:D4,:G3,:G3,:C4,:F3,:A3,:A3,:A3,:A3,:A3,:D4,:D4,:G3,:G3,:E3,:A3,:A3,:A3,:A3,:A3,:A3,:C4,:A3,:D4,:G3,:G3,:C4,:F3,:A3,:A3,:A3,:A3,:A3,:C4,:A3,:B3,:A3,:G3,:C4,:A3,:A3,:A3,:A3,:C4,:A3,:C4,:D4,:E4,:D4,:A3,:A3,:A3,:A3,:A3,:C4,:A3,:B3,:A3,:G3,:C4,:A3,:A3,:A3,:A3,:C4,:A3,:C4,:D4,:E4,:D4,:A3,:A3,:A3,:A3,:A3]
b4=[2.0,1.0,1.0,2.0,1.0,1.0,2.0,1.0,1.0,2.0,2.0,1.5,0.5,1.0,1.0,2.0,1.0,1.0,1.0,1.0,2.0,2.0,2.0,2.0,1.0,1.0,2.0,1.0,1.0,2.0,1.0,1.0,2.0,2.0,1.5,0.5,1.0,1.0,2.0,1.0,1.0,1.0,1.0,2.0,2.0,2.0,1.5,0.5,2.0,1.5,0.5,1.0,1.0,3.0,1.0,2.0,2.0,3.0,1.0,1.5,0.5,2.0,1.0,1.0,2.0,2.0,2.0,1.5,0.5,2.0,1.5,0.5,1.0,1.0,3.0,1.0,2.0,2.0,3.0,1.0,1.5,0.5,2.0,1.0,1.0,2.0,2.0,2.0,4.0]
a5=[:D3,:D3,:D3,:C3,:C3,:C3,:D3,:D3,:D3,:A2,:A2,:F3,:E3,:D3,:D3,:C3,:C3,:D3,:A2,:D3,:D3,:D3,:D3,:D3,:C3,:C3,:C3,:D3,:D3,:D3,:A2,:A2,:F3,:E3,:D3,:D3,:C3,:C3,:D3,:A2,:D3,:D3,:F3,:F3,:E3,:E3,:D3,:D3,:A2,:A2,:F2,:F2,:C3,:C3,:D3,:A2,:D3,:D3,:F3,:F3,:E3,:E3,:D3,:D3,:A2,:A2,:F2,:F2,:C3,:C3,:D3,:A2,:D3,:D3,:D3]
b5=[2.0,1.0,1.0,2.0,1.0,1.0,2.0,1.0,1.0,2.0,2.0,1.5,0.5,1.0,1.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,1.0,1.0,2.0,1.0,1.0,2.0,1.0,1.0,2.0,2.0,1.5,0.5,1.0,1.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,4.0]
skip=true #miss last bar first time
2.times do
plarray(a1,b1,0.7,-0.3,skip)
plarray(a2,b2,0.7,0.3,skip)
plarray(a3,b3,0.8,-0.6,skip)
plarray(a4,b4,0.8,0.6,skip)
with_synth :dsaw do
plarray(a5,b5,0.7,0,skip)
end
percussion(skip)
sleep 32*4 #need sleep as parts played in threads: gives delay before repeat
skip=false #second time play last bar
end
end #reverb
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment