Module Mu.Instrument

Music instruments.

Instruments

type t = [
| `Custom of string(*

Not in General MIDI

*)
| `Percussion(*

Not in General MIDI, use with 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 -> int

midi_program i is the zero-based MIDI program number for instrument i. Raises Invalid_argument on `Custom _ or `Percussion.

Predicates and comparisons

val equal : t -> t -> bool

equal i0 i1 is true iff i0 and i1 are the same instrument.

val compare : t -> t -> int

compare is a total order on instruments compatible with equal.

Instrument sets and maps

module Set : sig ... end

Instrument sets.

module Map : sig ... end

Instrument maps.