|
#experimental program 3 to send notes to |
|
#SP running on a second computer, using OSC sync |
|
use_osc "localhost", 8000 |
|
sleep 1 #allow time to set up OSC channel |
|
use_synth :piano |
|
|
|
a1=[] |
|
b1=[] |
|
a1[0]=[:r,:E4,:G4,:B4,:G4,:E4,:E5,:B4,:E5,:Ef5,:B4,:Ef5,:Fs5,:Ef5,:B4,:B5,:Fs5,:B5,:G5,:Fs5,:E5,:D5,:C5,:B4,:A4,:C5,:E5,:G5,:Fs5,:E5,:Fs5,:E5,:D5,:C5,:B4,:A4,:G4,:B4,:D5,:F5,:E5,:D5,:E5,:Fs5,:E5,:Fs5,:G5,:D5,:C5,:D5,:r,:G5,:Fs5,:G5,:Fs5,:G5,:A5,:B5,:C6,:r,:B5,:A5,:B5,:A5,:G5,:A5,:C5,:B4,:G5,:Fs5,:G5,:Fs5,:E5,:Fs5,:A4,:G4,:E5,:Fs5,:E5,:D5,:Cs5,:Fs5,:G5,:Fs5,:E5,:D5,:Cs5,:E5,:D5,:Cs5,:B4,:Bf4,:B4,:A4,:B4,:r,:E4,:G4,:B4,:G4,:E4,:E5,:B4,:E5,:Ds5,:B4,:Ds5,:Fs5,:Ds5,:B4,:B5,:Fs5,:B5,:G5,:Fs5,:E5,:D5,:C5,:B4,:A4,:C5,:E5,:G5,:Fs5,:E5,:Fs5,:E5,:D5,:C5,:B4,:A4,:G4,:B4,:D5,:F5,:E5,:D5,:E5,:Fs5,:E5,:Fs5,:G5,:D5,:C5,:D5,:r,:G5,:Fs5,:G5,:Fs5,:G5,:A5,:B5,:C6,:r,:B5,:A5,:B5,:A5,:G5,:A5,:C5,:B4,:G5,:Fs5,:G5,:Fs5,:E5,:Fs5,:A4,:G4,:E5,:Fs5,:E5,:D5,:Cs5,:Fs5,:G5,:Fs5,:E5,:D5,:Cs5,:E5,:D5,:Cs5,:B4,:Bf4,:B4,:A4,:B4,:r,:Ds4,:Fs4,:A4,:Fs4,:Ds4,:C5,:B4,:C5,:B4,:A4,:r,:Gs4,:B4,:D5,:B4,:Gs4,:F5,:E5,:F5,:E5,:D5,:r,:C5,:B4,:A4,:A5,:F5,:G5,:A5,:D5,:B4,:A4,:G4,:G5,:E5,:F5,:G5,:C5,:F5,:B4,:E5,:A4,:D5,:G4,:C5,:F4,:B4,:E4,:A4,:Gs4,:A4,:C5,:B4,:A4,:Gs4,:A4,:G4,:A4,:r,:r,:E4,:A4,:Gs4,:A4,:C5,:Fs4,:C5,:E4,:C5,:D4,:C5,:B4,:D4,:G4,:Fs4,:G4,:B4,:E4,:B4,:D4,:B4,:C4,:B4,:A4,:G4,:Fs4,:A4,:E4,:A4,:Ds4,:A4,:E4,:A4,:Fs4,:A4,:G4,:B4,:E5,:Ds5,:E5,:Fs5,:Ds5,:B4,:Cs5,:Ds5,:E5,:Fs5,:G5,:Fs5,:G5,:E5,:A5,:E5,:Fs5,:C5,:B4,:A4,:G4,:B4,:E5,:D5,:E5,:C5,:Fs5,:C5,:D5,:A4,:G4,:Fs4,:E4,:G4,:C5,:E4,:Ds4,:E4,:Fs4,:G4,:A4,:B4,:C5,:A4,:Fs5,:B4,:E5,:G5,:Fs5,:Ds5,:E5,:D5,:E5,:r,:Ds4,:Fs4,:A4,:Fs4,:Ds4,:C5,:B4,:C5,:B4,:A4,:r,:Gs4,:B4,:D5,:B4,:Gs4,:F5,:E5,:F5,:E5,:D5,:r,:C5,:B4,:A4,:A5,:F5,:G5,:A5,:D5,:B4,:A4,:G4,:G5,:E5,:F5,:G5,:C5,:F5,:B4,:E5,:A4,:D5,:G4,:C5,:F4,:B4,:E4,:A4,:Gs4,:A4,:C5,:B4,:A4,:Gs4,:A4,:G4,:A4,:r,:r,:E4,:A4,:Gs4,:A4,:C5,:Fs4,:C5,:E4,:C5,:D4,:C5,:B4,:D4,:G4,:Fs4,:G4,:B4,:E4,:B4,:D4,:B4,:C4,:B4,:A4,:G4,:Fs4,:A4,:E4,:A4,:Ds4,:A4,:E4,:A4,:Fs4,:A4,:G4,:B4,:E5,:Ds5,:E5,:Fs5,:Ds5,:B4,:Cs5,:Ds5,:E5,:Fs5,:G5,:Fs5,:G5,:E5,:A5,:E5,:Fs5,:C5,:B4,:A4,:G4,:B4,:E5,:D5,:E5,:C5,:Fs5,:C5,:D5,:A4,:G4,:Fs4,:E4,:G4,:C5,:E4,:Ds4,:E4,:Fs4,:G4,:A4,:B4,:C5,:A4,:Fs5,:B4,:E5,:G5,:Fs5,:Ds5,:E5,:D5,:E5] |
|
b1[0]=[0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.5,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.5,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.125,0.125,0.25,0.5,0.125,0.125,0.75,0.5,0.5,0.125,0.125,0.25,0.5,0.25,0.25,0.5,0.5,0.5,0.125,0.125,0.25,0.5,0.5,0.5,0.5,0.5,0.125,0.125,0.25,0.5,0.5,0.5,0.5,0.5,0.25,0.25,0.25,0.25,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.125,0.125,1.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.5,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.5,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.125,0.125,0.25,0.5,0.125,0.125,0.75,0.5,0.5,0.125,0.125,0.25,0.5,0.25,0.25,0.5,0.5,0.5,0.125,0.125,0.25,0.5,0.5,0.5,0.5,0.5,0.125,0.125,0.25,0.5,0.5,0.5,0.5,0.5,0.25,0.25,0.25,0.25,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.125,0.125,1.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.125,0.125,0.25,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.125,0.125,0.25,0.5,0.25,0.25,0.25,0.25,0.75,0.25,0.25,0.25,0.75,0.25,0.25,0.25,0.75,0.25,0.25,0.25,0.75,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.125,0.125,0.75,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.75,0.25,0.25,0.25,0.25,0.25,0.125,0.125,1.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.125,0.125,0.25,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.125,0.125,0.25,0.5,0.25,0.25,0.25,0.25,0.75,0.25,0.25,0.25,0.75,0.25,0.25,0.25,0.75,0.25,0.25,0.25,0.75,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.125,0.125,0.75,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.75,0.25,0.25,0.25,0.25,0.25,0.125,0.125,1.25] |
|
c1=[80] |
|
in_thread do |
|
for i in 0..a1.length-1 |
|
use_bpm c1[i] |
|
for j in 0..a1[i].length-1 |
|
play a1[i][j],sustain: b1[i][j]*0.9,release: b1[i][j]*0.1 |
|
sleep b1[i][j] |
|
end |
|
end |
|
end |
|
|
|
a2=[] |
|
b2=[] |
|
a2[0]=[:E3,:D3,:E3,:E2,:r,:r,:E3,:G3,:B3,:G3,:E3,:B3,:A3,:B3,:B2,:r,:r,:B3,:Ef4,:Fs4,:Ef4,:B3,:E4,:G4,:E4,:C4,:A3,:C4,:D4,:Fs4,:D4,:B3,:G3,:B3,:C4,:B3,:A3,:C4,:G3,:C4,:Fs3,:C4,:E3,:C4,:D3,:C4,:B3,:C4,:A3,:C4,:G3,:C4,:Fs3,:C4,:E3,:C4,:D3,:C4,:G3,:B3,:Fs3,:B3,:E3,:B3,:Fs3,:B3,:E3,:B3,:Ef3,:B3,:E3,:B3,:D3,:B3,:Cs3,:B3,:D3,:B3,:Cs3,:B3,:B2,:B3,:Cs3,:B3,:D3,:B3,:E3,:B3,:D3,:B3,:E3,:B3,:Fs3,:G3,:E3,:Fs3,:B2,:Ef3,:Fs3,:A3,:G3,:Fs3,:E3,:D3,:E3,:E2,:r,:r,:E3,:G3,:B3,:G3,:E3,:B3,:A3,:B3,:B2,:r,:r,:B3,:Ds4,:Fs4,:Ds4,:B3,:E4,:G4,:E4,:C4,:A3,:C4,:D4,:Fs4,:D4,:B3,:G3,:B3,:C4,:B3,:A3,:C4,:G3,:C4,:Fs3,:C4,:E3,:C4,:D3,:C4,:B3,:C4,:A3,:C4,:G3,:C4,:Fs3,:C4,:E3,:C4,:D3,:C4,:G3,:B3,:Fs3,:B3,:E3,:B3,:Fs3,:B3,:E3,:B3,:Ds3,:B3,:E3,:B3,:D3,:B3,:Cs3,:B3,:D3,:B3,:Cs3,:B3,:B2,:B3,:Cs3,:B3,:D3,:B3,:E3,:B3,:D3,:B3,:E3,:B3,:Fs3,:G3,:E3,:Fs3,:B2,:Fs3,:B3,:B3,:A3,:B3,:B2,:r,:r,:B2,:Ds3,:Fs3,:Ds3,:B2,:E3,:D3,:E3,:E2,:r,:r,:E3,:Gs3,:B3,:Gs3,:E3,:A3,:A2,:B2,:C3,:D3,:E3,:F3,:D3,:E3,:F3,:G3,:A3,:B3,:G3,:A3,:B3,:C4,:D4,:E4,:C4,:D4,:E4,:F4,:G4,:A4,:G4,:F4,:E4,:D4,:C4,:D4,:E4,:E3,:A3,:F3,:E3,:D3,:C3,:B2,:A2,:B2,:C3,:D3,:E3,:Fs3,:G2,:A2,:B2,:C3,:D3,:E3,:Fs2,:G2,:A2,:B2,:Cs3,:Ds3,:E3,:C3,:A2,:B2,:r,:B3,:Cs4,:Ds4,:E4,:D4,:E4,:D4,:C4,:D4,:Fs3,:E3,:C4,:B3,:C4,:B3,:A3,:B3,:D3,:C3,:A3,:B3,:A3,:G3,:Fs3,:E3,:Ds3,:E3,:Ds3,:Cs3,:B2,:E3,:G2,:B2,:E2,:B2,:E3,:Fs3,:G3,:A3,:B3,:A3,:B3,:B2,:r,:r,:B2,:Ds3,:Fs3,:Ds3,:B2,:E3,:D3,:E3,:E2,:r,:r,:E3,:Gs3,:B3,:Gs3,:E3,:A3,:A2,:B2,:C3,:D3,:E3,:F3,:D3,:E3,:F3,:G3,:A3,:B3,:G3,:A3,:B3,:C4,:D4,:E4,:C4,:D4,:E4,:F4,:G4,:A4,:G4,:F4,:E4,:D4,:C4,:D4,:E4,:E3,:A3,:F3,:E3,:D3,:C3,:B2,:A2,:B2,:C3,:D3,:E3,:Fs3,:G2,:A2,:B2,:C3,:D3,:E3,:Fs2,:G2,:A2,:B2,:Cs3,:Ds3,:E3,:C3,:A2,:B2,:r,:B3,:Cs4,:Ds4,:E4,:D4,:E4,:D4,:C4,:D4,:Fs3,:E3,:C4,:B3,:C4,:B3,:A3,:B3,:D3,:C3,:A3,:B3,:A3,:G3,:Fs3,:E3,:Ds3,:E3,:Ds3,:Cs3,:B2,:E3,:G2,:B2,:E2] |
|
b2[0]=[0.125,0.125,0.25,0.5,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.125,0.125,0.25,0.5,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.5,0.5,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.125,0.125,0.25,0.5,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.125,0.125,0.25,0.5,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.125,0.125,0.25,0.5,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.125,0.125,0.25,0.5,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.25,0.25,0.25,0.25,0.5,0.125,0.125,0.25,0.5,0.5,0.5,0.5,0.5,0.125,0.125,0.25,0.5,0.5,0.5,0.5,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.5,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.125,0.125,0.25,0.5,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.125,0.125,0.25,0.5,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.25,0.25,0.25,0.25,0.5,0.125,0.125,0.25,0.5,0.5,0.5,0.5,0.5,0.125,0.125,0.25,0.5,0.5,0.5,0.5,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.5,0.5,1.5] |
|
c2=[80] |
|
in_thread do |
|
for i in 0..a2.length-1 |
|
use_bpm c2[i] |
|
for j in 0..a2[i].length-1 |
|
osc "/waitforit", a2[i][j].to_s,b2[i][j],c2[i] |
|
sleep b2[i][j] |
|
end |
|
end |
|
end |
This is going to be fun to play around with. I think the readme has a couple errors in the code snippets, the second should probably be:
and the third should be:
(i.e. the osc address should start with a forward slash, not backslash, and the receiving end should use
sync
, notosc
.