Mu.InstrumentMusic instruments.
type t = [ | `Custom of stringNot in General MIDI
*)| `Percussion| `Accordion| `Acoustic_bass| `Acoustic_grand_piano| `Acoustic_guitar_nylon| `Acoustic_guitar_steel| `Agogo| `Alto_sax| `Applause| `Bagpipe| `Banjo| `Baritone_sax| `Bassoon| `Bird_tweet| `Blown_bottle| `Brass_section| `Breath_noise| `Bright_acoustic_piano| `Celesta| `Cello| `Choir_aahs| `Chorused_piano| `Church_organ| `Clarinet| `Clavinet| `Contrabass| `Distortion_guitar| `Dulccimer| `Electric_bass_fingered| `Electric_bass_picked| `Electric_grand_piano| `Electric_guitar_clean| `Electric_guitar_jazz| `Electric_guitar_muted| `English_horn| `Fiddle| `Flute| `French_horn| `Fretless_bass| `Fx1_train| `Fx2_soundtrack| `Fx3_crystal| `Fx4_atmosphere| `Fx5_brightness| `Fx6_goblins| `Fx7_echoes| `Fx8_sci_fi| `Glockenspiel| `Guitar_fret_noise| `Guitar_harmonics| `Gunshot| `Hammond_organ| `Harmonica| `Harpsichord| `Helicopter| `Honky_tonk_piano| `Kalimba| `Koto| `Lead1_square| `Lead2_sawtooth| `Lead3_calliope| `Lead4_chiff| `Lead5_charang| `Lead6_voice| `Lead7_fifths| `Lead8_bass_lead| `Marimba| `Melodic_drum| `Music_box| `Muted_trumpet| `Oboe| `Ocarina| `Orchestra_hit| `Orchestral_harp| `Overdriven_guitar| `Pad1_new_age| `Pad2_warm| `Pad3_polysynth| `Pad4_choir| `Pad5_bowed| `Pad6_metallic| `Pad7_halo| `Pad8_sweep| `Pan_flute| `Percussive_organ| `Piccolo| `Pizzicato_strings| `Recorder| `Reed_organ| `Reverse_cymbal| `Rhodes_piano| `Rock_organ| `Seashore| `Shakuhachi| `Shamisen| `Shanai| `Sitar| `Slap_bass1| `Slap_bass2| `Soprano_sax| `Steel_drums| `String_ensemble1| `String_ensemble2| `Synth_bass1| `Synth_bass2| `Synth_brass1| `Synth_brass2| `Synth_drum| `Synth_strings1| `Synth_strings2| `Synth_voice| `Taiko_drum| `Tango_accordion| `Telephone_ring| `Tenor_sax| `Timpani| `Tinkle_bell| `Tremolo_strings| `Trombone| `Trumpet| `Tuba| `Tubular_bells| `Vibraphone| `Viola| `Violin| `Voice_oohs| `Whistle| `Woodblock| `Xylophone ]The type for instruments as per General MIDI programs except for `Custom and `Percussion.
`Percussion should be used with Percussion pitches, these are treated specially during MIDI. They are performed on channel 10.
val midi_program : t -> intmidi_program i is the zero-based MIDI program number for instrument i. Raises Invalid_argument on `Custom _ or `Percussion.
module Set : sig ... endInstrument sets.
module Map : sig ... endInstrument maps.