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