1
2//////////////////////////////////////////////////////////////////////////
3//
4//   Slib, Sfront's SAOL library
5//   This file: The gmidi library (General MIDI definitions)
6//
7// Copyright (c) 1999-2006, Regents of the University of California
8// All rights reserved.
9//
10// Redistribution and use in source and binary forms, with or without
11// modification, are permitted provided that the following conditions are
12// met:
13//
14//  Redistributions of source code must retain the above copyright
15//  notice, this list of conditions and the following disclaimer.
16//
17//  Redistributions in binary form must reproduce the above copyright
18//  notice, this list of conditions and the following disclaimer in the
19//  documentation and/or other materials provided with the distribution.
20//
21//  Neither the name of the University of California, Berkeley nor the
22//  names of its contributors may be used to endorse or promote products
23//  derived from this software without specific prior written permission.
24//
25// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
26// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
27// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
28// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
29// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
30// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
31// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
32// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
33// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
34// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
35// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
36//
37//    Maintainer: John Lazzaro, lazzaro@cs.berkeley.edu
38//
39//////////////////////////////////////////////////////////////////////////
40
41
42//////////////////////////////////////////////////////////////////////////
43//
44//
45// This library contains the definitions for the 128 General MIDI preset
46// numbers, as well as the MIDI Note Numbers for the General MIDI drum
47// sounds.
48//
49// The General MIDI Instrument Names:
50//
51//
52//        Defined name           Preset   Description
53//
54//        GM_ACOUSTICGRAND       0        Acoustic Grand
55//        GM_BRIGHTACOUSTIC      1        Bright Acoustic
56//        GM_ELECTRICGRAND       2        Electric Grand
57//        GM_HONKYTONK           3        Honky-Tonk
58//        GM_ELECTRICPIANO1      4        Electric Piano 1
59//        GM_ELECTRICPIANO2      5        Electric Piano 2
60//        GM_HARPSICHORD         6        Harpsichord
61//        GM_CLAVINET            7        Clavinet
62//        GM_CELESTA             8        Celesta
63//        GM_GLOCKENSPIEL        9        Glockenspiel
64//        GM_MUSICBOX            10       Music Box
65//        GM_VIBRAPHONE          11       Vibraphone
66//        GM_MARIMBA             12       Marimba
67//        GM_XYLOPHONE           13       Xylophone
68//        GM_TUBULARBELLS        14       Tubular Bells
69//        GM_DULCIMER            15       Dulcimer
70//        GM_DRAWBARORGAN        16       Drawbar Organ
71//        GM_PERCUSSIVEORGAN     17       Percussive Organ
72//        GM_ROCKORGAN           18       Rock Organ
73//        GM_CHURCHORGAN         19       Church Organ
74//        GM_REEDORGAN           20       Reed Organ
75//        GM_ACCORDIAN           21       Accoridan
76//        GM_HARMONICA           22       Harmonica
77//        GM_TANGOACCORDIAN      23       Tango Accordian
78//        GM_NYLONSTRINGGUITAR   24       Nylon String Guitar
79//        GM_STEELSTRINGUITAR    25       Steel String Guitar
80//        GM_ELECTRICJAZZGUITAR  26       Electric Jazz Guitar
81//        GM_ELECTRICCLEANGUITAR 27       Electric Clean Guitar
82//        GM_ELECTRICMUTEDGUITAR 28       Electric Muted Guitar
83//        GM_OVERDRIVERGUITAR    29       Overdriven Guitar
84//        GM_DISTORTIONGUITAR    30       Distortion Guitar
85//        GM_GUITARHARMONICS     31       Guitar Harmonics
86//        GM_ACOUSTICBASS        32       Acoustic Bass
87//        GM_ELECTRICBASSFINGER  33       Electric Bass(finger)
88//        GM_ELECTRICBASSPICK    34       Electric Bass(pick)
89//        GM_FRETLESSBASS        35       Fretless Bass
90//        GM_SLAPBASS1           36       Slap Bass 1
91//        GM_SLAPBASS2           37       Slap Bass 2
92//        GM_SYNTHBASS1          38       Synth Bass 1
93//        GM_SYNTHBASS2          39       Synth Bass 2
94//        GM_VIOLIN              40       Violin
95//        GM_VIOLA               41       Viola
96//        GM_CELLO               42       Cello
97//        GM_CONTRABASS          43       Contrabass
98//        GM_TREMELOSTRINGS      44       Tremolo Strings
99//        GM_PIZZICATOSTRINGS    45       Pizzicato Strings
100//        GM_OCHESTRALSTRINGS    46       Orchestral Strings
101//        GM_TIMPANI             47       Timpani
102//        GM_STRINGENSEMBLE1     48       String Ensemble 1
103//        GM_STRINGENSEMBLE2     49       String Ensemble 2
104//        GM_SYNTHSTRINGS1       50       SynthStrings 1
105//        GM_SYNTHSTRINGS2       51       SynthStrings 2
106//        GM_CHIORAAHS           52       Choir Aahs
107//        GM_VOICEOOHS           53       Voice Oohs
108//        GM_SYNTHVOICE          54       Synth Voice
109//        GM_ORCHESTRAHIT        55       Orchestra Hit
110//        GM_TRUMPET             56       Trumpet
111//        GM_TROMBONE            57       Trombone
112//        GM_TUBA                58       Tuba
113//        GM_MUTEDTRUMPET        59       Muted Trumpet
114//        GM_FRENCHHORN          60       French Horn
115//        GM_BRASSSECTION        61       Brass Section
116//        GM_SYNTHBRASS1         62       SynthBrass 1
117//        GM_SYNTHBRASS2         63       SynthBrass 2
118//        GM_SOPRANOSAX          64       Soprano Sax
119//        GM_ALTOSAX             65       Alto Sax
120//        GM_TENORSAX            66       Tenor Sax
121//        GM_BARITONESAX         67       Baritone Sax
122//        GM_OBOE                68       Oboe
123//        GM_ENGLISHHORN         69       English Horn
124//        GM_BASSOON             70       Bassoon
125//        GM_CLARINET            71       Clarinet
126//        GM_PICCOLO             72       Piccolo
127//        GM_FLUTE               73       Flute
128//        GM_RECORDER            74       Recorder
129//        GM_PANFLUTE            75       Pan Flute
130//        GM_BLOWNBOTTLE         76       Blown Bottle
131//        GM_SHAKUHACHI          77       Skakuhachi
132//        GM_WHISTLE             78       Whistle
133//        GM_OCARINA             79       Ocarina
134//        GM_LEAD1SQUARE         80       Lead 1 (square)
135//        GM_LEAD2SAWTOOTH       81       Lead 2 (sawtooth)
136//        GM_LEAD3CALLIOPE       82       Lead 3 (calliope)
137//        GM_LEAD4CHIFF          83       Lead 4 (chiff)
138//        GM_LEAD5CHARANG        84       Lead 5 (charang)
139//        GM_LEAD6VOICE          85       Lead 6 (voice)
140//        GM_LEAD7FIFTHS         86       Lead 7 (fifths)
141//        GM_LEAD8BASSPLUSLEAD   87       Lead 8 (bass+lead)
142//        GM_PAD1NEWAGE          88       Pad 1 (new age)
143//        GM_PAD2WARM            89       Pad 2 (warm)
144//        GM_PAD3POLYSYNTH       90       Pad 3 (polysynth)
145//        GM_PAD4CHOIR           91       Pad 4 (choir)
146//        GM_PAD5BOWED           92       Pad 5 (bowed)
147//        GM_PAD6METALLIC        93       Pad 6 (metallic)
148//        GM_PAD7HALO            94       Pad 7 (halo)
149//        GM_PAD8SWEEP           95       Pad 8 (sweep)
150//        GM_FX1RAIN             96       FX 1 (rain)
151//        GM_FX2SOUNDTRACK       97       FX 2 (soundtrack)
152//        GM_FX3CRYSTAL          98       FX 3 (crystal)
153//        GM_FX4ATMOSPHERE       99       FX 4 (atmosphere)
154//        GM_FX5BRIGHTNESS      100       FX 5 (brightness)
155//        GM_FX6GLOBLINS        101       FX 6 (goblins)
156//        GM_FX7ECHOES          102       FX 7 (echoes)
157//        GM_FX8SCIFI           103       FX 8 (sci-fi)
158//        GM_SITAR              104       Sitar
159//        GM_BANJO              105       Banjo
160//        GM_SHAMISEN           106       Shamisen
161//        GM_KOTO               107       Koto
162//        GM_KALIMBA            108       Kalimba
163//        GM_BAGPIPE            109       Bagpipe
164//        GM_FIDDLE             110       Fiddle
165//        GM_SHANAI             111       Shanai
166//        GM_TINKEBELL          112       Tinkle Bell
167//        GM_AGOGO              113       Agogo
168//        GM_STEELDRUMS         114       Steel Drums
169//        GM_WOODBLOCK          115       Woodblock
170//        GM_TAIKODRUM          116       Taiko Drum
171//        GM_MELODICTOM         117       Melodic Tom
172//        GM_SYNTHDRUM          118       Synth Drum
173//        GM_REVERSECYMBAL      119       Reverse Cymbal
174//        GM_GUITARFRETNOISE    120       Guitar Fret Noise
175//        GM_BREATHNOISE        121       Breath Noise
176//        GM_SEASHORE           122       Seashore
177//        GM_BIRDTWEET          123       Bird Tweet
178//        GM_TELEPHONERING      124       Telephone Ring
179//        GM_HELICOPTER         125       Helicopter
180//        GM_APPLAUSE           126       Applause
181//        GM_GUNSHOT            127       Gunshot
182//
183//
184//  The General MIDI Drum Note Numbers
185//
186//        Definition             Note     Description
187//
188//        GMD_ACOUSTICBASSDRUM   35       Acoustic Bass Drum
189//        GMD_BASSDRUM1          36       Bass Drum 1
190//        GMD_SIDESTICK          37       Side Stick
191//        GMD_ACOUSTICSNARE      38       Acoustic Snare
192//        GMD_HANDCLAP           39       Hand Clap
193//        GMD_ELECTRICSNARE      40       Electric Snare
194//        GMD_LOWFLOORTOM        41       Low Floor Tom
195//        GMD_CLOSEDHIHAT        42       Closed Hi-Hat
196//        GMD_HIGHFLOORTOM       43       High Floor Tom
197//        GMD_PEDALHIHAT         44       Pedal Hi-Hat
198//        GMD_LOWTOM             45       Low Tom
199//        GMD_OPENHIHAT          46       Open Hi-Hat
200//        GMD_LOWMIDTOM          47       Low-Mid Tom
201//        GMD_HIMIDTOM           48       Hi-Mid Tom
202//        GMD_CRASHCYMBAL1       49       Crash Cymbal 1
203//        GMD_HITOM              50       High Tom
204//        GMD_RIDECYMBAL1        51       Ride Cymbal 1
205//        GMD_CHINESECYMBAL      52       Chinese Cymbal
206//        GMD_RIDEBELL           53       Ride Bell
207//        GMD_TAMBOURINE         54       Tambourine
208//        GMD_SPLASHCYMBAL       55       Splash Cymbal
209//        GMD_COWBELL            56       Cowbell
210//        GMD_CRASHCYMBAL2       57       Crash Cymbal 2
211//        GMD_VIBRASLAP          58       Vibraslap
212//        GMD_RIDECYMBAL2        59       Ride Cymbal 2
213//        GMD_HIBONGO            60       Hi Bongo
214//        GMD_LOBONGO            61       Low Bongo
215//        GMD_MUTEHICONGA        62       Mute Hi Conga
216//        GMD_OPENHICONGA        63       Open Hi Conga
217//        GMD_LOWCONGA           64       Low Conga
218//        GMD_HIGHTIMBALE        65       High Timbale
219//        GMD_LOWTIMBALE         66       Low Timbale
220//        GMD_HIGHAGOGO          67       High Agogo
221//        GMD_LOWAGOGO           68       Low Agogo
222//        GMD_CABASA             69       Cabasa
223//        GMD_MARACAS            70       Maracas
224//        GMD_SHORTWHISTLE       71       Short Whistle
225//        GMD_LONGWHISTLE        72       Long Whistle
226//        GMD_SHORTGUIRO         73       Short Guiro
227//        GMD_LONGGUIRO          74       Long Guiro
228//        GMD_CLAVES             75       Claves
229//        GMD_HIWOODBLOCK        76       Hi Wood Block
230//        GMD_LOWWOODBLOCK       77       Low Wood Block
231//        GMD_MUTECUICA          78       Mute Cuica
232//        GMD_OPENCUICA          79       Open Cuica
233//        GMD_MUTETRIANGLE       80       Mute Triangle
234//        GMD_OPENTRIANGLE       81      Open Triangle
235//
236//////////////////////////////////////////////////////////////////////////
237
238
239//////////////////////////////////////////////////////////////////////////
240//
241// library definitions begin here
242//
243
244#ifndef SLIB_GMIDI
245#define SLIB_GMIDI
246
247#define GM_ACOUSTICGRAND       0
248#define GM_BRIGHTACOUSTIC      1
249#define GM_ELECTRICGRAND       2
250#define GM_HONKYTONK           3
251#define GM_ELECTRICPIANO1      4
252#define GM_ELECTRICPIANO2      5
253#define GM_HARPSICHORD         6
254#define GM_CLAVINET            7
255#define GM_CELESTA             8
256#define GM_GLOCKENSPIEL        9
257#define GM_MUSICBOX            10
258#define GM_VIBRAPHONE          11
259#define GM_MARIMBA             12
260#define GM_XYLOPHONE           13
261#define GM_TUBULARBELLS        14
262#define GM_DULCIMER            15
263#define GM_DRAWBARORGAN        16
264#define GM_PERCUSSIVEORGAN     17
265#define GM_ROCKORGAN           18
266#define GM_CHURCHORGAN         19
267#define GM_REEDORGAN           20
268#define GM_ACCORDIAN           21
269#define GM_HARMONICA           22
270#define GM_TANGOACCORDIAN      23
271#define GM_NYLONSTRINGGUITAR   24
272#define GM_STEELSTRINGUITAR    25
273#define GM_ELECTRICJAZZGUITAR  26
274#define GM_ELECTRICCLEANGUITAR 27
275#define GM_ELECTRICMUTEDGUITAR 28
276#define GM_OVERDRIVERGUITAR    29
277#define GM_DISTORTIONGUITAR    30
278#define GM_GUITARHARMONICS     31
279#define GM_ACOUSTICBASS        32
280#define GM_ELECTRICBASSFINGER  33
281#define GM_ELECTRICBASSPICK    34
282#define GM_FRETLESSBASS        35
283#define GM_SLAPBASS1           36
284#define GM_SLAPBASS2           37
285#define GM_SYNTHBASS1          38
286#define GM_SYNTHBASS2          39
287#define GM_VIOLIN              40
288#define GM_VIOLA               41
289#define GM_CELLO               42
290#define GM_CONTRABASS          43
291#define GM_TREMELOSTRINGS      44
292#define GM_PIZZICATOSTRINGS    45
293#define GM_OCHESTRALSTRINGS    46
294#define GM_TIMPANI             47
295#define GM_STRINGENSEMBLE1     48
296#define GM_STRINGENSEMBLE2     49
297#define GM_SYNTHSTRINGS1       50
298#define GM_SYNTHSTRINGS2       51
299#define GM_CHIORAAHS           52
300#define GM_VOICEOOHS           53
301#define GM_SYNTHVOICE          54
302#define GM_ORCHESTRAHIT        55
303#define GM_TRUMPET             56
304#define GM_TROMBONE            57
305#define GM_TUBA                58
306#define GM_MUTEDTRUMPET        59
307#define GM_FRENCHHORN          60
308#define GM_BRASSSECTION        61
309#define GM_SYNTHBRASS1         62
310#define GM_SYNTHBRASS2         63
311#define GM_SOPRANOSAX          64
312#define GM_ALTOSAX             65
313#define GM_TENORSAX            66
314#define GM_BARITONESAX         67
315#define GM_OBOE                68
316#define GM_ENGLISHHORN         69
317#define GM_BASSOON             70
318#define GM_CLARINET            71
319#define GM_PICCOLO             72
320#define GM_FLUTE               73
321#define GM_RECORDER            74
322#define GM_PANFLUTE            75
323#define GM_BLOWNBOTTLE         76
324#define GM_SHAKUHACHI          77
325#define GM_WHISTLE             78
326#define GM_OCARINA             79
327#define GM_LEAD1SQUARE         80
328#define GM_LEAD2SAWTOOTH       81
329#define GM_LEAD3CALLIOPE       82
330#define GM_LEAD4CHIFF          83
331#define GM_LEAD5CHARANG        84
332#define GM_LEAD6VOICE          85
333#define GM_LEAD7FIFTHS         86
334#define GM_LEAD8BASSPLUSLEAD   87
335#define GM_PAD1NEWAGE          88
336#define GM_PAD2WARM            89
337#define GM_PAD3POLYSYNTH       90
338#define GM_PAD4CHOIR           91
339#define GM_PAD5BOWED           92
340#define GM_PAD6METALLIC        93
341#define GM_PAD7HALO            94
342#define GM_PAD8SWEEP           95
343#define GM_FX1RAIN             96
344#define GM_FX2SOUNDTRACK       97
345#define GM_FX3CRYSTAL          98
346#define GM_FX4ATMOSPHERE       99
347#define GM_FX5BRIGHTNESS      100
348#define GM_FX6GLOBLINS        101
349#define GM_FX7ECHOES          102
350#define GM_FX8SCIFI           103
351#define GM_SITAR              104
352#define GM_BANJO              105
353#define GM_SHAMISEN           106
354#define GM_KOTO               107
355#define GM_KALIMBA            108
356#define GM_BAGPIPE            109
357#define GM_FIFFLE             110
358#define GM_SHANAI             111
359#define GM_TINKEBELL          112
360#define GM_AGOGO              113
361#define GM_STEELDRUMS         114
362#define GM_WOODBLOCK          115
363#define GM_TAIKODRUM          116
364#define GM_MELODICTOM         117
365#define GM_SYNTHDRUM          118
366#define GM_REVERSECYMBAL      119
367#define GM_GUITARFRETNOISE    120
368#define GM_BREATHNOISE        121
369#define GM_SEASHORE           122
370#define GM_BIRDTWEET          123
371#define GM_TELEPHONERING      124
372#define GM_HELICOPTER         125
373#define GM_APPLAUSE           126
374#define GM_GUNSHOT            127
375
376#define GMD_ACOUSTICBASSDRUM   35
377#define GMD_BASSDRUM1          36
378#define GMD_SIDESTICK          37
379#define GMD_ACOUSTICSNARE      38
380#define GMD_HANDCLAP           39
381#define GMD_ELECTRICSNARE      40
382#define GMD_LOWFLOORTOM        41
383#define GMD_CLOSEDHIHAT        42
384#define GMD_HIGHFLOORTOM       43
385#define GMD_PEDALHIHAT         44
386#define GMD_LOWTOM             45
387#define GMD_OPENHIHAT          46
388#define GMD_LOWMIDTOM          47
389#define GMD_HIMIDTOM           48
390#define GMD_CRASHCYMBAL1       49
391#define GMD_HITOM              50
392#define GMD_RIDECYMBAL1        51
393#define GMD_CHINESECYMBAL      52
394#define GMD_RIDEBELL           53
395#define GMD_TAMBOURINE         54
396#define GMD_SPLASHCYMBAL       55
397#define GMD_COWBELL            56
398#define GMD_CRASHCYMBAL2       57
399#define GMD_VIBRASLAP          58
400#define GMD_RIDECYMBAL2        59
401#define GMD_HIBONGO            60
402#define GMD_LOBONGO            61
403#define GMD_MUTEHICONGA        62
404#define GMD_OPENHICONGA        63
405#define GMD_LOWCONGA           64
406#define GMD_HIGHTIMBALE        65
407#define GMD_LOWTIMBALE         66
408#define GMD_HIGHAGOGO          67
409#define GMD_LOWAGOGO           68
410#define GMD_CABASA             69
411#define GMD_MARACAS            70
412#define GMD_SHORTWHISTLE       71
413#define GMD_LONGWHISTLE        72
414#define GMD_SHORTGUIRO         73
415#define GMD_LONGGUIRO          74
416#define GMD_CLAVES             75
417#define GMD_HIWOODBLOCK        76
418#define GMD_LOWWOODBLOCK       77
419#define GMD_MUTECUICA          78
420#define GMD_OPENCUICA          79
421#define GMD_MUTETRIANGLE       80
422#define GMD_OPENTRIANGLE       81
423
424
425#endif // SLIB_GMIDI
426
427