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
@@ -1,429 +0,0 @@
1
- --- !ruby/object:Music::Transcription::Arrangement
2
- score: !ruby/object:Music::Transcription::TempoScore
3
- tempo_profile: !ruby/object:Music::Transcription::Profile
4
- start_value: !ruby/object:Music::Transcription::Tempo
5
- beats_per_minute: 120
6
- beat_duration: !ruby/object:Rational
7
- denominator: 4
8
- numerator: 1
9
- value_changes: {}
10
- parts:
11
- 1: !ruby/object:Music::Transcription::Part
12
- offset: 0
13
- loudness_profile: !ruby/object:Music::Transcription::Profile
14
- start_value: 0.5
15
- value_changes: {}
16
- notes:
17
- - !ruby/object:Music::Transcription::Note
18
- duration: 1.0
19
- intervals:
20
- - !ruby/object:Music::Transcription::Interval
21
- pitch: !ruby/object:Music::Transcription::Pitch
22
- cents_per_octave: 1200
23
- octave: 4
24
- semitone: 0
25
- cent: 0
26
- base_freq: 16.351597831287414
27
- link: !ruby/object:Music::Transcription::Link
28
- target_pitch: !ruby/object:Music::Transcription::Pitch
29
- cents_per_octave: 1200
30
- octave: 0
31
- semitone: 0
32
- cent: 0
33
- base_freq: 16.351597831287414
34
- relationship: :none
35
- sustain: 0.5
36
- attack: 0.5
37
- separation: 0.5
38
- - !ruby/object:Music::Transcription::Note
39
- duration: 1.0
40
- intervals:
41
- - !ruby/object:Music::Transcription::Interval
42
- pitch: &17452560 !ruby/object:Music::Transcription::Pitch
43
- cents_per_octave: 1200
44
- octave: 3
45
- semitone: 10
46
- cent: 0
47
- base_freq: 16.351597831287414
48
- link: !ruby/object:Music::Transcription::Link
49
- target_pitch: !ruby/object:Music::Transcription::Pitch
50
- cents_per_octave: 1200
51
- octave: 0
52
- semitone: 0
53
- cent: 0
54
- base_freq: 16.351597831287414
55
- relationship: :none
56
- sustain: 0.5
57
- attack: 0.5
58
- separation: 0.5
59
- - !ruby/object:Music::Transcription::Note
60
- duration: 1.0
61
- intervals:
62
- - !ruby/object:Music::Transcription::Interval
63
- pitch: !ruby/object:Music::Transcription::Pitch
64
- cents_per_octave: 1200
65
- octave: 3
66
- semitone: 8
67
- cent: 0
68
- base_freq: 16.351597831287414
69
- link: !ruby/object:Music::Transcription::Link
70
- target_pitch: !ruby/object:Music::Transcription::Pitch
71
- cents_per_octave: 1200
72
- octave: 0
73
- semitone: 0
74
- cent: 0
75
- base_freq: 16.351597831287414
76
- relationship: :none
77
- sustain: 0.5
78
- attack: 0.5
79
- separation: 0.5
80
- - !ruby/object:Music::Transcription::Note
81
- duration: 0.5
82
- intervals:
83
- - !ruby/object:Music::Transcription::Interval
84
- pitch: !ruby/object:Music::Transcription::Pitch
85
- cents_per_octave: 1200
86
- octave: 3
87
- semitone: 7
88
- cent: 0
89
- base_freq: 16.351597831287414
90
- link: !ruby/object:Music::Transcription::Link
91
- target_pitch: !ruby/object:Music::Transcription::Pitch
92
- cents_per_octave: 1200
93
- octave: 0
94
- semitone: 0
95
- cent: 0
96
- base_freq: 16.351597831287414
97
- relationship: :none
98
- sustain: 0.5
99
- attack: 0.5
100
- separation: 0.5
101
- - !ruby/object:Music::Transcription::Note
102
- duration: 0.5
103
- intervals:
104
- - !ruby/object:Music::Transcription::Interval
105
- pitch: *17452560
106
- link: !ruby/object:Music::Transcription::Link
107
- target_pitch: !ruby/object:Music::Transcription::Pitch
108
- cents_per_octave: 1200
109
- octave: 0
110
- semitone: 0
111
- cent: 0
112
- base_freq: 16.351597831287414
113
- relationship: :none
114
- sustain: 0.5
115
- attack: 0.5
116
- separation: 0.5
117
- 2: !ruby/object:Music::Transcription::Part
118
- offset: 0
119
- loudness_profile: !ruby/object:Music::Transcription::Profile
120
- start_value: 0.5
121
- value_changes: {}
122
- notes:
123
- - !ruby/object:Music::Transcription::Note
124
- duration: 0.375
125
- intervals:
126
- - !ruby/object:Music::Transcription::Interval
127
- pitch: !ruby/object:Music::Transcription::Pitch
128
- cents_per_octave: 1200
129
- octave: 5
130
- semitone: 4
131
- cent: 0
132
- base_freq: 16.351597831287414
133
- link: !ruby/object:Music::Transcription::Link
134
- target_pitch: !ruby/object:Music::Transcription::Pitch
135
- cents_per_octave: 1200
136
- octave: 0
137
- semitone: 0
138
- cent: 0
139
- base_freq: 16.351597831287414
140
- relationship: :none
141
- sustain: 0.5
142
- attack: 0.5
143
- separation: 0.5
144
- - !ruby/object:Music::Transcription::Note
145
- duration: 1.0
146
- intervals:
147
- - !ruby/object:Music::Transcription::Interval
148
- pitch: &17443640 !ruby/object:Music::Transcription::Pitch
149
- cents_per_octave: 1200
150
- octave: 5
151
- semitone: 2
152
- cent: 0
153
- base_freq: 16.351597831287414
154
- link: !ruby/object:Music::Transcription::Link
155
- target_pitch: !ruby/object:Music::Transcription::Pitch
156
- cents_per_octave: 1200
157
- octave: 0
158
- semitone: 0
159
- cent: 0
160
- base_freq: 16.351597831287414
161
- relationship: :none
162
- sustain: 0.5
163
- attack: 0.5
164
- separation: 0.5
165
- - !ruby/object:Music::Transcription::Note
166
- duration: 1.0
167
- intervals:
168
- - !ruby/object:Music::Transcription::Interval
169
- pitch: &17444700 !ruby/object:Music::Transcription::Pitch
170
- cents_per_octave: 1200
171
- octave: 5
172
- semitone: 0
173
- cent: 0
174
- base_freq: 16.351597831287414
175
- link: !ruby/object:Music::Transcription::Link
176
- target_pitch: !ruby/object:Music::Transcription::Pitch
177
- cents_per_octave: 1200
178
- octave: 0
179
- semitone: 0
180
- cent: 0
181
- base_freq: 16.351597831287414
182
- relationship: :none
183
- sustain: 0.5
184
- attack: 0.5
185
- separation: 0.5
186
- - !ruby/object:Music::Transcription::Note
187
- duration: 0.625
188
- intervals:
189
- - !ruby/object:Music::Transcription::Interval
190
- pitch: *17444700
191
- link: !ruby/object:Music::Transcription::Link
192
- target_pitch: !ruby/object:Music::Transcription::Pitch
193
- cents_per_octave: 1200
194
- octave: 0
195
- semitone: 0
196
- cent: 0
197
- base_freq: 16.351597831287414
198
- relationship: :none
199
- sustain: 0.5
200
- attack: 0.5
201
- separation: 0.5
202
- - !ruby/object:Music::Transcription::Note
203
- duration: 0.5
204
- intervals:
205
- - !ruby/object:Music::Transcription::Interval
206
- pitch: *17444700
207
- link: !ruby/object:Music::Transcription::Link
208
- target_pitch: !ruby/object:Music::Transcription::Pitch
209
- cents_per_octave: 1200
210
- octave: 0
211
- semitone: 0
212
- cent: 0
213
- base_freq: 16.351597831287414
214
- relationship: :none
215
- sustain: 0.5
216
- attack: 0.5
217
- separation: 0.5
218
- - !ruby/object:Music::Transcription::Note
219
- duration: 0.5
220
- intervals:
221
- - !ruby/object:Music::Transcription::Interval
222
- pitch: *17443640
223
- link: !ruby/object:Music::Transcription::Link
224
- target_pitch: !ruby/object:Music::Transcription::Pitch
225
- cents_per_octave: 1200
226
- octave: 0
227
- semitone: 0
228
- cent: 0
229
- base_freq: 16.351597831287414
230
- relationship: :none
231
- sustain: 0.5
232
- attack: 0.5
233
- separation: 0.5
234
- 3: !ruby/object:Music::Transcription::Part
235
- offset: 0
236
- loudness_profile: !ruby/object:Music::Transcription::Profile
237
- start_value: 0.5
238
- value_changes: {}
239
- notes:
240
- - !ruby/object:Music::Transcription::Note
241
- duration: 0.125
242
- intervals: []
243
- sustain: 0.5
244
- attack: 0.5
245
- separation: 0.5
246
- - !ruby/object:Music::Transcription::Note
247
- duration: 0.25
248
- intervals:
249
- - !ruby/object:Music::Transcription::Interval
250
- pitch: !ruby/object:Music::Transcription::Pitch
251
- cents_per_octave: 1200
252
- octave: 5
253
- semitone: 7
254
- cent: 0
255
- base_freq: 16.351597831287414
256
- link: !ruby/object:Music::Transcription::Link
257
- target_pitch: !ruby/object:Music::Transcription::Pitch
258
- cents_per_octave: 1200
259
- octave: 0
260
- semitone: 0
261
- cent: 0
262
- base_freq: 16.351597831287414
263
- relationship: :none
264
- sustain: 0.5
265
- attack: 0.5
266
- separation: 0.5
267
- - !ruby/object:Music::Transcription::Note
268
- duration: 0.5
269
- intervals:
270
- - !ruby/object:Music::Transcription::Interval
271
- pitch: &17441680 !ruby/object:Music::Transcription::Pitch
272
- cents_per_octave: 1200
273
- octave: 5
274
- semitone: 5
275
- cent: 0
276
- base_freq: 16.351597831287414
277
- link: !ruby/object:Music::Transcription::Link
278
- target_pitch: !ruby/object:Music::Transcription::Pitch
279
- cents_per_octave: 1200
280
- octave: 0
281
- semitone: 0
282
- cent: 0
283
- base_freq: 16.351597831287414
284
- relationship: :none
285
- sustain: 0.5
286
- attack: 0.5
287
- separation: 0.5
288
- - !ruby/object:Music::Transcription::Note
289
- duration: 0.25
290
- intervals: []
291
- sustain: 0.5
292
- attack: 0.5
293
- separation: 0.5
294
- - !ruby/object:Music::Transcription::Note
295
- duration: 0.25
296
- intervals:
297
- - !ruby/object:Music::Transcription::Interval
298
- pitch: *17441680
299
- link: !ruby/object:Music::Transcription::Link
300
- target_pitch: !ruby/object:Music::Transcription::Pitch
301
- cents_per_octave: 1200
302
- octave: 0
303
- semitone: 0
304
- cent: 0
305
- base_freq: 16.351597831287414
306
- relationship: :none
307
- sustain: 0.5
308
- attack: 0.5
309
- separation: 0.5
310
- - !ruby/object:Music::Transcription::Note
311
- duration: 0.5
312
- intervals:
313
- - !ruby/object:Music::Transcription::Interval
314
- pitch: &17442940 !ruby/object:Music::Transcription::Pitch
315
- cents_per_octave: 1200
316
- octave: 5
317
- semitone: 3
318
- cent: 0
319
- base_freq: 16.351597831287414
320
- link: !ruby/object:Music::Transcription::Link
321
- target_pitch: !ruby/object:Music::Transcription::Pitch
322
- cents_per_octave: 1200
323
- octave: 0
324
- semitone: 0
325
- cent: 0
326
- base_freq: 16.351597831287414
327
- relationship: :none
328
- sustain: 0.5
329
- attack: 0.5
330
- separation: 0.5
331
- - !ruby/object:Music::Transcription::Note
332
- duration: 0.25
333
- intervals: []
334
- sustain: 0.5
335
- attack: 0.5
336
- separation: 0.5
337
- - !ruby/object:Music::Transcription::Note
338
- duration: 0.25
339
- intervals:
340
- - !ruby/object:Music::Transcription::Interval
341
- pitch: *17442940
342
- link: !ruby/object:Music::Transcription::Link
343
- target_pitch: !ruby/object:Music::Transcription::Pitch
344
- cents_per_octave: 1200
345
- octave: 0
346
- semitone: 0
347
- cent: 0
348
- base_freq: 16.351597831287414
349
- relationship: :none
350
- sustain: 0.5
351
- attack: 0.5
352
- separation: 0.5
353
- - !ruby/object:Music::Transcription::Note
354
- duration: 0.5
355
- intervals:
356
- - !ruby/object:Music::Transcription::Interval
357
- pitch: *17442940
358
- link: !ruby/object:Music::Transcription::Link
359
- target_pitch: !ruby/object:Music::Transcription::Pitch
360
- cents_per_octave: 1200
361
- octave: 0
362
- semitone: 0
363
- cent: 0
364
- base_freq: 16.351597831287414
365
- relationship: :none
366
- sustain: 0.5
367
- attack: 0.5
368
- separation: 0.5
369
- - !ruby/object:Music::Transcription::Note
370
- duration: 0.125
371
- intervals: []
372
- sustain: 0.5
373
- attack: 0.5
374
- separation: 0.5
375
- - !ruby/object:Music::Transcription::Note
376
- duration: 0.5
377
- intervals:
378
- - !ruby/object:Music::Transcription::Interval
379
- pitch: *17442940
380
- link: !ruby/object:Music::Transcription::Link
381
- target_pitch: !ruby/object:Music::Transcription::Pitch
382
- cents_per_octave: 1200
383
- octave: 0
384
- semitone: 0
385
- cent: 0
386
- base_freq: 16.351597831287414
387
- relationship: :none
388
- sustain: 0.5
389
- attack: 0.5
390
- separation: 0.5
391
- - !ruby/object:Music::Transcription::Note
392
- duration: 0.5
393
- intervals:
394
- - !ruby/object:Music::Transcription::Interval
395
- pitch: *17441680
396
- link: !ruby/object:Music::Transcription::Link
397
- target_pitch: !ruby/object:Music::Transcription::Pitch
398
- cents_per_octave: 1200
399
- octave: 0
400
- semitone: 0
401
- cent: 0
402
- base_freq: 16.351597831287414
403
- relationship: :none
404
- sustain: 0.5
405
- attack: 0.5
406
- separation: 0.5
407
- program: !ruby/object:Music::Transcription::Program
408
- segments:
409
- - !ruby/range
410
- begin: 0
411
- end: 4.0
412
- excl: true
413
- - !ruby/range
414
- begin: 0
415
- end: 4.0
416
- excl: true
417
- instrument_configs:
418
- 1: !ruby/object:Music::Transcription::InstrumentConfig
419
- plugin_name: synth_instr_3
420
- initial_settings: blend
421
- setting_changes: {}
422
- 2: !ruby/object:Music::Transcription::InstrumentConfig
423
- plugin_name: synth_instr_3
424
- initial_settings: blend
425
- setting_changes: {}
426
- 3: !ruby/object:Music::Transcription::InstrumentConfig
427
- plugin_name: synth_instr_3
428
- initial_settings: blend
429
- setting_changes: {}