midilib 2.0.5 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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