midilib 2.0.5 → 3.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (124) hide show
  1. checksums.yaml +5 -5
  2. data/ChangeLog +2 -1
  3. data/Credits +39 -2
  4. data/README.rdoc +5 -6
  5. data/Rakefile +36 -49
  6. data/TODO.rdoc +13 -2
  7. data/examples/from_scratch.rb +1 -1
  8. data/examples/measures_mbt.rb +11 -11
  9. data/examples/print_program_changes.rb +2 -2
  10. data/examples/reader2text.rb +47 -47
  11. data/examples/seq2text.rb +1 -1
  12. data/examples/split.rb +4 -3
  13. data/examples/strings.rb +4 -4
  14. data/examples/transpose.rb +19 -20
  15. data/install.rb +21 -13
  16. data/lib/midilib/consts.rb +237 -239
  17. data/lib/midilib/event.rb +128 -100
  18. data/lib/midilib/info.rb +3 -5
  19. data/lib/midilib/io/midifile.rb +155 -182
  20. data/lib/midilib/io/seqreader.rb +80 -85
  21. data/lib/midilib/io/seqwriter.rb +93 -88
  22. data/lib/midilib/measure.rb +78 -80
  23. data/lib/midilib/mergesort.rb +39 -0
  24. data/lib/midilib/sequence.rb +40 -32
  25. data/lib/midilib/track.rb +16 -57
  26. data/lib/midilib/utils.rb +4 -7
  27. data/lib/midilib.rb +5 -5
  28. data/test/event_equality.rb +28 -30
  29. data/test/test_event.rb +9 -11
  30. data/test/test_io.rb +83 -3
  31. data/test/test_mergesort.rb +37 -0
  32. data/test/test_midifile.rb +6 -19
  33. data/test/test_sequence.rb +5 -4
  34. data/test/test_track.rb +9 -38
  35. data/test/test_varlen.rb +1 -3
  36. metadata +8 -95
  37. data/html/IO.html +0 -155
  38. data/html/MIDI/ActiveSense.html +0 -206
  39. data/html/MIDI/ChannelEvent.html +0 -231
  40. data/html/MIDI/ChannelPressure.html +0 -265
  41. data/html/MIDI/Clock.html +0 -206
  42. data/html/MIDI/Continue.html +0 -206
  43. data/html/MIDI/Controller.html +0 -280
  44. data/html/MIDI/Event.html +0 -489
  45. data/html/MIDI/IO/MIDIFile.html +0 -2024
  46. data/html/MIDI/IO/SeqReader.html +0 -904
  47. data/html/MIDI/IO/SeqWriter.html +0 -572
  48. data/html/MIDI/IO.html +0 -95
  49. data/html/MIDI/KeySig.html +0 -353
  50. data/html/MIDI/MIDI/MIDI/Array.html +0 -255
  51. data/html/MIDI/MIDI/MIDI.html +0 -95
  52. data/html/MIDI/MIDI.html +0 -95
  53. data/html/MIDI/Marker.html +0 -158
  54. data/html/MIDI/Measure.html +0 -328
  55. data/html/MIDI/Measures.html +0 -285
  56. data/html/MIDI/MetaEvent.html +0 -461
  57. data/html/MIDI/NoteEvent.html +0 -331
  58. data/html/MIDI/NoteOff.html +0 -228
  59. data/html/MIDI/NoteOn.html +0 -228
  60. data/html/MIDI/PitchBend.html +0 -266
  61. data/html/MIDI/PolyPressure.html +0 -277
  62. data/html/MIDI/ProgramChange.html +0 -265
  63. data/html/MIDI/Realtime.html +0 -242
  64. data/html/MIDI/Sequence.html +0 -896
  65. data/html/MIDI/SongPointer.html +0 -266
  66. data/html/MIDI/SongSelect.html +0 -265
  67. data/html/MIDI/Start.html +0 -206
  68. data/html/MIDI/Stop.html +0 -206
  69. data/html/MIDI/SystemCommon.html +0 -158
  70. data/html/MIDI/SystemExclusive.html +0 -268
  71. data/html/MIDI/SystemReset.html +0 -206
  72. data/html/MIDI/Tempo.html +0 -396
  73. data/html/MIDI/TimeSig.html +0 -388
  74. data/html/MIDI/Track.html +0 -695
  75. data/html/MIDI/TuneRequest.html +0 -242
  76. data/html/MIDI/Utils.html +0 -220
  77. data/html/MIDI.html +0 -547
  78. data/html/README_rdoc.html +0 -731
  79. data/html/TODO_rdoc.html +0 -125
  80. data/html/created.rid +0 -14
  81. data/html/css/fonts.css +0 -167
  82. data/html/css/rdoc.css +0 -590
  83. data/html/fonts/Lato-Light.ttf +0 -0
  84. data/html/fonts/Lato-LightItalic.ttf +0 -0
  85. data/html/fonts/Lato-Regular.ttf +0 -0
  86. data/html/fonts/Lato-RegularItalic.ttf +0 -0
  87. data/html/fonts/SourceCodePro-Bold.ttf +0 -0
  88. data/html/fonts/SourceCodePro-Regular.ttf +0 -0
  89. data/html/images/add.png +0 -0
  90. data/html/images/arrow_up.png +0 -0
  91. data/html/images/brick.png +0 -0
  92. data/html/images/brick_link.png +0 -0
  93. data/html/images/bug.png +0 -0
  94. data/html/images/bullet_black.png +0 -0
  95. data/html/images/bullet_toggle_minus.png +0 -0
  96. data/html/images/bullet_toggle_plus.png +0 -0
  97. data/html/images/date.png +0 -0
  98. data/html/images/delete.png +0 -0
  99. data/html/images/find.png +0 -0
  100. data/html/images/loadingAnimation.gif +0 -0
  101. data/html/images/macFFBgHack.png +0 -0
  102. data/html/images/package.png +0 -0
  103. data/html/images/page_green.png +0 -0
  104. data/html/images/page_white_text.png +0 -0
  105. data/html/images/page_white_width.png +0 -0
  106. data/html/images/plugin.png +0 -0
  107. data/html/images/ruby.png +0 -0
  108. data/html/images/tag_blue.png +0 -0
  109. data/html/images/tag_green.png +0 -0
  110. data/html/images/transparent.png +0 -0
  111. data/html/images/wrench.png +0 -0
  112. data/html/images/wrench_orange.png +0 -0
  113. data/html/images/zoom.png +0 -0
  114. data/html/index.html +0 -768
  115. data/html/js/darkfish.js +0 -161
  116. data/html/js/jquery.js +0 -4
  117. data/html/js/navigation.js +0 -142
  118. data/html/js/navigation.js.gz +0 -0
  119. data/html/js/search.js +0 -109
  120. data/html/js/search_index.js +0 -1
  121. data/html/js/search_index.js.gz +0 -0
  122. data/html/js/searcher.js +0 -228
  123. data/html/js/searcher.js.gz +0 -0
  124. data/html/table_of_contents.html +0 -1265
@@ -1,6 +1,5 @@
1
1
  # MIDI constants.
2
2
  module MIDI
3
-
4
3
  # Number of MIDI channels
5
4
  MIDI_CHANNELS = 16
6
5
  # Number of note per MIDI channel
@@ -75,8 +74,8 @@ module MIDI
75
74
  SYSTEM_RESET = 0xFF
76
75
 
77
76
  # Controller numbers
78
- # = 0 - 31 = continuous, LSB
79
- # = 32 - 63 = continuous, MSB
77
+ # = 0 - 31 = continuous, MSB
78
+ # = 32 - 63 = continuous, LSB
80
79
  # = 64 - 97 = switches
81
80
  CC_MOD_WHEEL = 1
82
81
  CC_BREATH_CONTROLLER = 2
@@ -103,10 +102,10 @@ module MIDI
103
102
  CC_SUSTENUTO = 66
104
103
  CC_SOFT_PEDAL = 67
105
104
  CC_HOLD_2 = 69
106
- CC_GEN_PURPOSE_5 = 50
107
- CC_GEN_PURPOSE_6 = 51
108
- CC_GEN_PURPOSE_7 = 52
109
- CC_GEN_PURPOSE_8 = 53
105
+ CC_GEN_PURPOSE_5 = 80
106
+ CC_GEN_PURPOSE_6 = 81
107
+ CC_GEN_PURPOSE_7 = 82
108
+ CC_GEN_PURPOSE_8 = 83
110
109
  CC_TREMELO_DEPTH = 92
111
110
  CC_CHORUS_DEPTH = 93
112
111
  CC_DETUNE_DEPTH = 94
@@ -131,62 +130,62 @@ module MIDI
131
130
 
132
131
  # Controller names
133
132
  CONTROLLER_NAMES = [
134
- "0",
135
- "Modulation",
136
- "Breath Control",
137
- "3",
138
- "Foot Controller",
139
- "Portamento Time",
140
- "Data Entry",
141
- "Volume",
142
- "Balance",
143
- "9",
144
- "Pan",
145
- "Expression Control",
146
- "12", "13", "14", "15",
147
- "General Controller 1",
148
- "General Controller 2",
149
- "General Controller 3",
150
- "General Controller 4",
151
- "20", "21", "22", "23", "24", "25", "26", "27", "28", "29",
152
- "30", "31",
153
- "32", "33", "34", "35", "36", "37", "38", "39", "40", "41",
154
- "42", "43", "44", "45", "46", "47", "48", "49", "50", "51",
155
- "52", "53", "54", "55", "56", "57", "58", "59", "60", "61",
156
- "62", "63",
157
- "Sustain Pedal",
158
- "Portamento",
159
- "Sostenuto",
160
- "Soft Pedal",
161
- "68",
162
- "Hold 2",
163
- "70", "71", "72", "73", "74", "75", "76", "77", "78", "79",
164
- "General Controller 5",
165
- "Tempo Change",
166
- "General Controller 7",
167
- "General Controller 8",
168
- "84", "85", "86", "87", "88", "89", "90",
169
- "External Effects Depth",
170
- "Tremolo Depth",
171
- "Chorus Depth",
172
- "Detune (Celeste) Depth",
173
- "Phaser Depth",
174
- "Data Increment",
175
- "Data Decrement",
176
- "Non-Registered Param LSB",
177
- "Non-Registered Param MSB",
178
- "Registered Param LSB",
179
- "Registered Param MSB",
180
- "102", "103", "104", "105", "106", "107", "108", "109",
181
- "110", "111", "112", "113", "114", "115", "116", "117",
182
- "118", "119", "120",
183
- "Reset All Controllers",
184
- "Local Control",
185
- "All Notes Off",
186
- "Omni Mode Off",
187
- "Omni Mode On",
188
- "Mono Mode On",
189
- "Poly Mode On"
133
+ '0',
134
+ 'Modulation',
135
+ 'Breath Control',
136
+ '3',
137
+ 'Foot Controller',
138
+ 'Portamento Time',
139
+ 'Data Entry',
140
+ 'Volume',
141
+ 'Balance',
142
+ '9',
143
+ 'Pan',
144
+ 'Expression Control',
145
+ '12', '13', '14', '15',
146
+ 'General Controller 1',
147
+ 'General Controller 2',
148
+ 'General Controller 3',
149
+ 'General Controller 4',
150
+ '20', '21', '22', '23', '24', '25', '26', '27', '28', '29',
151
+ '30', '31',
152
+ '32', '33', '34', '35', '36', '37', '38', '39', '40', '41',
153
+ '42', '43', '44', '45', '46', '47', '48', '49', '50', '51',
154
+ '52', '53', '54', '55', '56', '57', '58', '59', '60', '61',
155
+ '62', '63',
156
+ 'Sustain Pedal',
157
+ 'Portamento',
158
+ 'Sostenuto',
159
+ 'Soft Pedal',
160
+ '68',
161
+ 'Hold 2',
162
+ '70', '71', '72', '73', '74', '75', '76', '77', '78', '79',
163
+ 'General Controller 5',
164
+ 'Tempo Change',
165
+ 'General Controller 7',
166
+ 'General Controller 8',
167
+ '84', '85', '86', '87', '88', '89', '90',
168
+ 'External Effects Depth',
169
+ 'Tremolo Depth',
170
+ 'Chorus Depth',
171
+ 'Detune (Celeste) Depth',
172
+ 'Phaser Depth',
173
+ 'Data Increment',
174
+ 'Data Decrement',
175
+ 'Non-Registered Param LSB',
176
+ 'Non-Registered Param MSB',
177
+ 'Registered Param LSB',
178
+ 'Registered Param MSB',
179
+ '102', '103', '104', '105', '106', '107', '108', '109',
180
+ '110', '111', '112', '113', '114', '115', '116', '117',
181
+ '118', '119', '120',
182
+ 'Reset All Controllers',
183
+ 'Local Control',
184
+ 'All Notes Off',
185
+ 'Omni Mode Off',
186
+ 'Omni Mode On',
187
+ 'Mono Mode On',
188
+ 'Poly Mode On'
190
189
  ]
191
190
 
192
191
  # General MIDI patch names
@@ -194,179 +193,179 @@ module MIDI
194
193
  #--
195
194
  # Pianos
196
195
  #++
197
- "Acoustic Grand Piano",
198
- "Bright Acoustic Piano",
199
- "Electric Grand Piano",
200
- "Honky-tonk Piano",
201
- "Electric Piano 1",
202
- "Electric Piano 2",
203
- "Harpsichord",
204
- "Clavichord",
196
+ 'Acoustic Grand Piano',
197
+ 'Bright Acoustic Piano',
198
+ 'Electric Grand Piano',
199
+ 'Honky-tonk Piano',
200
+ 'Electric Piano 1',
201
+ 'Electric Piano 2',
202
+ 'Harpsichord',
203
+ 'Clavichord',
205
204
  #--
206
205
  # Tuned Idiophones
207
206
  #++
208
- "Celesta",
209
- "Glockenspiel",
210
- "Music Box",
211
- "Vibraphone",
212
- "Marimba",
213
- "Xylophone",
214
- "Tubular Bells",
215
- "Dulcimer",
207
+ 'Celesta',
208
+ 'Glockenspiel',
209
+ 'Music Box',
210
+ 'Vibraphone',
211
+ 'Marimba',
212
+ 'Xylophone',
213
+ 'Tubular Bells',
214
+ 'Dulcimer',
216
215
  #--
217
216
  # Organs
218
217
  #++
219
- "Drawbar Organ",
220
- "Percussive Organ",
221
- "Rock Organ",
222
- "Church Organ",
223
- "Reed Organ",
224
- "Accordion",
225
- "Harmonica",
226
- "Tango Accordion",
218
+ 'Drawbar Organ',
219
+ 'Percussive Organ',
220
+ 'Rock Organ',
221
+ 'Church Organ',
222
+ 'Reed Organ',
223
+ 'Accordion',
224
+ 'Harmonica',
225
+ 'Tango Accordion',
227
226
  #--
228
227
  # Guitars
229
228
  #++
230
- "Acoustic Guitar (nylon)",
231
- "Acoustic Guitar (steel)",
232
- "Electric Guitar (jazz)",
233
- "Electric Guitar (clean)",
234
- "Electric Guitar (muted)",
235
- "Overdriven Guitar",
236
- "Distortion Guitar",
237
- "Guitar harmonics",
229
+ 'Acoustic Guitar (nylon)',
230
+ 'Acoustic Guitar (steel)',
231
+ 'Electric Guitar (jazz)',
232
+ 'Electric Guitar (clean)',
233
+ 'Electric Guitar (muted)',
234
+ 'Overdriven Guitar',
235
+ 'Distortion Guitar',
236
+ 'Guitar harmonics',
238
237
  #--
239
238
  # Basses
240
239
  #++
241
- "Acoustic Bass",
242
- "Electric Bass (finger)",
243
- "Electric Bass (pick)",
244
- "Fretless Bass",
245
- "Slap Bass 1",
246
- "Slap Bass 2",
247
- "Synth Bass 1",
248
- "Synth Bass 2",
240
+ 'Acoustic Bass',
241
+ 'Electric Bass (finger)',
242
+ 'Electric Bass (pick)',
243
+ 'Fretless Bass',
244
+ 'Slap Bass 1',
245
+ 'Slap Bass 2',
246
+ 'Synth Bass 1',
247
+ 'Synth Bass 2',
249
248
  #--
250
249
  # Strings
251
250
  #++
252
- "Violin",
253
- "Viola",
254
- "Cello",
255
- "Contrabass",
256
- "Tremolo Strings",
257
- "Pizzicato Strings",
258
- "Orchestral Harp",
259
- "Timpani",
251
+ 'Violin',
252
+ 'Viola',
253
+ 'Cello',
254
+ 'Contrabass',
255
+ 'Tremolo Strings',
256
+ 'Pizzicato Strings',
257
+ 'Orchestral Harp',
258
+ 'Timpani',
260
259
  #--
261
260
  # Ensemble strings and voices
262
261
  #++
263
- "String Ensemble 1",
264
- "String Ensemble 2",
265
- "SynthStrings 1",
266
- "SynthStrings 2",
267
- "Choir Aahs",
268
- "Voice Oohs",
269
- "Synth Voice",
270
- "Orchestra Hit",
262
+ 'String Ensemble 1',
263
+ 'String Ensemble 2',
264
+ 'SynthStrings 1',
265
+ 'SynthStrings 2',
266
+ 'Choir Aahs',
267
+ 'Voice Oohs',
268
+ 'Synth Voice',
269
+ 'Orchestra Hit',
271
270
  #--
272
271
  # Brass
273
272
  #++
274
- "Trumpet",
275
- "Trombone",
276
- "Tuba",
277
- "Muted Trumpet",
278
- "French Horn",
279
- "Brass Section",
280
- "SynthBrass 1",
281
- "SynthBrass 2",
273
+ 'Trumpet',
274
+ 'Trombone',
275
+ 'Tuba',
276
+ 'Muted Trumpet',
277
+ 'French Horn',
278
+ 'Brass Section',
279
+ 'SynthBrass 1',
280
+ 'SynthBrass 2',
282
281
  #--
283
282
  # Reeds
284
283
  #++
285
- "Soprano Sax", # 64
286
- "Alto Sax",
287
- "Tenor Sax",
288
- "Baritone Sax",
289
- "Oboe",
290
- "English Horn",
291
- "Bassoon",
292
- "Clarinet",
284
+ 'Soprano Sax', # 64
285
+ 'Alto Sax',
286
+ 'Tenor Sax',
287
+ 'Baritone Sax',
288
+ 'Oboe',
289
+ 'English Horn',
290
+ 'Bassoon',
291
+ 'Clarinet',
293
292
  #--
294
293
  # Pipes
295
294
  #++
296
- "Piccolo",
297
- "Flute",
298
- "Recorder",
299
- "Pan Flute",
300
- "Blown Bottle",
301
- "Shakuhachi",
302
- "Whistle",
303
- "Ocarina",
295
+ 'Piccolo',
296
+ 'Flute',
297
+ 'Recorder',
298
+ 'Pan Flute',
299
+ 'Blown Bottle',
300
+ 'Shakuhachi',
301
+ 'Whistle',
302
+ 'Ocarina',
304
303
  #--
305
304
  # Synth Leads
306
305
  #++
307
- "Lead 1 (square)",
308
- "Lead 2 (sawtooth)",
309
- "Lead 3 (calliope)",
310
- "Lead 4 (chiff)",
311
- "Lead 5 (charang)",
312
- "Lead 6 (voice)",
313
- "Lead 7 (fifths)",
314
- "Lead 8 (bass + lead)",
306
+ 'Lead 1 (square)',
307
+ 'Lead 2 (sawtooth)',
308
+ 'Lead 3 (calliope)',
309
+ 'Lead 4 (chiff)',
310
+ 'Lead 5 (charang)',
311
+ 'Lead 6 (voice)',
312
+ 'Lead 7 (fifths)',
313
+ 'Lead 8 (bass + lead)',
315
314
  #--
316
315
  # Synth Pads
317
316
  #++
318
- "Pad 1 (new age)",
319
- "Pad 2 (warm)",
320
- "Pad 3 (polysynth)",
321
- "Pad 4 (choir)",
322
- "Pad 5 (bowed)",
323
- "Pad 6 (metallic)",
324
- "Pad 7 (halo)",
325
- "Pad 8 (sweep)",
317
+ 'Pad 1 (new age)',
318
+ 'Pad 2 (warm)',
319
+ 'Pad 3 (polysynth)',
320
+ 'Pad 4 (choir)',
321
+ 'Pad 5 (bowed)',
322
+ 'Pad 6 (metallic)',
323
+ 'Pad 7 (halo)',
324
+ 'Pad 8 (sweep)',
326
325
  #--
327
326
  # Effects
328
327
  #++
329
- "FX 1 (rain)",
330
- "FX 2 (soundtrack)",
331
- "FX 3 (crystal)",
332
- "FX 4 (atmosphere)",
333
- "FX 5 (brightness)",
334
- "FX 6 (goblins)",
335
- "FX 7 (echoes)",
336
- "FX 8 (sci-fi)",
328
+ 'FX 1 (rain)',
329
+ 'FX 2 (soundtrack)',
330
+ 'FX 3 (crystal)',
331
+ 'FX 4 (atmosphere)',
332
+ 'FX 5 (brightness)',
333
+ 'FX 6 (goblins)',
334
+ 'FX 7 (echoes)',
335
+ 'FX 8 (sci-fi)',
337
336
  #--
338
337
  # Ethnic
339
338
  #++
340
- "Sitar",
341
- "Banjo",
342
- "Shamisen",
343
- "Koto",
344
- "Kalimba",
345
- "Bag pipe",
346
- "Fiddle",
347
- "Shanai",
339
+ 'Sitar',
340
+ 'Banjo',
341
+ 'Shamisen',
342
+ 'Koto',
343
+ 'Kalimba',
344
+ 'Bag pipe',
345
+ 'Fiddle',
346
+ 'Shanai',
348
347
  #--
349
348
  # Percussion
350
349
  #++
351
- "Tinkle Bell",
352
- "Agogo",
353
- "Steel Drums",
354
- "Woodblock",
355
- "Taiko Drum",
356
- "Melodic Tom",
357
- "Synth Drum",
358
- "Reverse Cymbal",
350
+ 'Tinkle Bell',
351
+ 'Agogo',
352
+ 'Steel Drums',
353
+ 'Woodblock',
354
+ 'Taiko Drum',
355
+ 'Melodic Tom',
356
+ 'Synth Drum',
357
+ 'Reverse Cymbal',
359
358
  #--
360
359
  # Sound Effects
361
360
  #++
362
- "Guitar Fret Noise",
363
- "Breath Noise",
364
- "Seashore",
365
- "Bird Tweet",
366
- "Telephone Ring",
367
- "Helicopter",
368
- "Applause",
369
- "Gunshot"
361
+ 'Guitar Fret Noise',
362
+ 'Breath Noise',
363
+ 'Seashore',
364
+ 'Bird Tweet',
365
+ 'Telephone Ring',
366
+ 'Helicopter',
367
+ 'Applause',
368
+ 'Gunshot'
370
369
  ]
371
370
 
372
371
  # GM drum notes start at 35 (C), so subtrack GM_DRUM_NOTE_LOWEST from your
@@ -374,53 +373,52 @@ module MIDI
374
373
  GM_DRUM_NOTE_LOWEST = 35
375
374
  # General MIDI drum channel note names.
376
375
  GM_DRUM_NOTE_NAMES = [
377
- "Acoustic Bass Drum", # 35, C
378
- "Bass Drum 1", # 36, C#
379
- "Side Stick", # 37, D
380
- "Acoustic Snare", # 38, D#
381
- "Hand Clap", # 39, E
382
- "Electric Snare", # 40, F
383
- "Low Floor Tom", # 41, F#
384
- "Closed Hi Hat", # 42, G
385
- "High Floor Tom", # 43, G#
386
- "Pedal Hi-Hat", # 44, A
387
- "Low Tom", # 45, A#
388
- "Open Hi-Hat", # 46, B
389
- "Low-Mid Tom", # 47, C
390
- "Hi Mid Tom", # 48, C#
391
- "Crash Cymbal 1", # 49, D
392
- "High Tom", # 50, D#
393
- "Ride Cymbal 1", # 51, E
394
- "Chinese Cymbal", # 52, F
395
- "Ride Bell", # 53, F#
396
- "Tambourine", # 54, G
397
- "Splash Cymbal", # 55, G#
398
- "Cowbell", # 56, A
399
- "Crash Cymbal 2", # 57, A#
400
- "Vibraslap", # 58, B
401
- "Ride Cymbal 2", # 59, C
402
- "Hi Bongo", # 60, C#
403
- "Low Bongo", # 61, D
404
- "Mute Hi Conga", # 62, D#
405
- "Open Hi Conga", # 63, E
406
- "Low Conga", # 64, F
407
- "High Timbale", # 65, F#
408
- "Low Timbale", # 66, G
409
- "High Agogo", # 67, G#
410
- "Low Agogo", # 68, A
411
- "Cabasa", # 69, A#
412
- "Maracas", # 70, B
413
- "Short Whistle", # 71, C
414
- "Long Whistle", # 72, C#
415
- "Short Guiro", # 73, D
416
- "Long Guiro", # 74, D#
417
- "Claves", # 75, E
418
- "Hi Wood Block", # 76, F
419
- "Low Wood Block", # 77, F#
420
- "Mute Cuica", # 78, G
421
- "Open Cuica", # 79, G#
422
- "Mute Triangle", # 80, A
423
- "Open Triangle" # 81, A#
376
+ 'Acoustic Bass Drum', # 35, C
377
+ 'Bass Drum 1', # 36, C#
378
+ 'Side Stick', # 37, D
379
+ 'Acoustic Snare', # 38, D#
380
+ 'Hand Clap', # 39, E
381
+ 'Electric Snare', # 40, F
382
+ 'Low Floor Tom', # 41, F#
383
+ 'Closed Hi Hat', # 42, G
384
+ 'High Floor Tom', # 43, G#
385
+ 'Pedal Hi-Hat', # 44, A
386
+ 'Low Tom', # 45, A#
387
+ 'Open Hi-Hat', # 46, B
388
+ 'Low-Mid Tom', # 47, C
389
+ 'Hi Mid Tom', # 48, C#
390
+ 'Crash Cymbal 1', # 49, D
391
+ 'High Tom', # 50, D#
392
+ 'Ride Cymbal 1', # 51, E
393
+ 'Chinese Cymbal', # 52, F
394
+ 'Ride Bell', # 53, F#
395
+ 'Tambourine', # 54, G
396
+ 'Splash Cymbal', # 55, G#
397
+ 'Cowbell', # 56, A
398
+ 'Crash Cymbal 2', # 57, A#
399
+ 'Vibraslap', # 58, B
400
+ 'Ride Cymbal 2', # 59, C
401
+ 'Hi Bongo', # 60, C#
402
+ 'Low Bongo', # 61, D
403
+ 'Mute Hi Conga', # 62, D#
404
+ 'Open Hi Conga', # 63, E
405
+ 'Low Conga', # 64, F
406
+ 'High Timbale', # 65, F#
407
+ 'Low Timbale', # 66, G
408
+ 'High Agogo', # 67, G#
409
+ 'Low Agogo', # 68, A
410
+ 'Cabasa', # 69, A#
411
+ 'Maracas', # 70, B
412
+ 'Short Whistle', # 71, C
413
+ 'Long Whistle', # 72, C#
414
+ 'Short Guiro', # 73, D
415
+ 'Long Guiro', # 74, D#
416
+ 'Claves', # 75, E
417
+ 'Hi Wood Block', # 76, F
418
+ 'Low Wood Block', # 77, F#
419
+ 'Mute Cuica', # 78, G
420
+ 'Open Cuica', # 79, G#
421
+ 'Mute Triangle', # 80, A
422
+ 'Open Triangle' # 81, A#
424
423
  ]
425
-
426
424
  end