music-transcription 0.6.3 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (42) hide show
  1. checksums.yaml +4 -4
  2. data/examples/hip.yml +516 -0
  3. data/examples/make_hip.rb +63 -0
  4. data/examples/make_missed_connection.rb +65 -0
  5. data/examples/make_song1.rb +71 -0
  6. data/examples/make_song2.rb +58 -0
  7. data/examples/missed_connection.yml +305 -0
  8. data/examples/song1.yml +367 -0
  9. data/examples/song2.yml +236 -0
  10. data/lib/music-transcription/accent.rb +4 -15
  11. data/lib/music-transcription/accents.rb +12 -0
  12. data/lib/music-transcription/dynamic.rb +6 -15
  13. data/lib/music-transcription/meter.rb +15 -0
  14. data/lib/music-transcription/note.rb +28 -91
  15. data/lib/music-transcription/part.rb +9 -65
  16. data/lib/music-transcription/score.rb +14 -43
  17. data/lib/music-transcription/version.rb +1 -1
  18. data/lib/music-transcription.rb +2 -0
  19. data/spec/meter_spec.rb +25 -0
  20. data/spec/note_spec.rb +20 -33
  21. data/spec/part_spec.rb +13 -82
  22. data/spec/score_spec.rb +28 -16
  23. data/spec/spec_helper.rb +7 -2
  24. metadata +14 -20
  25. data/samples/arrangements/glissando_test.yml +0 -71
  26. data/samples/arrangements/hip.yml +0 -952
  27. data/samples/arrangements/instrument_test.yml +0 -119
  28. data/samples/arrangements/legato_test.yml +0 -237
  29. data/samples/arrangements/make_glissando_test.rb +0 -27
  30. data/samples/arrangements/make_hip.rb +0 -75
  31. data/samples/arrangements/make_instrument_test.rb +0 -34
  32. data/samples/arrangements/make_legato_test.rb +0 -37
  33. data/samples/arrangements/make_missed_connection.rb +0 -72
  34. data/samples/arrangements/make_portamento_test.rb +0 -27
  35. data/samples/arrangements/make_slur_test.rb +0 -37
  36. data/samples/arrangements/make_song1.rb +0 -84
  37. data/samples/arrangements/make_song2.rb +0 -69
  38. data/samples/arrangements/missed_connection.yml +0 -481
  39. data/samples/arrangements/portamento_test.yml +0 -71
  40. data/samples/arrangements/slur_test.yml +0 -237
  41. data/samples/arrangements/song1.yml +0 -640
  42. data/samples/arrangements/song2.yml +0 -429
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 468b4c25a3781461ca19c867a67f2525f289a971
4
- data.tar.gz: e0627f559880797830c365081f1b60771cbcbd3f
3
+ metadata.gz: 66c5eddd1a46c3374147365e9ec806fbfe177517
4
+ data.tar.gz: f8bac705a7e97be2b72d79aee5e0df6d28106068
5
5
  SHA512:
6
- metadata.gz: 8e2b80ffa7a5001528d606e14a4b5b28044ebb4564d846d359426774d2e4d92767b5eafbc2e77b3e77239f34b6d2bab529a28d2e8617ead727f0bac32f87fbe7
7
- data.tar.gz: 2011a25e44734a564a492dc7067b608a2e259c7ac62f925683cc05a080db9b62a495369a42d07feb448ba39cf05676600dd933bcdcc3b14cd663ea6bb0f67d74
6
+ metadata.gz: 106be9a38df5ced12384ffb2b52f8be9940890357d1b157e7d4fbe79aa551e3601ff0887f02c8db638a42ed4a4b2a2f931444322bb0cf211e8b32df3f73177e6
7
+ data.tar.gz: 1679a0dddcbdc64c4fc7a33f5a4e4ebd3b40919665d194c09db5094e11d87e2bf7cccd3354cebae1020f9736815cfca109d96e6d4ebdecd44888fe1876741df2
data/examples/hip.yml ADDED
@@ -0,0 +1,516 @@
1
+ --- !ruby/object:Music::Transcription::Score
2
+ start_meter: !ruby/object:Music::Transcription::Meter
3
+ beats_per_measure: 4
4
+ beat_duration: !ruby/object:Rational
5
+ denominator: 4
6
+ numerator: 1
7
+ measure_duration: !ruby/object:Rational
8
+ denominator: 1
9
+ numerator: 1
10
+ start_tempo: 120
11
+ meter_changes: {}
12
+ tempo_changes: {}
13
+ parts:
14
+ lead: !ruby/object:Music::Transcription::Part
15
+ notes:
16
+ - !ruby/object:Music::Transcription::Note
17
+ duration: !ruby/object:Rational
18
+ denominator: 6
19
+ numerator: 1
20
+ pitches:
21
+ - &3 !ruby/object:Music::Transcription::Pitch
22
+ octave: 3
23
+ semitone: 10
24
+ links: {}
25
+ accent: &1 !ruby/class 'Music::Transcription::Accent::None'
26
+ - !ruby/object:Music::Transcription::Note
27
+ duration: !ruby/object:Rational
28
+ denominator: 4
29
+ numerator: 1
30
+ pitches: []
31
+ links: {}
32
+ accent: *1
33
+ - !ruby/object:Music::Transcription::Note
34
+ duration: !ruby/object:Rational
35
+ denominator: 12
36
+ numerator: 1
37
+ pitches:
38
+ - &2 !ruby/object:Music::Transcription::Pitch
39
+ octave: 4
40
+ semitone: 1
41
+ links:
42
+ *2: !ruby/object:Music::Transcription::Link::Slur
43
+ target_pitch: *2
44
+ accent: *1
45
+ - !ruby/object:Music::Transcription::Note
46
+ duration: !ruby/object:Rational
47
+ denominator: 6
48
+ numerator: 1
49
+ pitches:
50
+ - *2
51
+ links:
52
+ *2: !ruby/object:Music::Transcription::Link::Slur
53
+ target_pitch: *2
54
+ accent: *1
55
+ - !ruby/object:Music::Transcription::Note
56
+ duration: !ruby/object:Rational
57
+ denominator: 36
58
+ numerator: 1
59
+ pitches:
60
+ - *2
61
+ links: {}
62
+ accent: *1
63
+ - !ruby/object:Music::Transcription::Note
64
+ duration: !ruby/object:Rational
65
+ denominator: 36
66
+ numerator: 1
67
+ pitches:
68
+ - !ruby/object:Music::Transcription::Pitch
69
+ octave: 4
70
+ semitone: 3
71
+ links: {}
72
+ accent: *1
73
+ - !ruby/object:Music::Transcription::Note
74
+ duration: !ruby/object:Rational
75
+ denominator: 36
76
+ numerator: 1
77
+ pitches:
78
+ - *2
79
+ links: {}
80
+ accent: *1
81
+ - !ruby/object:Music::Transcription::Note
82
+ duration: !ruby/object:Rational
83
+ denominator: 6
84
+ numerator: 1
85
+ pitches:
86
+ - !ruby/object:Music::Transcription::Pitch
87
+ octave: 3
88
+ semitone: 8
89
+ links: {}
90
+ accent: *1
91
+ - !ruby/object:Music::Transcription::Note
92
+ duration: !ruby/object:Rational
93
+ denominator: 12
94
+ numerator: 1
95
+ pitches:
96
+ - *2
97
+ links: {}
98
+ accent: *1
99
+ - !ruby/object:Music::Transcription::Note
100
+ duration: !ruby/object:Rational
101
+ denominator: 6
102
+ numerator: 1
103
+ pitches:
104
+ - *3
105
+ links: {}
106
+ accent: *1
107
+ - !ruby/object:Music::Transcription::Note
108
+ duration: !ruby/object:Rational
109
+ denominator: 4
110
+ numerator: 1
111
+ pitches: []
112
+ links: {}
113
+ accent: *1
114
+ - !ruby/object:Music::Transcription::Note
115
+ duration: !ruby/object:Rational
116
+ denominator: 12
117
+ numerator: 1
118
+ pitches:
119
+ - *2
120
+ links:
121
+ *2: !ruby/object:Music::Transcription::Link::Slur
122
+ target_pitch: *2
123
+ accent: *1
124
+ - !ruby/object:Music::Transcription::Note::Quarter
125
+ duration: !ruby/object:Rational
126
+ denominator: 4
127
+ numerator: 1
128
+ pitches:
129
+ - *2
130
+ links:
131
+ *2: !ruby/object:Music::Transcription::Link::Slur
132
+ target_pitch: *2
133
+ accent: *1
134
+ - !ruby/object:Music::Transcription::Note::Eighth
135
+ duration: !ruby/object:Rational
136
+ denominator: 8
137
+ numerator: 1
138
+ pitches:
139
+ - *2
140
+ links:
141
+ *2: !ruby/object:Music::Transcription::Link::Portamento
142
+ target_pitch: &4 !ruby/object:Music::Transcription::Pitch
143
+ octave: 4
144
+ semitone: 0
145
+ accent: *1
146
+ - !ruby/object:Music::Transcription::Note::Eighth
147
+ duration: !ruby/object:Rational
148
+ denominator: 8
149
+ numerator: 1
150
+ pitches:
151
+ - *4
152
+ links: {}
153
+ accent: *1
154
+ - !ruby/object:Music::Transcription::Note
155
+ duration: !ruby/object:Rational
156
+ denominator: 6
157
+ numerator: 1
158
+ pitches:
159
+ - !ruby/object:Music::Transcription::Pitch
160
+ octave: 4
161
+ semitone: 0
162
+ links: {}
163
+ accent: *1
164
+ - !ruby/object:Music::Transcription::Note
165
+ duration: !ruby/object:Rational
166
+ denominator: 4
167
+ numerator: 1
168
+ pitches: []
169
+ links: {}
170
+ accent: *1
171
+ - !ruby/object:Music::Transcription::Note
172
+ duration: !ruby/object:Rational
173
+ denominator: 12
174
+ numerator: 1
175
+ pitches:
176
+ - !ruby/object:Music::Transcription::Pitch
177
+ octave: 4
178
+ semitone: 3
179
+ links:
180
+ ? !ruby/object:Music::Transcription::Pitch
181
+ octave: 4
182
+ semitone: 3
183
+ : !ruby/object:Music::Transcription::Link::Slur
184
+ target_pitch: !ruby/object:Music::Transcription::Pitch
185
+ octave: 4
186
+ semitone: 3
187
+ accent: *1
188
+ - !ruby/object:Music::Transcription::Note
189
+ duration: !ruby/object:Rational
190
+ denominator: 6
191
+ numerator: 1
192
+ pitches:
193
+ - !ruby/object:Music::Transcription::Pitch
194
+ octave: 4
195
+ semitone: 3
196
+ links:
197
+ ? !ruby/object:Music::Transcription::Pitch
198
+ octave: 4
199
+ semitone: 3
200
+ : !ruby/object:Music::Transcription::Link::Slur
201
+ target_pitch: !ruby/object:Music::Transcription::Pitch
202
+ octave: 4
203
+ semitone: 3
204
+ accent: *1
205
+ - !ruby/object:Music::Transcription::Note
206
+ duration: !ruby/object:Rational
207
+ denominator: 36
208
+ numerator: 1
209
+ pitches:
210
+ - !ruby/object:Music::Transcription::Pitch
211
+ octave: 4
212
+ semitone: 3
213
+ links: {}
214
+ accent: *1
215
+ - !ruby/object:Music::Transcription::Note
216
+ duration: !ruby/object:Rational
217
+ denominator: 36
218
+ numerator: 1
219
+ pitches:
220
+ - !ruby/object:Music::Transcription::Pitch
221
+ octave: 4
222
+ semitone: 5
223
+ links: {}
224
+ accent: *1
225
+ - !ruby/object:Music::Transcription::Note
226
+ duration: !ruby/object:Rational
227
+ denominator: 36
228
+ numerator: 1
229
+ pitches:
230
+ - !ruby/object:Music::Transcription::Pitch
231
+ octave: 4
232
+ semitone: 3
233
+ links: {}
234
+ accent: *1
235
+ - !ruby/object:Music::Transcription::Note
236
+ duration: !ruby/object:Rational
237
+ denominator: 6
238
+ numerator: 1
239
+ pitches:
240
+ - !ruby/object:Music::Transcription::Pitch
241
+ octave: 3
242
+ semitone: 10
243
+ links: {}
244
+ accent: *1
245
+ - !ruby/object:Music::Transcription::Note
246
+ duration: !ruby/object:Rational
247
+ denominator: 12
248
+ numerator: 1
249
+ pitches:
250
+ - !ruby/object:Music::Transcription::Pitch
251
+ octave: 4
252
+ semitone: 3
253
+ links: {}
254
+ accent: *1
255
+ - !ruby/object:Music::Transcription::Note
256
+ duration: !ruby/object:Rational
257
+ denominator: 6
258
+ numerator: 1
259
+ pitches:
260
+ - !ruby/object:Music::Transcription::Pitch
261
+ octave: 4
262
+ semitone: 0
263
+ links: {}
264
+ accent: *1
265
+ - !ruby/object:Music::Transcription::Note
266
+ duration: !ruby/object:Rational
267
+ denominator: 4
268
+ numerator: 1
269
+ pitches: []
270
+ links: {}
271
+ accent: *1
272
+ - !ruby/object:Music::Transcription::Note
273
+ duration: !ruby/object:Rational
274
+ denominator: 12
275
+ numerator: 1
276
+ pitches:
277
+ - !ruby/object:Music::Transcription::Pitch
278
+ octave: 4
279
+ semitone: 3
280
+ links:
281
+ ? !ruby/object:Music::Transcription::Pitch
282
+ octave: 4
283
+ semitone: 3
284
+ : !ruby/object:Music::Transcription::Link::Slur
285
+ target_pitch: !ruby/object:Music::Transcription::Pitch
286
+ octave: 4
287
+ semitone: 3
288
+ accent: *1
289
+ - !ruby/object:Music::Transcription::Note::Quarter
290
+ duration: !ruby/object:Rational
291
+ denominator: 4
292
+ numerator: 1
293
+ pitches:
294
+ - !ruby/object:Music::Transcription::Pitch
295
+ octave: 4
296
+ semitone: 3
297
+ links:
298
+ ? !ruby/object:Music::Transcription::Pitch
299
+ octave: 4
300
+ semitone: 3
301
+ : !ruby/object:Music::Transcription::Link::Slur
302
+ target_pitch: !ruby/object:Music::Transcription::Pitch
303
+ octave: 4
304
+ semitone: 3
305
+ accent: *1
306
+ - !ruby/object:Music::Transcription::Note::Eighth
307
+ duration: !ruby/object:Rational
308
+ denominator: 8
309
+ numerator: 1
310
+ pitches:
311
+ - !ruby/object:Music::Transcription::Pitch
312
+ octave: 4
313
+ semitone: 3
314
+ links:
315
+ ? !ruby/object:Music::Transcription::Pitch
316
+ octave: 4
317
+ semitone: 3
318
+ : !ruby/object:Music::Transcription::Link::Portamento
319
+ target_pitch: !ruby/object:Music::Transcription::Pitch
320
+ octave: 4
321
+ semitone: 2
322
+ accent: *1
323
+ - !ruby/object:Music::Transcription::Note::Eighth
324
+ duration: !ruby/object:Rational
325
+ denominator: 8
326
+ numerator: 1
327
+ pitches:
328
+ - !ruby/object:Music::Transcription::Pitch
329
+ octave: 4
330
+ semitone: 2
331
+ links: {}
332
+ accent: *1
333
+ start_dynamic: !ruby/object:Music::Transcription::Dynamic::MezzoForte {}
334
+ dynamic_changes: {}
335
+ bass: !ruby/object:Music::Transcription::Part
336
+ notes:
337
+ - !ruby/object:Music::Transcription::Note
338
+ duration: !ruby/object:Rational
339
+ denominator: 6
340
+ numerator: 1
341
+ pitches:
342
+ - &6 !ruby/object:Music::Transcription::Pitch
343
+ octave: 2
344
+ semitone: 10
345
+ links: {}
346
+ accent: *1
347
+ - !ruby/object:Music::Transcription::Note
348
+ duration: !ruby/object:Rational
349
+ denominator: 4
350
+ numerator: 1
351
+ pitches: []
352
+ links: {}
353
+ accent: *1
354
+ - !ruby/object:Music::Transcription::Note
355
+ duration: !ruby/object:Rational
356
+ denominator: 3
357
+ numerator: 1
358
+ pitches:
359
+ - &5 !ruby/object:Music::Transcription::Pitch
360
+ octave: 2
361
+ semitone: 8
362
+ links: {}
363
+ accent: *1
364
+ - !ruby/object:Music::Transcription::Note
365
+ duration: !ruby/object:Rational
366
+ denominator: 6
367
+ numerator: 1
368
+ pitches:
369
+ - !ruby/object:Music::Transcription::Pitch
370
+ octave: 2
371
+ semitone: 5
372
+ links: {}
373
+ accent: *1
374
+ - !ruby/object:Music::Transcription::Note
375
+ duration: !ruby/object:Rational
376
+ denominator: 12
377
+ numerator: 1
378
+ pitches:
379
+ - *5
380
+ links: {}
381
+ accent: *1
382
+ - !ruby/object:Music::Transcription::Note
383
+ duration: !ruby/object:Rational
384
+ denominator: 6
385
+ numerator: 1
386
+ pitches:
387
+ - *6
388
+ links: {}
389
+ accent: *1
390
+ - !ruby/object:Music::Transcription::Note::Quarter
391
+ duration: !ruby/object:Rational
392
+ denominator: 4
393
+ numerator: 1
394
+ pitches: []
395
+ links: {}
396
+ accent: *1
397
+ - !ruby/object:Music::Transcription::Note
398
+ duration: !ruby/object:Rational
399
+ denominator: 3
400
+ numerator: 1
401
+ pitches:
402
+ - *5
403
+ links: {}
404
+ accent: *1
405
+ - !ruby/object:Music::Transcription::Note::Quarter
406
+ duration: !ruby/object:Rational
407
+ denominator: 4
408
+ numerator: 1
409
+ pitches:
410
+ - *5
411
+ links: {}
412
+ accent: *1
413
+ - !ruby/object:Music::Transcription::Note
414
+ duration: !ruby/object:Rational
415
+ denominator: 6
416
+ numerator: 1
417
+ pitches:
418
+ - !ruby/object:Music::Transcription::Pitch
419
+ octave: 3
420
+ semitone: 0
421
+ links: {}
422
+ accent: *1
423
+ - !ruby/object:Music::Transcription::Note
424
+ duration: !ruby/object:Rational
425
+ denominator: 4
426
+ numerator: 1
427
+ pitches: []
428
+ links: {}
429
+ accent: *1
430
+ - !ruby/object:Music::Transcription::Note
431
+ duration: !ruby/object:Rational
432
+ denominator: 3
433
+ numerator: 1
434
+ pitches:
435
+ - !ruby/object:Music::Transcription::Pitch
436
+ octave: 2
437
+ semitone: 10
438
+ links: {}
439
+ accent: *1
440
+ - !ruby/object:Music::Transcription::Note
441
+ duration: !ruby/object:Rational
442
+ denominator: 6
443
+ numerator: 1
444
+ pitches:
445
+ - !ruby/object:Music::Transcription::Pitch
446
+ octave: 2
447
+ semitone: 7
448
+ links: {}
449
+ accent: *1
450
+ - !ruby/object:Music::Transcription::Note
451
+ duration: !ruby/object:Rational
452
+ denominator: 12
453
+ numerator: 1
454
+ pitches:
455
+ - !ruby/object:Music::Transcription::Pitch
456
+ octave: 2
457
+ semitone: 10
458
+ links: {}
459
+ accent: *1
460
+ - !ruby/object:Music::Transcription::Note
461
+ duration: !ruby/object:Rational
462
+ denominator: 6
463
+ numerator: 1
464
+ pitches:
465
+ - !ruby/object:Music::Transcription::Pitch
466
+ octave: 3
467
+ semitone: 0
468
+ links: {}
469
+ accent: *1
470
+ - !ruby/object:Music::Transcription::Note::Quarter
471
+ duration: !ruby/object:Rational
472
+ denominator: 4
473
+ numerator: 1
474
+ pitches: []
475
+ links: {}
476
+ accent: *1
477
+ - !ruby/object:Music::Transcription::Note
478
+ duration: !ruby/object:Rational
479
+ denominator: 3
480
+ numerator: 1
481
+ pitches:
482
+ - !ruby/object:Music::Transcription::Pitch
483
+ octave: 2
484
+ semitone: 10
485
+ links: {}
486
+ accent: *1
487
+ - !ruby/object:Music::Transcription::Note::Quarter
488
+ duration: !ruby/object:Rational
489
+ denominator: 4
490
+ numerator: 1
491
+ pitches:
492
+ - !ruby/object:Music::Transcription::Pitch
493
+ octave: 2
494
+ semitone: 10
495
+ links: {}
496
+ accent: *1
497
+ start_dynamic: !ruby/object:Music::Transcription::Dynamic::MezzoPiano {}
498
+ dynamic_changes: {}
499
+ program: !ruby/object:Music::Transcription::Program
500
+ segments:
501
+ - !ruby/range
502
+ begin: 0
503
+ end: 2
504
+ excl: true
505
+ - !ruby/range
506
+ begin: 0
507
+ end: 2
508
+ excl: true
509
+ - !ruby/range
510
+ begin: 2
511
+ end: 4
512
+ excl: true
513
+ - !ruby/range
514
+ begin: 0
515
+ end: 2
516
+ excl: true
@@ -0,0 +1,63 @@
1
+ require 'music-transcription'
2
+ require 'yaml'
3
+
4
+ include Music::Transcription
5
+ include Pitches
6
+
7
+ bass_riff = [
8
+ # 0.0
9
+ Note.new(Rational(1,6), [ Bb2 ]),
10
+ Note.new(Rational(1,4)),
11
+ Note.new(Rational(1,3), [ Ab2 ]),
12
+ Note.new(Rational(1,6), [ F2 ]),
13
+ Note.new(Rational(1,12), [ Ab2 ]),
14
+ # 1.0
15
+ Note.new(Rational(1,6), [ Bb2 ]),
16
+ Note::Quarter.new,
17
+ Note.new(Rational(1,3), [ Ab2 ]),
18
+ Note::Quarter.new([ Ab2 ]),
19
+ ]
20
+
21
+ lead_riff = [
22
+ # 0.0
23
+ Note.new(Rational(1,6), [ Bb3 ]),
24
+ Note.new(Rational(1,4)),
25
+ Note.new(Rational(1,12), [ Db4 ], links: {Db4 => Link::Slur.new(Db4)}),
26
+ Note.new(Rational(1,6), [ Db4 ], links: {Db4 => Link::Slur.new(Db4)}),
27
+ Note.new(Rational(1,36), [ Db4 ]),
28
+ Note.new(Rational(1,36), [ Eb4 ]),
29
+ Note.new(Rational(1,36), [ Db4 ]),
30
+ Note.new(Rational(1,6), [ Ab3 ]),
31
+ Note.new(Rational(1,12), [ Db4 ]),
32
+ # 1.0
33
+ Note.new(Rational(1,6), [ Bb3 ]),
34
+ Note.new(Rational(1,4)),
35
+ Note.new(Rational(1,12), [ Db4 ], links: {Db4 => Link::Slur.new(Db4)}),
36
+ Note::Quarter.new([ Db4 ], links: {Db4 => Link::Slur.new(Db4)}),
37
+ Note::Eighth.new([ Db4 ], links: {Db4 => Link::Portamento.new(C4)}),
38
+ Note::Eighth.new([ C4 ]),
39
+ ]
40
+
41
+ whole_step = Pitch.new(:semitone => 2)
42
+ bass_notes = bass_riff + bass_riff.map {|note| note.transpose(whole_step) }
43
+ lead_notes = lead_riff + lead_riff.map {|note| note.transpose(whole_step) }
44
+
45
+ score = Score.new(
46
+ Meter.new(4,"1/4".to_r),
47
+ 120,
48
+ program: Program.new([0...2, 0...2,2...4,0...2]),
49
+ parts: {
50
+ "lead" => Part.new(
51
+ Dynamics::MF,
52
+ notes: lead_notes
53
+ ),
54
+ "bass" => Part.new(
55
+ Dynamics::MP,
56
+ notes: bass_notes
57
+ )
58
+ }
59
+ )
60
+
61
+ File.open('hip.yml','w') do |file|
62
+ file.write score.to_yaml
63
+ end
@@ -0,0 +1,65 @@
1
+ require 'music-transcription'
2
+ require 'yaml'
3
+
4
+ include Music::Transcription
5
+ include Pitches
6
+
7
+ score = Score.new(
8
+ Meter.new(4,"1/4".to_r),
9
+ 120,
10
+ program: Program.new([0...8.0]),
11
+ parts: {
12
+ "bass" => Part.new(
13
+ Dynamics::MF,
14
+ notes: [
15
+ # 0.0
16
+ Note::Quarter.new([Eb2]),
17
+ Note::Quarter.new,
18
+ Note::Quarter.new([Bb2]),
19
+ Note::Quarter.new,
20
+ Note::Quarter.new([Eb2]),
21
+ Note::Eighth.new,
22
+ Note::Eighth.new([B2]),
23
+ Note::Quarter.new([Bb2]),
24
+ Note::Quarter.new([Ab2]),
25
+
26
+ # 2.0
27
+ Note::Quarter.new([Eb2]),
28
+ Note::Quarter.new,
29
+ Note::Quarter.new([Bb2]),
30
+ Note::Quarter.new,
31
+ Note::Quarter.new([Eb2]),
32
+ Note::Eighth.new,
33
+ Note::Eighth.new([B2]),
34
+ Note::Quarter.new([Bb2]),
35
+ Note::Quarter.new([Ab2]),
36
+
37
+ # 4.0
38
+ Note::Quarter.new([Bb2]),
39
+ Note::Eighth.new,
40
+ Note::Eighth.new([F3], links: { F3 => Link::Slur.new(F3)}),
41
+ Note::Half.new([F3]),
42
+ Note::Quarter.new([Bb2]),
43
+ Note::Eighth.new,
44
+ Note::Eighth.new([F3], links: { F3 => Link::Slur.new(F3)}),
45
+ Note::Half.new([F3]),
46
+
47
+ # 6.0
48
+ Note::Quarter.new([B2]),
49
+ Note::Eighth.new,
50
+ Note::Eighth.new([Gb3], links: { Gb3 => Link::Slur.new(Gb3)}),
51
+ Note::Half.new([Gb3]),
52
+ Note::Quarter.new([B2]),
53
+ Note::Eighth.new,
54
+ Note::Eighth.new([Gb3], links: { Gb3 => Link::Slur.new(Gb3)}),
55
+ Note::Half.new([Gb3]),
56
+
57
+ #8.0
58
+ ]
59
+ )
60
+ }
61
+ )
62
+
63
+ File.open("missed_connection.yml", "w") do |file|
64
+ file.write score.to_yaml
65
+ end