Skip to content

Instantly share code, notes, and snippets.

@jchuerva
Forked from rbnpi/ReadMe.md
Created June 4, 2023 12:21
Show Gist options
  • Save jchuerva/50ce5478f2ac9e6f0c9fc0f76c29b104 to your computer and use it in GitHub Desktop.
Save jchuerva/50ce5478f2ac9e6f0c9fc0f76c29b104 to your computer and use it in GitHub Desktop.
Beethoven Moonlight Sonata played by Sonic Pi. Uses Sonatina Symphonic Orchestra samples. See readme for availablilty. Video at https://youtu.be/8rdJ9wxGw5Y

The Sonic Pi file moonlightSonata-RF.rb which plays Beethoven's Moonlight Sonata 1st Movement requires the use of the Grand Piano samples from the Sonatina Symphonic Orchestra produced by Matthias Westlund.

Unfortunately this is no longer available from his website https://sso.mattiaswestlund.net/ However there is an alternative available at https://github.com/peastman/sso from where you can download the library. It is coverd by a https://creativecommons.org/licenses/sampling+/1.0/ Download and expand on your Desktop, or other suitable location and then set the link in the program at line 9 appropraitely for your installation.

The file should be run using the run_file "/path/to/file/location" command as it is too long to run from a Sonic Pi buffer.

An alternative version using the built in piano synth in Sonic Pi is included for comparison.

The system has been tested on a MAc running Sonic Pi 3.1 but should work on other platforms and with slightly earlier versions. Probably OK with 2.10, although not tested.

#moonlightSonata-local-RF.rb
#version using internal piano synth
#by Robin Newman, December 2019
#(better version uses samples from Sonatina Symphonic Orchestra)
#run using run_file "path/to/this/file"
use_synth :piano
use_bpm 49
use_synth_defaults amp: 0.5,hard: 0.45,vel: 0.18
with_fx :reverb,room: 0.6,mix: 0.6 do
a1=[:r,:r,:r,:r,:r,:r,:Af4,:Af4,:Af4,:Af4,:Af4,:Af4,:A4,:Af4,:Gf4,:Cf5,:Ff4,:r,:r,:r,:r,:G4,:G4,:G4,:G4,:G4,:G4,:Gf4,:Gf4,:G4,:Ff4,:Gf4,:Gf4,:r,:r,:Cf5,:C5,:Bf4,:Cf5,:Cf5,:C5,:Bf4,:Cf5,:Cf5,:Cf5,:A4,:G4,:Gf4,:Df4,:Df4,:Df4,:r,:r,:Df5,:Df5,:Df5,:Df5,:Df5,:Df5,:C5,:Df5,:Ef5,:Ef5,:Ff5,:Ef5,:Df5,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:Af4,:Af4,:Af4,:Af4,:Af4,:Af4,:A4,:Af4,:Gf4,:Cf5,:Ff4,:r,:r,:Cf5,:Cf5,:Cf5,:Cf5,:Cf5,:Cf5,:C5,:Df5,:Ef5,:Ff5,:D5,:C5,:Df5,:Df5,:D5,:C5,:Df5,:Df5,:D5,:C5,:Df5,:Df5,:Cf5,:Cf5,:A4,:A4,:Af4,:Af4,:Gf4,:Af4,:A4,:Af4,:Af4,:Df4,:r,:r,:Af2,:Af2,:Af2,:Af2,:Af2,:Af2,:Af2,:Af2,:Af2,:Af2,:Af2,:Af2,:Af2,:Af2,:Af2,:Af2,:Df3,:Af2,:r,:r,:r]
b1=[4.0,4.0,4.0,4.0,2.0,1.0,0.75,0.25,3.0,0.75,0.25,2.0,2.0,2.0,1.0,1.0,1.0,1.0,2.0,2.0,1.0,0.75,0.25,3.0,0.75,0.25,3.0,1.0,2.0,1.0,1.0,2.0,2.0,2.0,1.0,1.0,3.0,1.0,3.0,1.0,3.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,0.75,0.25,3.0,0.75,0.25,2.0,1.0,1.0,3.0,1.0,2.0,1.0,1.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,2.0,1.0,0.75,0.25,3.0,0.75,0.25,2.0,2.0,2.0,1.0,1.0,1.0,1.0,1.0,0.75,0.25,3.0,0.75,0.25,2.0,1.0,1.0,2.0,2.0,2.0,2.0,3.0,1.0,3.0,1.0,3.0,1.0,3.0,1.0,2.0,2.0,3.0,1.0,1.0,1.0,1.0,1.0,2.0,1.0,1.0,2.0,2.0,1.0,1.0,2.0,3.0,0.75,0.25,3.0,0.75,0.25,3.0,0.75,0.25,3.0,0.75,0.25,3.0,0.75,0.25,2.0,2.0,2.0,2.0,4.0,4.0]
in_thread do
for i in 0..a1.length-1
play a1[i],sustain: b1[i]*0.9#,release: b1[i][j]*0.1
sleep b1[i]
end
end
a2=[:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:Af2,:Af2,:Af2,:r,:r,:r,:r,:r,:r,:r,:r,:r]
b2=[4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,3.0,0.75,0.25,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0]
in_thread do
for i in 0..a2.length-1
play a2[i],sustain: b2[i]*0.9#,release: b2[i][j]*0.1
sleep b2[i]
end
end
a3=[:Af3,:Df4,:Ff4,:Af3,:Df4,:Ff4,:Af3,:Df4,:Ff4,:Af3,:Df4,:Ff4,:Af3,:Df4,:Ff4,:Af3,:Df4,:Ff4,:Af3,:Df4,:Ff4,:Af3,:Df4,:Ff4,:A3,:Df4,:Ff4,:A3,:Df4,:Ff4,:A3,:D4,:Gf4,:A3,:D4,:Gf4,:Af3,:C4,:Gf4,:Af3,:Df4,:Ff4,:Af3,:Df4,:Ef4,:Gf3,:C4,:Ef4,:Ff3,:Af3,:Df4,:Af3,:Df4,:Ff4,:Af3,:Df4,:Ff4,:Af3,:Df4,:Ff4,:Af3,:Ef4,:Gf4,:Af3,:Ef4,:Gf4,:Af3,:Ef4,:Gf4,:Af3,:Ef4,:Gf4,:Af3,:Df4,:Ff4,:Af3,:Df4,:Ff4,:A3,:Df4,:Gf4,:A3,:Df4,:Gf4,:Af3,:Cf4,:Ff4,:Af3,:Cf4,:Ff4,:A3,:Cf4,:Ef4,:A3,:Cf4,:Ef4,:Af3,:Cf4,:Ff4,:Af3,:Cf4,:Ff4,:Af3,:Cf4,:Ff4,:Af3,:Cf4,:Ff4,:G3,:Cf4,:Ff4,:G3,:Cf4,:Ff4,:G3,:Cf4,:Ff4,:G3,:Cf4,:Ff4,:G3,:Cf4,:F4,:G3,:Cf4,:F4,:G3,:Cf4,:F4,:G3,:Cf4,:F4,:G3,:C4,:Ff4,:G3,:Cf4,:Ff4,:G3,:Df4,:Ff4,:Gf3,:Df4,:Ff4,:Gf3,:Cf4,:D4,:Gf3,:Cf4,:D4,:G3,:Cf4,:Df4,:Ff3,:Cf4,:Df4,:Gf3,:Cf4,:D4,:Gf3,:Cf4,:D4,:Gf3,:Bf3,:Df4,:Gf3,:Bf3,:Df4,:Cf4,:D4,:Gf4,:Cf4,:D4,:Gf4,:Cf4,:Ef4,:Gf4,:Cf4,:Ef4,:Gf4,:Cf4,:Ff4,:G4,:Cf4,:Ff4,:G4,:Cf4,:Ff4,:G4,:Cf4,:Ff4,:G4,:Cf4,:Ef4,:Gf4,:Cf4,:Ef4,:Gf4,:Cf4,:Ef4,:Gf4,:Cf4,:Ef4,:Gf4,:Cf4,:Ff4,:G4,:Cf4,:Ff4,:G4,:Cf4,:Ff4,:G4,:Cf4,:Ff4,:G4,:Cf4,:Ef4,:Gf4,:Cf4,:Ef4,:Gf4,:Cf4,:D4,:F4,:Cf4,:D4,:F4,:Cf4,:Df4,:Af4,:Cf4,:Df4,:Af4,:A3,:Df4,:Gf4,:A3,:Df4,:Gf4,:G3,:Cf4,:D4,:G3,:Cf4,:D4,:Gf3,:A3,:Ef4,:Gf3,:A3,:Ef4,:Df3,:Gf3,:A3,:Df3,:Gf3,:A3,:Df3,:Gf3,:Af3,:Df3,:F3,:Af3,:Gf3,:A3,:Df4,:A3,:Df4,:Gf4,:Df4,:Gf4,:A4,:Df4,:Gf4,:A4,:Df4,:Af4,:Cf5,:Df4,:Af4,:Cf5,:Df4,:Af4,:Cf5,:Df4,:Af4,:Cf5,:Df4,:Gf4,:A4,:Df4,:Gf4,:A4,:C4,:Gf4,:A4,:Df4,:Gf4,:A4,:Ef4,:Gf4,:Af4,:Ef4,:Gf4,:Af4,:Ef4,:Gf4,:Af4,:Ef4,:Gf4,:Af4,:Ff4,:Af4,:Df5,:Ff4,:Af4,:Df5,:Ef4,:Gf4,:A4,:Df4,:Ff4,:Bf4,:r,:Af4,:A4,:Gf4,:r,:C4,:Ef4,:r,:C4,:Ef4,:r,:C4,:Ef4,:r,:C4,:Ef4,:r,:Df5,:Ff5,:Df5,:r,:Df4,:Ff4,:Df4,:Ef3,:A3,:Gf3,:C4,:A3,:Ef4,:C4,:Gf4,:Ef4,:A4,:Gf4,:C5,:Ff3,:Df4,:Af3,:Ff4,:Df4,:Af4,:Ff4,:Df5,:Af4,:Ff5,:Df5,:Af4,:Df4,:G4,:Ff4,:Bf4,:G4,:Df5,:Bf4,:Ff5,:Df5,:G5,:Ff5,:Bf5,:Gf4,:C5,:A4,:Ef5,:C5,:Gf5,:Ef5,:A5,:Gf5,:C6,:A5,:Ef6,:C6,:Gf5,:A5,:Ef5,:Gf5,:C5,:Ef5,:A4,:C5,:Gf4,:A4,:Ef4,:Gf4,:C4,:Ef4,:A3,:C4,:Gf3,:A3,[:Ef3,:Gf3],:r,:Gf3,:A3,:r,:Gf3,:Af3,:r,:r,:Gf3,:A3,:r,:Gf3,:A3,:r,:A3,:Af3,:Gf3,:r,:r,:A3,:Af3,:Gf3,:r,:Ef3,:A3,:Df4,:Ef3,:A3,:Df4,:Ef3,:Af3,:C4,:Ef3,:Gf3,:C4,:Ff3,:Af3,:Df4,:Af3,:Df4,:Ff4,:Af3,:Df4,:Ff4,:Af3,:Df4,:Ff4,:Af3,:Ef4,:Gf4,:Af3,:Ef4,:Gf4,:Af3,:Ef4,:Gf4,:Af3,:Ef4,:Gf4,:Af3,:Df4,:Ff4,:Af3,:Df4,:Ff4,:A3,:Df4,:Gf4,:A3,:Df4,:Gf4,:Af3,:Cf4,:Ff4,:Af3,:Cf4,:Ff4,:A3,:Cf4,:Ef4,:A3,:Cf4,:Ef4,:Af3,:Cf4,:Ff4,:Cf4,:Ff4,:Af4,:Cf4,:Ff4,:Af4,:Cf4,:Ff4,:Af4,:Cf4,:Gf4,:A4,:Cf4,:Gf4,:A4,:Cf4,:Gf4,:A4,:Cf4,:Gf4,:A4,:Cf4,:Ff4,:Af4,:Cf4,:Ff4,:Af4,:C4,:Gf4,:Af4,:Df4,:Ff4,:Af4,:Ef4,:Gf4,:Af4,:Ef4,:Gf4,:Af4,:Ff4,:Af4,:Df5,:Ff4,:Af4,:Df5,:D4,:Gf4,:A4,:D4,:Gf4,:A4,:C4,:Gf4,:Af4,:C4,:Gf4,:Af4,:Df4,:Ff4,:Af4,:Df4,:Ff4,:Af4,:Df4,:F4,:Af4,:Df4,:F4,:Af4,:Df4,:Gf4,:A4,:Df4,:Gf4,:A4,:Df4,:Gf4,:A4,:Df4,:Gf4,:A4,:Df4,:F4,:Af4,:Df4,:F4,:Af4,:Df4,:F4,:Af4,:Df4,:F4,:Af4,:Df4,:Gf4,:A4,:Df4,:Gf4,:A4,:Df4,:Gf4,:A4,:Df4,:Gf4,:A4,:Df4,:F4,:Af4,:Df4,:F4,:Af4,:Df4,:Gf4,:A4,:Df4,:Gf4,:A4,:Cf4,:Gf4,:A4,:Cf4,:Gf4,:A4,:Cf4,:Gf4,:A4,:Cf4,:Ff4,:Af4,:A3,:Ff4,:Af4,:A3,:Ef4,:Gf4,:Af3,:Ef4,:Gf4,:Af3,:Df4,:Ff4,:Gf3,:Df4,:Ef4,:Gf3,:Df4,:Ef4,:Af3,:Df4,:Ef4,:A3,:Df4,:Ef4,:Af3,:Df4,:Ff4,:Af3,:Df4,:Ff4,:Gf3,:C4,:Ef4,:Gf3,:C4,:Ef4,:Ff3,:Af3,:Df4,:Af3,:Df4,:Ff4,:Af3,:Df4,:Ff4,:Af3,:Df4,:Ff4,:Af3,:Ef4,:Gf4,:Af3,:Ef4,:Gf4,:Af3,:Ef4,:Gf4,:Af3,:Ef4,:Gf4,:Af3,:Ff4,:Df4,:Af4,:Ff4,:Df5,:Af4,:Ff5,:Df5,:Af5,:Ff5,:Df5,:C5,:Ef5,:A4,:C5,:Gf4,:A4,:Ef4,:Gf4,:A3,[:Ff3,:Df4],:Ff4,:Df4,:Af4,:Ff4,:Df5,:Af4,:Ff5,:Df5,:Af5,:Ff5,:Df5,:C5,:Ef5,:A4,:C5,:Gf4,:A4,:Ef4,:Gf4,:A3,[:Ff3,:Df4],:Af3,:Df4,:Ff4,:Df4,:Af3,:r,:Ff3,:Af3,:Df4,:Af3,:Ff3,:r,:Df3,:Ff3,:Af3,:Ff3,:Df3,:Af2,:Df3,:Af2,:Ff2,:Af2,:Ff2,:Df2,[:Ff3,:Af3,:Df4],[:Ff3,:Af3,:Df4]]
b3=[0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,1.0,1.0,1.0,1.0,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,1.0,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,1.0,0.33333334,0.33333334,0.33333334,2.0,1.0,0.33333334,0.33333334,0.33333334,2.0,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,1.3333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,1.3333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,2.0,2.0,4.0]
in_thread do
for i in 0..a3.length-1
play a3[i],sustain: b3[i]*0.9#,amp: 0.3,release: b3[i]*0.1
sleep b3[i]
end
end
a4=[:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:C5,:C4,:Ef4,:r,:C4,:Ef4,:r,:C4,:Ef4,:r,:C4,:Ef4,:r,:Af3,:A3,:Gf3,:Ff3,:Ff4,:Af4,:r,:Ff4,:Af4,:r,:Ff4,:Af4,:r,:Ff4,:Af4,:r,:Ff3,:Af3,:r,:Ff3,:Af3,:r,:Ff3,:Af3,:r,:Ff3,:Af3,:r,:r,:r,:r,:r,:r,:r,:Df3,:r,:A3,:Af3,:Gf3,:Ef3,:r,:r,:Gf3,:Af3,:r,:r,:Gf3,:A3,:r,:Gf3,:A3,:r,:Gf3,:Af3,:r,:Df3,:Ff3,:Df4,:Df3,:Ff3,:Df4,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:C4,:r,:r,:r,:C4,:r,:r,:r,:r]
b4=[4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,1.0,1.0,1.0,1.0,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,4.0,4.0,4.0,4.0,4.0,2.0,1.0,1.0,1.0,0.33333334,0.33333334,0.33333334,1.0,1.0,0.33333334,0.33333334,0.33333334,1.0,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,1.0,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,2.0,1.0,1.0,4.0,2.0,1.0,1.0,4.0,4.0,4.0,4.0]
in_thread do
for i in 0..a4.length-1
play a4[i],sustain: b4[i]*0.9#
sleep b4[i]
end
end
a5=[:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:C3,:r,:Df3,:C3,:D3,:Df3,:C3,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:Af3,:Gf3,:r,:r,:r,:r,:Af3,:Gf3,:r,:r,:r,:r]
b5=[4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,2.0,1.0,1.0,2.0,1.0,1.0,2.0,2.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,2.0,1.0,0.33333334,0.33333334,0.33333334,4.0,2.0,1.0,0.33333334,0.33333334,0.33333334,4.0,4.0,4.0,4.0]
in_thread do
for i in 0..a5.length-1
play a5[i],sustain: b5[i]*0.9#ß ,release: b5[i]*0.1
sleep b5[i]
end
end
a6=[:Df3,:Cf3,:A2,:Gf2,:Af2,:Af2,[:Af2,:Df3],[:Af2,:C3],:Df3,:Gf2,:Cf3,:Cf3,:Ff3,:Ff3,:D3,:C3,:Cf3,:Bf2,:Cf3,:Ff2,:G2,:Gf2,:Gf2,:Cf3,:Ff3,:G3,:Ff3,:Cf3,:Ff3,:G3,:Ff3,:Cf3,:Af2,:F2,:Gf2,:Cf3,:C3,:Df2,:Df2,[:Df2,:Gf2],[:Df3,:F3],:Gf3,:Ef3,:Df3,[:Af2,:C3],[:Af2,:C3],[:Af2,:Df3],:Gf2,:G2,:Af2,:Af2,:Af2,:Af2,:Af2,:Af2,:Af2,:Af2,:Af2,:Af2,:Af2,:A2,:Gf2,:Af2,[:Af2,:Df3],[:Af2,:C3],:Df3,:Gf2,:Cf3,:Cf3,:Ff3,:Ef3,:Ff3,:Ef3,:Df3,[:Af2,:C3],[:Af2,:Df3],:Gf2,:Af2,:Df3,:Gf3,:A3,:Gf3,:Df3,:Gf3,:A3,:Gf3,:Df3,:Gf2,:Ef3,:Ff3,:Df3,:Ef3,:C3,:Df3,:A2,:Af2,:Gf2,:Af2,:Af2,:Df2,:C2,:Df2,:Af1,:Df2,:Af1,:Df2,:r,:r,[:Af2,:Df3],[:Af2,:Df3]]
b6=[4.0,4.0,2.0,2.0,2.0,2.0,4.0,4.0,2.0,2.0,2.0,2.0,4.0,4.0,4.0,1.0,1.0,2.0,2.0,1.0,1.0,2.0,2.0,5.0,1.0,1.0,1.0,5.0,1.0,1.0,1.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,4.0,4.0,2.0,1.0,1.0,3.0,1.0,2.0,1.0,1.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,12.0,4.0,4.0,2.0,2.0,2.0,2.0,4.0,4.0,2.0,2.0,2.0,2.0,4.0,4.0,2.0,1.0,1.0,2.0,2.0,2.0,2.0,5.0,1.0,1.0,1.0,5.0,1.0,1.0,1.0,2.0,2.0,3.0,1.0,1.0,1.0,1.0,1.0,2.0,1.0,1.0,2.0,2.0,4.0,4.0,4.0,4.0,4.0,4.0,6.0,2.0,2.0,2.0,4.0]
in_thread do
for i in 0..a6.length-1
play a6[i],sustain: b6[i]*0.9#,release: b6[i]*0.1,amp: 0.7
sleep b6[i]
end
end
a7=[:Df2,:Cf2,:A1,:Gf1,:Af1,:Af1,:Df2,:C2,:Df2,:Gf1,:Cf2,:Cf2,:Ff2,:Ff2,:D2,:C2,:Cf2,:Bf1,:Cf2,:r,:r,:Gf2,[:Gf1,:Gf2],:Cf2,:Ff2,:G2,:Ff2,:Cf2,:Ff2,:G2,:Ff2,:Cf2,:Af1,:F1,:Gf1,:Cf2,:C2,:r,:r,:Gf1,:F2,:Gf2,:Ef2,:Df2,:C2,:C2,:Df2,:Gf1,:G1,:Af1,:Af1,:Af1,:Af1,:Af1,:Af1,:Af1,:Af1,:Af1,:Af1,:Af1,:A1,:Gf1,:Af1,:Df2,:C2,:Df2,:Gf1,:Cf2,:Cf2,:Ff2,:Ef2,:Ff2,:Ef2,:Df2,:C2,:Df2,:Gf1,:Af1,:Df2,:Gf2,:A2,:Gf2,:Df2,:Gf2,:A2,:Gf2,:Df2,:Gf1,:Ef2,:Ff2,:Df2,:Ef2,:C2,:Df2,:A1,:Af1,:Gf1,:Af1,:Af1,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:Df2,:Df2]
b7=[4.0,4.0,2.0,2.0,2.0,2.0,4.0,4.0,2.0,2.0,2.0,2.0,4.0,4.0,4.0,1.0,1.0,2.0,2.0,1.0,1.0,2.0,2.0,5.0,1.0,1.0,1.0,5.0,1.0,1.0,1.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,4.0,4.0,2.0,1.0,1.0,3.0,1.0,2.0,1.0,1.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,12.0,4.0,4.0,2.0,2.0,2.0,2.0,4.0,4.0,2.0,2.0,2.0,2.0,4.0,4.0,2.0,1.0,1.0,2.0,2.0,2.0,2.0,5.0,1.0,1.0,1.0,5.0,1.0,1.0,1.0,2.0,2.0,3.0,1.0,1.0,1.0,1.0,1.0,2.0,1.0,1.0,2.0,2.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,2.0,2.0,2.0,2.0,4.0]
in_thread do
for i in 0..a7.length-1
play a7[i],sustain: b7[i]*0.9#,release: b7[i]*0.1,amp: 0.7
sleep b7[i]
end
end
end #reverb
#moonlight_sonata-RF.rb
#coded by Robin Newman, December 2019, utilising Sonatina Symphonic Orchestra Samples
#plays on Sonic Pi 3.1
#play using run_file "path/to/this/file"all
#install SSO first (I did so on my Desktop see path below)
use_debug true
set :bpm,49
#path to library samples folder (including trailing /)
path="~/Desktop/Sonatina Symphonic Orchestra/Samples/"
#create array of instrument details
# each entry: name,folder name,sample prefix,offsetclass type,lowest note, highest note
voices=[
["Grand Piano","Grand Piano","piano-p-",0,:c1,:c8]]
uncomment do #can comment if samples loaded, to allow quick redefine of functions
killit = 0 #used to stop live_loop :t when all samples loaded
define :load do |i|
trigger=0
live_loop :t do
sleep 0.3
if trigger== 1
cue :start
end
stop if killit == 1 # stop when all samples loaded
end
load_samples path+voices[i][1],voices[i][2]
trigger=1
sync :start
end
for i in (0..0) do
load(i)
end
killit = 1 #stop live_loop :t
sleep 2
end
puts "The following voices from Sonatina Symphonic Library can be used:-"
voices.each_with_index do |n,i|
puts i.to_s,n[0]
end
puts voices.length.to_s+" voices"
#setup global variables
sampledir=""
sampleprefix=""
offsetclass=""
low=""
high=""
paths=""
#setup data for current inst
define :setup do |inst,path|
sampledir=voices.assoc(inst)[1]
sampleprefix=voices.assoc(inst)[2]
offsetclass=voices.assoc(inst)[3]
low=voices.assoc(inst)[4]
high=voices.assoc(inst)[5]
#amend path for instrument sampledir
paths=path+sampledir+"/"
end
sleep 0.2
#define routine to play sample using Sonatina data
define :pl do |np,d,inst,vol=1,s=0.9,r=0.1,tp=0,pan=0| #nv,d,offsetclass,vol,s,r,tp,pan
m=60.0/current_bpm #missing scaling factor
setup(inst,path)
#check if note in range of supplied samples
#use lowest/highest sample for out of range
change=0 #used to give rpitch for coverage outside range
frac=0
n=np+tp #note allowing for transposition
if n.is_a?(Numeric) #allow frac tp or np
frac=n-n.to_i
n=n.to_i
end
if note(np)+tp<note(low) #calc adjustment for low note
change=note(np).to_i+tp-note(low)
n=note(low)
end
if note(np).to_i+tp > note(high) #calc adjustment for high note
change = note(np).to_i+tp-note(high)
n=note(high)
end
if change < -5 or change > 5 #set allowable out of range
#if outside print messsage
puts 'inst: '+inst+' note '+np.to_s+' with transpostion '+tp.to_s+' out of sample range'
else #otherwise calc and play it
#calculate base note and octave
base=note(n)%12
oc = note(n) #do in 2 stages because of alignment bug
oc=oc/12 -1
#find first part of sample note
slookup=['c','c#','d','d#','e','f','f#','g','g#','a','a#','b']
#lookup sample to use,and rpitch offset, according to offsetclass
case offsetclass
when 0
oc += 1 if base == 11 #adjust if sample needs next octave
snumber=[0,0,3,3,3,6,6,6,9,9,9,0]
offset=[ 0,1,-1,0,1,-1,0,1,-1,0,1,-1]
when 1
snumber=[1,1,1,4,4,4,7,7,7,10,10,10]
offset=[-1,0,1,-1,0,1,-1,0,1,-1,0,1]
when 2
oc -= 1 if base == 0 #adjust if sample needs previous octave
snumber=[11,2,2,2,5,5,5,8,8,8,11,11]
offset=[1,-1,0,1,-1,0,1,-1,0,1,-1,0]
when 3
snumber=[0,1,2,3,4,5,6,7,8,9,10,11] #this class has sample for every note
offset=[0,0,0,0,0,0,0,0,0,0,0,0]
end
#generate sample name
sname=sampleprefix+(slookup[snumber[base]]).to_s+oc.to_s
#play sample with appropriate rpitch value
sample paths,sname,rpitch: offset[base]+change+frac,sustain: s*d*m,release: r*d*m,pan: pan,amp: vol
end
end
#define function to play lists of linked samples/durations using Sonatina samples
define :plarray do |notes,durations,my_bpm,offsetclass,vol=1,s=0.9,r=1,tp=0,pan=0|
#puts offsetclass
notes.zip(durations).each do |n,d|
if n.respond_to?(:each)
n.each do |nv|
pl(nv,d*60.0/my_bpm,offsetclass,vol,s,r,tp,pan) if ![nil,:r,:rest].include? nv#allow for rests
end
else
pl(n,d*60.0/my_bpm,offsetclass,vol,s,r,tp,pan) if ![nil,:r,:rest].include? n#allow for rests
end
sleep d*60.0/my_bpm
end
end
with_fx :reverb,room: 0.4,mix: 0.5 do
with_fx :level,amp: 2 do
uncomment do
a1=[:r,:r,:r,:r,:r,:r,:Af4,:Af4,:Af4,:Af4,:Af4,:Af4,:A4,:Af4,:Gf4,:Cf5,:Ff4,:r,:r,:r,:r,:G4,:G4,:G4,:G4,:G4,:G4,:Gf4,:Gf4,:G4,:Ff4,:Gf4,:Gf4,:r,:r,:Cf5,:C5,:Bf4,:Cf5,:Cf5,:C5,:Bf4,:Cf5,:Cf5,:Cf5,:A4,:G4,:Gf4,:Df4,:Df4,:Df4,:r,:r,:Df5,:Df5,:Df5,:Df5,:Df5,:Df5,:C5,:Df5,:Ef5,:Ef5,:Ff5,:Ef5,:Df5,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:Af4,:Af4,:Af4,:Af4,:Af4,:Af4,:A4,:Af4,:Gf4,:Cf5,:Ff4,:r,:r,:Cf5,:Cf5,:Cf5,:Cf5,:Cf5,:Cf5,:C5,:Df5,:Ef5,:Ff5,:D5,:C5,:Df5,:Df5,:D5,:C5,:Df5,:Df5,:D5,:C5,:Df5,:Df5,:Cf5,:Cf5,:A4,:A4,:Af4,:Af4,:Gf4,:Af4,:A4,:Af4,:Af4,:Df4,:r,:r,:Af2,:Af2,:Af2,:Af2,:Af2,:Af2,:Af2,:Af2,:Af2,:Af2,:Af2,:Af2,:Af2,:Af2,:Af2,:Af2,:Df3,:Af2,:r,:r,:r]
b1=[4.0,4.0,4.0,4.0,2.0,1.0,0.75,0.25,3.0,0.75,0.25,2.0,2.0,2.0,1.0,1.0,1.0,1.0,2.0,2.0,1.0,0.75,0.25,3.0,0.75,0.25,3.0,1.0,2.0,1.0,1.0,2.0,2.0,2.0,1.0,1.0,3.0,1.0,3.0,1.0,3.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,0.75,0.25,3.0,0.75,0.25,2.0,1.0,1.0,3.0,1.0,2.0,1.0,1.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,2.0,1.0,0.75,0.25,3.0,0.75,0.25,2.0,2.0,2.0,1.0,1.0,1.0,1.0,1.0,0.75,0.25,3.0,0.75,0.25,2.0,1.0,1.0,2.0,2.0,2.0,2.0,3.0,1.0,3.0,1.0,3.0,1.0,3.0,1.0,2.0,2.0,3.0,1.0,1.0,1.0,1.0,1.0,2.0,1.0,1.0,2.0,2.0,1.0,1.0,2.0,3.0,0.75,0.25,3.0,0.75,0.25,3.0,0.75,0.25,3.0,0.75,0.25,3.0,0.75,0.25,2.0,2.0,2.0,2.0,4.0,4.0]
in_thread do
plarray(a1,b1,get(:bpm),"Grand Piano",0.6,0.9,1,0,0.5) #|notes,durations,my_bpm,offsetclass,vol=1,s=0.9,r=1,tp=0,pan=0|
end
a2=[:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:Gf3,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:Af2,:Af2,:Af2,:r,:r,:r,:r,:r,:r,:r,:r,:r]
b2=[4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,2.0,0.33333334,0.33333334,0.33333334,1.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,3.0,0.75,0.25,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0]
in_thread do
plarray(a2,b2,get(:bpm),"Grand Piano",1,0.9,1,0,0.3) #|notes,durations,my_bpm,offsetclass,vol=1,s=0.9,r=1,tp=0,pan=0|
end
end#comment1
a3=[:Af3,:Df4,:Ff4,:Af3,:Df4,:Ff4,:Af3,:Df4,:Ff4,:Af3,:Df4,:Ff4,:Af3,:Df4,:Ff4,:Af3,:Df4,:Ff4,:Af3,:Df4,:Ff4,:Af3,:Df4,:Ff4,:A3,:Df4,:Ff4,:A3,:Df4,:Ff4,:A3,:D4,:Gf4,:A3,:D4,:Gf4,:Af3,:C4,:Gf4,:Af3,:Df4,:Ff4,:Af3,:Df4,:Ef4,:Gf3,:C4,:Ef4,:Ff3,:Af3,:Df4,:Af3,:Df4,:Ff4,:Af3,:Df4,:Ff4,:Af3,:Df4,:Ff4,:Af3,:Ef4,:Gf4,:Af3,:Ef4,:Gf4,:Af3,:Ef4,:Gf4,:Af3,:Ef4,:Gf4,:Af3,:Df4,:Ff4,:Af3,:Df4,:Ff4,:A3,:Df4,:Gf4,:A3,:Df4,:Gf4,:Af3,:Cf4,:Ff4,:Af3,:Cf4,:Ff4,:A3,:Cf4,:Ef4,:A3,:Cf4,:Ef4,:Af3,:Cf4,:Ff4,:Af3,:Cf4,:Ff4,:Af3,:Cf4,:Ff4,:Af3,:Cf4,:Ff4,:G3,:Cf4,:Ff4,:G3,:Cf4,:Ff4,:G3,:Cf4,:Ff4,:G3,:Cf4,:Ff4,:G3,:Cf4,:F4,:G3,:Cf4,:F4,:G3,:Cf4,:F4,:G3,:Cf4,:F4,:G3,:C4,:Ff4,:G3,:Cf4,:Ff4,:G3,:Df4,:Ff4,:Gf3,:Df4,:Ff4,:Gf3,:Cf4,:D4,:Gf3,:Cf4,:D4,:G3,:Cf4,:Df4,:Ff3,:Cf4,:Df4,:Gf3,:Cf4,:D4,:Gf3,:Cf4,:D4,:Gf3,:Bf3,:Df4,:Gf3,:Bf3,:Df4,:Cf4,:D4,:Gf4,:Cf4,:D4,:Gf4,:Cf4,:Ef4,:Gf4,:Cf4,:Ef4,:Gf4,:Cf4,:Ff4,:G4,:Cf4,:Ff4,:G4,:Cf4,:Ff4,:G4,:Cf4,:Ff4,:G4,:Cf4,:Ef4,:Gf4,:Cf4,:Ef4,:Gf4,:Cf4,:Ef4,:Gf4,:Cf4,:Ef4,:Gf4,:Cf4,:Ff4,:G4,:Cf4,:Ff4,:G4,:Cf4,:Ff4,:G4,:Cf4,:Ff4,:G4,:Cf4,:Ef4,:Gf4,:Cf4,:Ef4,:Gf4,:Cf4,:D4,:F4,:Cf4,:D4,:F4,:Cf4,:Df4,:Af4,:Cf4,:Df4,:Af4,:A3,:Df4,:Gf4,:A3,:Df4,:Gf4,:G3,:Cf4,:D4,:G3,:Cf4,:D4,:Gf3,:A3,:Ef4,:Gf3,:A3,:Ef4,:Df3,:Gf3,:A3,:Df3,:Gf3,:A3,:Df3,:Gf3,:Af3,:Df3,:F3,:Af3,:Gf3,:A3,:Df4,:A3,:Df4,:Gf4,:Df4,:Gf4,:A4,:Df4,:Gf4,:A4,:Df4,:Af4,:Cf5,:Df4,:Af4,:Cf5,:Df4,:Af4,:Cf5,:Df4,:Af4,:Cf5,:Df4,:Gf4,:A4,:Df4,:Gf4,:A4,:C4,:Gf4,:A4,:Df4,:Gf4,:A4,:Ef4,:Gf4,:Af4,:Ef4,:Gf4,:Af4,:Ef4,:Gf4,:Af4,:Ef4,:Gf4,:Af4,:Ff4,:Af4,:Df5,:Ff4,:Af4,:Df5,:Ef4,:Gf4,:A4,:Df4,:Ff4,:Bf4,:r,:Af4,:A4,:Gf4,:r,:C4,:Ef4,:r,:C4,:Ef4,:r,:C4,:Ef4,:r,:C4,:Ef4,:r,:Df5,:Ff5,:Df5,:r,:Df4,:Ff4,:Df4,:Ef3,:A3,:Gf3,:C4,:A3,:Ef4,:C4,:Gf4,:Ef4,:A4,:Gf4,:C5,:Ff3,:Df4,:Af3,:Ff4,:Df4,:Af4,:Ff4,:Df5,:Af4,:Ff5,:Df5,:Af4,:Df4,:G4,:Ff4,:Bf4,:G4,:Df5,:Bf4,:Ff5,:Df5,:G5,:Ff5,:Bf5,:Gf4,:C5,:A4,:Ef5,:C5,:Gf5,:Ef5,:A5,:Gf5,:C6,:A5,:Ef6,:C6,:Gf5,:A5,:Ef5,:Gf5,:C5,:Ef5,:A4,:C5,:Gf4,:A4,:Ef4,:Gf4,:C4,:Ef4,:A3,:C4,:Gf3,:A3,:Ef3,:r,:Gf3,:A3,:r,:Gf3,:Af3,:r,:r,:Gf3,:A3,:r,:Gf3,:A3,:r,:A3,:Af3,:Gf3,:r,:r,:A3,:Af3,:Gf3,:r,:Ef3,:A3,:Df4,:Ef3,:A3,:Df4,:Ef3,:Af3,:C4,:Ef3,:Gf3,:C4,:Ff3,:Af3,:Df4,:Af3,:Df4,:Ff4,:Af3,:Df4,:Ff4,:Af3,:Df4,:Ff4,:Af3,:Ef4,:Gf4,:Af3,:Ef4,:Gf4,:Af3,:Ef4,:Gf4,:Af3,:Ef4,:Gf4,:Af3,:Df4,:Ff4,:Af3,:Df4,:Ff4,:A3,:Df4,:Gf4,:A3,:Df4,:Gf4,:Af3,:Cf4,:Ff4,:Af3,:Cf4,:Ff4,:A3,:Cf4,:Ef4,:A3,:Cf4,:Ef4,:Af3,:Cf4,:Ff4,:Cf4,:Ff4,:Af4,:Cf4,:Ff4,:Af4,:Cf4,:Ff4,:Af4,:Cf4,:Gf4,:A4,:Cf4,:Gf4,:A4,:Cf4,:Gf4,:A4,:Cf4,:Gf4,:A4,:Cf4,:Ff4,:Af4,:Cf4,:Ff4,:Af4,:C4,:Gf4,:Af4,:Df4,:Ff4,:Af4,:Ef4,:Gf4,:Af4,:Ef4,:Gf4,:Af4,:Ff4,:Af4,:Df5,:Ff4,:Af4,:Df5,:D4,:Gf4,:A4,:D4,:Gf4,:A4,:C4,:Gf4,:Af4,:C4,:Gf4,:Af4,:Df4,:Ff4,:Af4,:Df4,:Ff4,:Af4,:Df4,:F4,:Af4,:Df4,:F4,:Af4,:Df4,:Gf4,:A4,:Df4,:Gf4,:A4,:Df4,:Gf4,:A4,:Df4,:Gf4,:A4,:Df4,:F4,:Af4,:Df4,:F4,:Af4,:Df4,:F4,:Af4,:Df4,:F4,:Af4,:Df4,:Gf4,:A4,:Df4,:Gf4,:A4,:Df4,:Gf4,:A4,:Df4,:Gf4,:A4,:Df4,:F4,:Af4,:Df4,:F4,:Af4,:Df4,:Gf4,:A4,:Df4,:Gf4,:A4,:Cf4,:Gf4,:A4,:Cf4,:Gf4,:A4,:Cf4,:Gf4,:A4,:Cf4,:Ff4,:Af4,:A3,:Ff4,:Af4,:A3,:Ef4,:Gf4,:Af3,:Ef4,:Gf4,:Af3,:Df4,:Ff4,:Gf3,:Df4,:Ef4,:Gf3,:Df4,:Ef4,:Af3,:Df4,:Ef4,:A3,:Df4,:Ef4,:Af3,:Df4,:Ff4,:Af3,:Df4,:Ff4,:Gf3,:C4,:Ef4,:Gf3,:C4,:Ef4,:Ff3,:Af3,:Df4,:Af3,:Df4,:Ff4,:Af3,:Df4,:Ff4,:Af3,:Df4,:Ff4,:Af3,:Ef4,:Gf4,:Af3,:Ef4,:Gf4,:Af3,:Ef4,:Gf4,:Af3,:Ef4,:Gf4,:Af3,:Ff4,:Df4,:Af4,:Ff4,:Df5,:Af4,:Ff5,:Df5,:Af5,:Ff5,:Df5,:C5,:Ef5,:A4,:C5,:Gf4,:A4,:Ef4,:Gf4,:A3,[:Ff3,:Df4],:Ff4,:Df4,:Af4,:Ff4,:Df5,:Af4,:Ff5,:Df5,:Af5,:Ff5,:Df5,:C5,:Ef5,:A4,:C5,:Gf4,:A4,:Ef4,:Gf4,:A3,[:Ff3,:Df4],:Af3,:Df4,:Ff4,:Df4,:Af3,:r,:Ff3,:Af3,:Df4,:Af3,:Ff3,:r,:Df3,:Ff3,:Af3,:Ff3,:Df3,:Af2,:Df3,:Af2,:Ff2,:Af2,:Ff2,:Df2,[:Ff3,:Af3,:Df4],[:Ff3,:Af3,:Df4]]
b3=[0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,1.0,1.0,1.0,1.0,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.6666667,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,1.0,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,1.0,0.33333334,0.33333334,0.33333334,2.0,1.0,0.33333334,0.33333334,0.33333334,2.0,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,1.3333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,1.3333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,2.0,2.0,4.0]
in_thread do
plarray(a3,b3,get(:bpm),"Grand Piano",0.3,0.9,1,0,0.3) #|notes,durations,my_bpm,offsetclass,vol=1,s=0.9,r=1,tp=0,pan=0|
end
uncomment do
a4=[:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:C5,:C4,:Ef4,:r,:C4,:Ef4,:r,:C4,:Ef4,:r,:C4,:Ef4,:r,:Af3,:A3,:Gf3,:Ff3,:Ff4,:Af4,:r,:Ff4,:Af4,:r,:Ff4,:Af4,:r,:Ff4,:Af4,:r,:Ff3,:Af3,:r,:Ff3,:Af3,:r,:Ff3,:Af3,:r,:Ff3,:Af3,:r,:r,:r,:r,:r,:r,:r,:Df3,:r,:A3,:Af3,:Gf3,:Ef3,:r,:r,:Gf3,:Af3,:r,:r,:Gf3,:A3,:r,:Gf3,:A3,:r,:Gf3,:Af3,:r,:Df3,:Ff3,:Df4,:Df3,:Ff3,:Df4,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:C4,:r,:r,:r,:C4,:r,:r,:r,:r]
b4=[4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,1.0,1.0,1.0,1.0,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,4.0,4.0,4.0,4.0,4.0,2.0,1.0,1.0,1.0,0.33333334,0.33333334,0.33333334,1.0,1.0,0.33333334,0.33333334,0.33333334,1.0,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,1.0,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,0.33333334,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,2.0,1.0,1.0,4.0,2.0,1.0,1.0,4.0,4.0,4.0,4.0]
in_thread do
plarray(a4,b4,get(:bpm),"Grand Piano",0.3,0.9,1,0,0.3) #|notes,durations,my_bpm,offsetclass,vol=1,s=0.9,r=1,tp=0,pan=0|
end
a5=[:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:C3,:r,:Df3,:C3,:D3,:Df3,:C3,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:Af3,:Gf3,:r,:r,:r,:r,:Af3,:Gf3,:r,:r,:r,:r]
b5=[4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,2.0,1.0,1.0,2.0,1.0,1.0,2.0,2.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,2.0,1.0,0.33333334,0.33333334,0.33333334,4.0,2.0,1.0,0.33333334,0.33333334,0.33333334,4.0,4.0,4.0,4.0]
in_thread do
plarray(a5,b5,get(:bpm),"Grand Piano",0.3,0.9,1,0,0.3) #|notes,durations,my_bpm,offsetclass,vol=1,s=0.9,r=1,tp=0,pan=0|
end
a6=[:Df3,:Cf3,:A2,:Gf2,:Af2,:Af2,[:Af2,:Df3],[:Af2,:C3],:Df3,:Gf2,:Cf3,:Cf3,:Ff3,:Ff3,:D3,:C3,:Cf3,:Bf2,:Cf3,:Ff2,:G2,:Gf2,:Gf2,:Cf3,:Ff3,:G3,:Ff3,:Cf3,:Ff3,:G3,:Ff3,:Cf3,:Af2,:F2,:Gf2,:Cf3,:C3,:Df2,:Df2,[:Df2,:Gf2],[:Df3,:F3],:Gf3,:Ef3,:Df3,[:Af2,:C3],[:Af2,:C3],[:Af2,:Df3],:Gf2,:G2,:Af2,:Af2,:Af2,:Af2,:Af2,:Af2,:Af2,:Af2,:Af2,:Af2,:Af2,:A2,:Gf2,:Af2,[:Af2,:Df3],[:Af2,:C3],:Df3,:Gf2,:Cf3,:Cf3,:Ff3,:Ef3,:Ff3,:Ef3,:Df3,[:Af2,:C3],[:Af2,:Df3],:Gf2,:Af2,:Df3,:Gf3,:A3,:Gf3,:Df3,:Gf3,:A3,:Gf3,:Df3,:Gf2,:Ef3,:Ff3,:Df3,:Ef3,:C3,:Df3,:A2,:Af2,:Gf2,:Af2,:Af2,:Df2,:C2,:Df2,:Af1,:Df2,:Af1,:Df2,:r,:r,[:Af2,:Df3],[:Af2,:Df3]]
b6=[4.0,4.0,2.0,2.0,2.0,2.0,4.0,4.0,2.0,2.0,2.0,2.0,4.0,4.0,4.0,1.0,1.0,2.0,2.0,1.0,1.0,2.0,2.0,5.0,1.0,1.0,1.0,5.0,1.0,1.0,1.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,4.0,4.0,2.0,1.0,1.0,3.0,1.0,2.0,1.0,1.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,12.0,4.0,4.0,2.0,2.0,2.0,2.0,4.0,4.0,2.0,2.0,2.0,2.0,4.0,4.0,2.0,1.0,1.0,2.0,2.0,2.0,2.0,5.0,1.0,1.0,1.0,5.0,1.0,1.0,1.0,2.0,2.0,3.0,1.0,1.0,1.0,1.0,1.0,2.0,1.0,1.0,2.0,2.0,4.0,4.0,4.0,4.0,4.0,4.0,6.0,2.0,2.0,2.0,4.0]
in_thread do
plarray(a6,b6,get(:bpm),"Grand Piano",0.4,0.9,1,0,-0.3) #|notes,durations,my_bpm,offsetclass,vol=1,s=0.9,r=1,tp=0,pan=0|
end
a7=[:Df2,:Cf2,:A1,:Gf1,:Af1,:Af1,:Df2,:C2,:Df2,:Gf1,:Cf2,:Cf2,:Ff2,:Ff2,:D2,:C2,:Cf2,:Bf1,:Cf2,:r,:r,:Gf2,[:Gf1,:Gf2],:Cf2,:Ff2,:G2,:Ff2,:Cf2,:Ff2,:G2,:Ff2,:Cf2,:Af1,:F1,:Gf1,:Cf2,:C2,:r,:r,:Gf1,:F2,:Gf2,:Ef2,:Df2,:C2,:C2,:Df2,:Gf1,:G1,:Af1,:Af1,:Af1,:Af1,:Af1,:Af1,:Af1,:Af1,:Af1,:Af1,:Af1,:A1,:Gf1,:Af1,:Df2,:C2,:Df2,:Gf1,:Cf2,:Cf2,:Ff2,:Ef2,:Ff2,:Ef2,:Df2,:C2,:Df2,:Gf1,:Af1,:Df2,:Gf2,:A2,:Gf2,:Df2,:Gf2,:A2,:Gf2,:Df2,:Gf1,:Ef2,:Ff2,:Df2,:Ef2,:C2,:Df2,:A1,:Af1,:Gf1,:Af1,:Af1,:r,:r,:r,:r,:r,:r,:r,:r,:r,:r,:Df2,:Df2]
b7=[4.0,4.0,2.0,2.0,2.0,2.0,4.0,4.0,2.0,2.0,2.0,2.0,4.0,4.0,4.0,1.0,1.0,2.0,2.0,1.0,1.0,2.0,2.0,5.0,1.0,1.0,1.0,5.0,1.0,1.0,1.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,4.0,4.0,2.0,1.0,1.0,3.0,1.0,2.0,1.0,1.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,12.0,4.0,4.0,2.0,2.0,2.0,2.0,4.0,4.0,2.0,2.0,2.0,2.0,4.0,4.0,2.0,1.0,1.0,2.0,2.0,2.0,2.0,5.0,1.0,1.0,1.0,5.0,1.0,1.0,1.0,2.0,2.0,3.0,1.0,1.0,1.0,1.0,1.0,2.0,1.0,1.0,2.0,2.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,2.0,2.0,2.0,2.0,4.0]
in_thread do
plarray(a7,b7,get(:bpm),"Grand Piano",0.4,0.9,1,0,-0.3) #|notes,durations,my_bpm,offsetclass,vol=1,s=0.9,r=1,tp=0,pan=0|
end
end#comment
end#level
end #reverb
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment