Pavane in two parts (but not yet in Clarinet...) feedback welcome

As I wrote elsewhere, I’m interested in trying to eventually mimic Pavane (the classical piece by Faure) as a Clarinet Duo (with synth Clarinets), in part as a way of learning Sonic Pi (I learn best by setting goals and learning what I need to learn to achieve the goal). I managed to find the MIDI notes to Pavane (at 8notes.com) which I then fed into a javascript site (https://tonejs.github.io/Midi/) which converted the MIDI to tone.js friendly JSON – and I then wrote a crude Ruby program to convert that into function calls with parameters for note, duration, amp, and timing. The results are below.

The biggest challenge after all of the above, was figuring out the paradigm for triggering each note at the appropriate time, which I finally achieved by using a call to sleep (timing -vt) ahead of each play call.

Feedback welcome, especially if I overlooked some simpler way to handle the timing. This works, and was the simplest method I could think of.

This isn’t the entire piece, because it was too large for the buffer, and this is probably long enough for posting here anyway :slight_smile:

define :plnt do |n,dur,aamp,timing|
  use_synth :tri #:subpulse
  sleep timing - vt
  play n , attack: 0.1*dur,sustain: 0.8*dur,release: 0.1*dur, amp: aamp
  print timing
end

define :plnt2 do |n,dur,aamp,timing|
  use_synth :zawa
  sleep timing - vt
  play n , attack: 0.1*dur,sustain: 0.8*dur,release: 0.1*dur, amp: aamp*0.4
  print timing
end

in_thread do
  
  #    note   dur     amp     timing
  plnt 67.00, 1.3359, 0.5591, 3.0000
  plnt 69.00, 0.1904, 0.5591, 4.3125
  plnt 70.00, 1.3359, 0.6457, 4.5000
  plnt 72.00, 0.1904, 0.7008, 5.8125
  plnt 70.00, 0.3809, 0.5748, 6.0000
  plnt 69.00, 0.3809, 0.5512, 6.3750
  plnt 70.00, 0.3809, 0.6063, 6.7500
  plnt 67.00, 0.3809, 0.5276, 7.1250
  plnt 69.00, 1.3359, 0.6063, 7.5000
  plnt 70.00, 0.1904, 0.6535, 8.8125
  plnt 69.00, 0.3809, 0.5512, 9.0000
  plnt 67.00, 0.3809, 0.5039, 9.3750
  plnt 69.00, 0.3809, 0.6220, 9.7500
  plnt 65.00, 0.3809, 0.5512, 10.1250
  plnt 67.00, 1.3359, 0.5827, 10.5000
  plnt 66.00, 0.1904, 0.5118, 11.8125
  plnt 62.00, 2.8477, 0.5118, 12.0000
  plnt 74.00, 1.3359, 0.7323, 15.0000
  plnt 75.00, 0.1904, 0.7559, 16.3125
  plnt 77.00, 1.3359, 0.6378, 16.5000
  plnt 79.00, 0.1904, 0.6850, 17.8125
  plnt 77.00, 0.3809, 0.5669, 18.0000
  plnt 75.00, 0.3809, 0.5354, 18.3750
  plnt 77.00, 0.3809, 0.6535, 18.7500
  plnt 74.00, 0.3809, 0.5984, 19.1250
  plnt 75.00, 1.3359, 0.6299, 19.5000
  plnt 77.00, 0.1904, 0.6299, 20.8125
  plnt 75.00, 0.3809, 0.5984, 21.0000
  plnt 74.00, 0.3809, 0.5669, 21.3750
  plnt 75.00, 0.3809, 0.6142, 21.7500
  plnt 72.00, 0.3809, 0.5433, 22.1250
  plnt 74.00, 1.3359, 0.5984, 22.5000
  plnt 73.00, 0.1904, 0.5984, 23.8125
  plnt 74.00, 2.8477, 0.6378, 24.0000
  plnt 67.00, 1.3359, 0.4646, 27.0000
  plnt 69.00, 0.1904, 0.4724, 28.3125
  plnt 70.00, 1.3359, 0.6299, 28.5000
  plnt 72.00, 0.1904, 0.6457, 29.8125
  plnt 70.00, 0.3809, 0.5906, 30.0000
  plnt 69.00, 0.3809, 0.5669, 30.3750
  plnt 70.00, 0.3809, 0.6378, 30.7500
  plnt 67.00, 0.3809, 0.5984, 31.1250
  plnt 69.00, 1.3359, 0.6614, 31.5000
  plnt 70.00, 0.1904, 0.6772, 32.8125
  plnt 69.00, 0.3809, 0.6063, 33.0000
  plnt 67.00, 0.3809, 0.5354, 33.3750
  plnt 69.00, 0.3809, 0.6457, 33.7500
  plnt 65.00, 0.3809, 0.5748, 34.1250
  plnt 67.00, 1.3359, 0.6378, 34.5000
  plnt 66.00, 0.1904, 0.5984, 35.8125
  plnt 62.00, 2.8477, 0.5354, 36.0000
  plnt 70.00, 1.3125, 0.6850, 39.0000
  plnt 72.00, 0.1875, 0.7402, 40.3125
  plnt 74.00, 1.3125, 0.7402, 40.5000
  plnt 75.00, 0.1875, 0.8110, 41.8125
  plnt 74.00, 0.3750, 0.5906, 42.0000
  plnt 72.00, 0.3750, 0.5669, 42.3750
  plnt 74.00, 0.3750, 0.6614, 42.7500
  plnt 70.00, 0.3750, 0.5512, 43.1250
  plnt 72.00, 1.3125, 0.6693, 43.5000
  plnt 74.00, 0.1875, 0.6929, 44.8125
  plnt 70.00, 0.3750, 0.5827, 45.0000
  plnt 69.00, 0.3750, 0.5433, 45.3750
  plnt 70.00, 0.3750, 0.5827, 45.7500
  plnt 70.00, 0.3750, 0.5118, 46.1250
  plnt 70.00, 0.7500, 0.4961, 46.5000
  plnt 69.00, 0.7500, 0.3780, 47.2500
  plnt 67.00, 0.7500, 0.3543, 48.0000
end

in_thread do
  plnt2 55.00, 0.3750, 0.5512, 0.0000
  plnt2 58.00, 0.3750, 0.5827, 0.3750
  plnt2 62.00, 0.3750, 0.6614, 0.7500
  plnt2 58.00, 0.3750, 0.5748, 1.1250
  plnt2 55.00, 0.3750, 0.5748, 1.5000
  plnt2 58.00, 0.3750, 0.6063, 1.8750
  plnt2 62.00, 0.3750, 0.6614, 2.2500
  plnt2 58.00, 0.3750, 0.5591, 2.6250
  plnt2 55.00, 0.3750, 0.5433, 3.0000
  plnt2 58.00, 0.3750, 0.6378, 3.3750
  plnt2 62.00, 0.3750, 0.6614, 3.7500
  plnt2 58.00, 0.3750, 0.5591, 4.1250
  plnt2 51.00, 0.3750, 0.5276, 4.5000
  plnt2 62.00, 0.3750, 0.7165, 4.8750
  plnt2 67.00, 0.3750, 0.7087, 5.2500
  plnt2 62.00, 0.3750, 0.5039, 5.6250
  plnt2 53.00, 0.3750, 0.5197, 6.0000
  plnt2 60.00, 0.3750, 0.7008, 6.3750
  plnt2 65.00, 0.3750, 0.7165, 6.7500
  plnt2 60.00, 0.3750, 0.5433, 7.1250
  plnt2 50.00, 0.3750, 0.5039, 7.5000
  plnt2 60.00, 0.3750, 0.7638, 7.8750
  plnt2 65.00, 0.3750, 0.6850, 8.2500
  plnt2 60.00, 0.3750, 0.5591, 8.6250
  plnt2 51.00, 0.3750, 0.4961, 9.0000
  plnt2 58.00, 0.3750, 0.6457, 9.3750
  plnt2 63.00, 0.3750, 0.6772, 9.7500
  plnt2 58.00, 0.3750, 0.5512, 10.1250
  plnt2 60.00, 0.3750, 0.6850, 10.5000
  plnt2 70.00, 0.3750, 0.7402, 10.8750
  plnt2 75.00, 0.3750, 0.7008, 11.2500
  plnt2 70.00, 0.3750, 0.5827, 11.6250
  plnt2 62.00, 0.3750, 0.4724, 12.0000
  plnt2 69.00, 0.3750, 0.6850, 12.3750
  plnt2 78.00, 0.3750, 0.7638, 12.7500
  plnt2 69.00, 0.3750, 0.4961, 13.1250
  plnt2 60.00, 0.3750, 0.4724, 13.5000
  plnt2 69.00, 0.3750, 0.7008, 13.8750
  plnt2 78.00, 0.3750, 0.7402, 14.2500
  plnt2 69.00, 0.3750, 0.4882, 14.6250
  plnt2 58.00, 0.3750, 0.5039, 15.0000
  plnt2 67.00, 0.3750, 0.7323, 15.3750
  plnt2 62.00, 0.3750, 0.5591, 15.7500
  plnt2 67.00, 0.3750, 0.6535, 16.1250
  plnt2 55.00, 0.3750, 0.5512, 16.5000
  plnt2 62.00, 0.3750, 0.6850, 16.8750
  plnt2 58.00, 0.3750, 0.5827, 17.2500
  plnt2 62.00, 0.3750, 0.6535, 17.6250
  plnt2 60.00, 0.3750, 0.5827, 18.0000
  plnt2 67.00, 0.3750, 0.7087, 18.3750
  plnt2 58.00, 0.3750, 0.5827, 18.7500
  plnt2 67.00, 0.3750, 0.7323, 19.1250
  plnt2 53.00, 0.3750, 0.5118, 19.5000
  plnt2 60.00, 0.3750, 0.6772, 19.8750
  plnt2 56.00, 0.3750, 0.5984, 20.2500
  plnt2 60.00, 0.3750, 0.6772, 20.6250
  plnt2 58.00, 0.3750, 0.6299, 21.0000
  plnt2 65.00, 0.3750, 0.7008, 21.3750
  plnt2 56.00, 0.3750, 0.5984, 21.7500
  plnt2 65.00, 0.3750, 0.7008, 22.1250
  plnt2 51.00, 0.3750, 0.5354, 22.5000
  plnt2 63.00, 0.3750, 0.7638, 22.8750
  plnt2 57.00, 0.3750, 0.5984, 23.2500
  plnt2 63.00, 0.3750, 0.7087, 23.6250
  plnt2 50.00, 0.3750, 0.5591, 24.0000
  plnt2 57.00, 0.3750, 0.6299, 24.3750
  plnt2 62.00, 0.3750, 0.6929, 24.7500
  plnt2 63.00, 0.3750, 0.6457, 25.1250
  plnt2 60.00, 0.3750, 0.5748, 25.5000
  plnt2 62.00, 0.3750, 0.6378, 25.8750
  plnt2 58.00, 0.3750, 0.5748, 26.2500
  plnt2 57.00, 0.3750, 0.6063, 26.6250
  plnt2 55.00, 0.3750, 0.5669, 27.0000
  plnt2 58.00, 0.3750, 0.6220, 27.3750
  plnt2 62.00, 0.3750, 0.6614, 27.7500
  plnt2 58.00, 0.3750, 0.5906, 28.1250
  plnt2 51.00, 0.3750, 0.5197, 28.5000
  plnt2 58.00, 0.3750, 0.6535, 28.8750
  plnt2 62.00, 0.3750, 0.6693, 29.2500
  plnt2 58.00, 0.3750, 0.5669, 29.6250
  plnt2 53.00, 0.3750, 0.5827, 30.0000
  plnt2 60.00, 0.3750, 0.6772, 30.3750
  plnt2 65.00, 0.3750, 0.7165, 30.7500
  plnt2 60.00, 0.3750, 0.5512, 31.1250
  plnt2 50.00, 0.3750, 0.4961, 31.5000
  plnt2 60.00, 0.3750, 0.7165, 31.8750
  plnt2 65.00, 0.3750, 0.7087, 32.2500
  plnt2 60.00, 0.3750, 0.5591, 32.6250
  plnt2 51.00, 0.3750, 0.5354, 33.0000
  plnt2 58.00, 0.3750, 0.6693, 33.3750
  plnt2 63.00, 0.3750, 0.6850, 33.7500
  plnt2 58.00, 0.3750, 0.5984, 34.1250
  plnt2 60.00, 0.3750, 0.6299, 34.5000
  plnt2 70.00, 0.3750, 0.7638, 34.8750
  plnt2 75.00, 0.3750, 0.6850, 35.2500
  plnt2 70.00, 0.3750, 0.5512, 35.6250
  plnt2 62.00, 0.3750, 0.5118, 36.0000
  plnt2 69.00, 0.3750, 0.6850, 36.3750
  plnt2 78.00, 0.3750, 0.6772, 36.7500
  plnt2 69.00, 0.3750, 0.4803, 37.1250
  plnt2 60.00, 0.3750, 0.4961, 37.5000
  plnt2 69.00, 0.3750, 0.6693, 37.8750
  plnt2 78.00, 0.3750, 0.7480, 38.2500
  plnt2 69.00, 0.3750, 0.5118, 38.6250
  plnt2 58.00, 0.3750, 0.4803, 39.0000
  plnt2 62.00, 0.3750, 0.6299, 39.3750
  plnt2 58.00, 0.3750, 0.5748, 39.7500
  plnt2 62.00, 0.3750, 0.6693, 40.1250
  plnt2 56.00, 0.3750, 0.6142, 40.5000
  plnt2 65.00, 0.3750, 0.7402, 40.8750
  plnt2 58.00, 0.3750, 0.5827, 41.2500
  plnt2 65.00, 0.3750, 0.7244, 41.6250
  plnt2 55.00, 0.3750, 0.5354, 42.0000
  plnt2 65.00, 0.3750, 0.7165, 42.3750
  plnt2 58.00, 0.3750, 0.5512, 42.7500
  plnt2 63.00, 0.3750, 0.6378, 43.1250
  plnt2 53.00, 0.3750, 0.4961, 43.5000
  plnt2 63.00, 0.3750, 0.7244, 43.8750
  plnt2 56.00, 0.3750, 0.5669, 44.2500
  plnt2 62.00, 0.3750, 0.7087, 44.6250
  plnt2 51.00, 0.3750, 0.5512, 45.0000
  plnt2 62.00, 0.3750, 0.7717, 45.3750
  plnt2 55.00, 0.3750, 0.5591, 45.7500
  plnt2 61.00, 0.3750, 0.7165, 46.1250
  plnt2 50.00, 0.3750, 0.5591, 46.5000
  plnt2 60.00, 0.3750, 0.7244, 46.8750
  plnt2 62.00, 0.3750, 0.6142, 47.2500
  plnt2 60.00, 0.3750, 0.6063, 47.6250
  plnt2 55.00, 0.3750, 0.5354, 48.0000
  plnt2 62.00, 0.3750, 0.7008, 48.3750
  plnt2 67.00, 0.3750, 0.7008, 48.7500
  plnt2 70.00, 0.3750, 0.6693, 49.1250
  plnt2 69.00, 0.3750, 0.5591, 49.5000
  plnt2 67.00, 0.3750, 0.5276, 49.8750
end

it’s a good idea i like the process !