music-parts-1.8.1: src/Music/Parts/Internal/Data.hs
{-# LANGUAGE TypeSynonymInstances #-} -- because clef
{-# LANGUAGE FlexibleInstances #-} -- because clef
{-# LANGUAGE CPP #-}
module Music.Parts.Internal.Data where
import Music.Pitch.Clef
import Music.Pitch.Ambitus
import Music.Pitch
-- type Clef = Int
type StandardSoundId = String
#ifndef GHCI
instance Num Clef where
fromInteger 0 = trebleClef
fromInteger 1 = altoClef
fromInteger 2 = bassClef
#endif
data InstrumentTopCategory
= Woodwind
| Brass
| Keyboard
| Fretted
| Percussion
| Vocal
| Strings
| Other
deriving (Show)
data InstrumentDef = InstrumentDef {
_midiProgram :: Int,
_defaultMidiChannel :: Int,
_soundId :: StandardSoundId,
_scoreOrder :: Double,
_defaultClef :: Clef,
_allowedClefs :: [Clef],
_topCategory :: InstrumentTopCategory,
_midiName :: String,
_longName :: String,
_shortName :: String,
-- Map from range -> dynamic
-- _comfortableRange :: Ambitus Pitch,
_allowedRange :: Ambitus Pitch
}
deriving (Show)
{-
Sanity:
>>> fmap _midiProgram defs == [0..127]
-}
defs = [
InstrumentDef {
_soundId = "keyboard.piano",
_midiProgram = 0,
_defaultMidiChannel = 0,
_scoreOrder = 5.0,
_topCategory = Keyboard,
_defaultClef = trebleClef,
_longName = "Piano"
},
InstrumentDef {
_soundId = "keyboard.piano",
_midiProgram = 1,
_defaultMidiChannel = 0,
_scoreOrder = 5.0,
_topCategory = Keyboard,
_defaultClef = trebleClef,
_longName = "Bright Acoustic Piano"
},
InstrumentDef {
_soundId = "keyboard.piano.electric",
_midiProgram = 2,
_defaultMidiChannel = 0,
_scoreOrder = 5.0,
_topCategory = Keyboard,
_defaultClef = trebleClef,
_longName = "Electric Grand Piano"
},
InstrumentDef {
_soundId = "keyboard.piano.honky-tonk",
_midiProgram = 3,
_defaultMidiChannel = 0,
_scoreOrder = 5.0,
_topCategory = Keyboard,
_defaultClef = trebleClef,
_longName = "Honky-tonk Piano"
},
InstrumentDef {
_soundId = "keyboard.piano.electric",
_midiProgram = 4,
_defaultMidiChannel = 0,
_scoreOrder = 5.0,
_defaultClef = trebleClef,
_longName = "Electric Piano 1"
},
InstrumentDef {
_soundId = "keyboard.piano.electric",
_midiProgram = 5,
_defaultMidiChannel = 0,
_scoreOrder = 5.0,
_topCategory = Keyboard,
_defaultClef = trebleClef,
_longName = "Electric Piano 2"
},
InstrumentDef {
_soundId = "keyboard.harpsichord",
_midiProgram = 6,
_defaultMidiChannel = 0,
_scoreOrder = 5.0,
_topCategory = Keyboard,
_defaultClef = trebleClef,
_longName = "Harpsichord"
},
InstrumentDef {
_soundId = "keyboard.electric",
_midiProgram = 7,
_defaultMidiChannel = 0,
_scoreOrder = 5.0,
_topCategory = Keyboard,
_defaultClef = trebleClef,
_longName = "Clavinet"
},
InstrumentDef {
_soundId = "keyboard.celesta",
_midiProgram = 8,
_defaultMidiChannel = 0,
_scoreOrder = 5.0,
_topCategory = Keyboard,
_defaultClef = trebleClef,
_longName = "Celesta"
},
InstrumentDef {
_midiProgram = 9,
_defaultMidiChannel = 0,
_scoreOrder = 5.0,
_topCategory = Percussion,
_defaultClef = trebleClef,
_longName = "Glockenspiel"
},
InstrumentDef {
_midiProgram = 10,
_defaultMidiChannel = 0,
_scoreOrder = 5.0,
_topCategory = Percussion,
_defaultClef = trebleClef,
_longName = "Music Box"
},
InstrumentDef {
_soundId = "pitched-percussion.vibraphone",
_midiProgram = 11,
_defaultMidiChannel = 0,
_scoreOrder = 4.0,
_topCategory = Percussion,
_defaultClef = trebleClef,
_longName = "Vibraphone"
},
InstrumentDef {
_soundId = "pitched-percussion.marimba",
_midiProgram = 12,
_defaultMidiChannel = 0,
_scoreOrder = 4.0,
_topCategory = Percussion,
_defaultClef = trebleClef,
_longName = "Marimba"
},
InstrumentDef {
_soundId = "pitched-percussion.xylophone",
_midiProgram = 13,
_defaultMidiChannel = 0,
_scoreOrder = 4.0,
_topCategory = Percussion,
_defaultClef = trebleClef,
_longName = "Xylophone"
},
InstrumentDef {
_soundId = "pitched-percussion.tubular-bells",
_midiProgram = 14,
_defaultMidiChannel = 0,
_scoreOrder = 4.0,
_topCategory = Percussion,
_defaultClef = trebleClef,
_longName = "Tubular Bells"
},
InstrumentDef {
_midiProgram = 15,
_defaultMidiChannel = 0,
_scoreOrder = 4.0,
_topCategory = Fretted,
_defaultClef = trebleClef,
_longName = "Dulcimer"
},
InstrumentDef {
_midiProgram = 16,
_defaultMidiChannel = 0,
_scoreOrder = 5.0,
_topCategory = Keyboard,
_defaultClef = trebleClef,
_longName = "Drawbar Organ"
},
InstrumentDef {
_midiProgram = 17,
_defaultMidiChannel = 0,
_scoreOrder = 5.0,
_topCategory = Keyboard,
_defaultClef = trebleClef,
_longName = "Percussive Organ"
},
InstrumentDef {
_midiProgram = 18,
_defaultMidiChannel = 0,
_scoreOrder = 5.0,
_topCategory = Keyboard,
_defaultClef = trebleClef,
_longName = "Rock Organ"
},
InstrumentDef {
_midiProgram = 19,
_defaultMidiChannel = 0,
_scoreOrder = 5.0,
_defaultClef = trebleClef,
_longName = "Church Organ"
},
InstrumentDef {
_midiProgram = 20,
_defaultMidiChannel = 0,
_scoreOrder = 5.0,
_topCategory = Keyboard,
_defaultClef = trebleClef,
_longName = "Reed Organ"
},
InstrumentDef {
_midiProgram = 21,
_defaultMidiChannel = 0,
_scoreOrder = 5.0,
_topCategory = Keyboard,
_defaultClef = trebleClef,
_longName = "Accordion"
},
InstrumentDef {
_midiProgram = 22,
_defaultMidiChannel = 0,
_scoreOrder = 5.0,
_topCategory = Keyboard,
_defaultClef = trebleClef,
_longName = "Harmonica"
},
InstrumentDef {
_midiProgram = 23,
_defaultMidiChannel = 0,
_scoreOrder = 5.0,
_topCategory = Keyboard,
_defaultClef = trebleClef,
_longName = "Tango Accordion"
},
InstrumentDef {
_midiProgram = 24,
_defaultMidiChannel = 0,
_scoreOrder = 5.0,
_topCategory = Fretted,
_defaultClef = trebleClef,
_longName = "Acoustic Guitar (nylon)"
},
InstrumentDef {
_midiProgram = 25,
_defaultMidiChannel = 0,
_scoreOrder = 5.0,
_topCategory = Fretted,
_defaultClef = trebleClef,
_longName = "Acoustic Guitar (steel)"
},
InstrumentDef {
_midiProgram = 26,
_defaultMidiChannel = 0,
_scoreOrder = 5.0,
_topCategory = Fretted,
_defaultClef = trebleClef,
_longName = "Electric Guitar (jazz)"
},
InstrumentDef {
_midiProgram = 27,
_defaultMidiChannel = 0,
_scoreOrder = 5.0,
_topCategory = Fretted,
_defaultClef = trebleClef,
_longName = "Electric Guitar (clean)"
},
InstrumentDef {
_midiProgram = 28,
_defaultMidiChannel = 0,
_scoreOrder = 5.0,
_topCategory = Fretted,
_defaultClef = trebleClef,
_longName = "Electric Guitar (muted)"
},
InstrumentDef {
_midiProgram = 29,
_defaultMidiChannel = 0,
_scoreOrder = 5.0,
_topCategory = Fretted,
_defaultClef = trebleClef,
_longName = "Overdriven Guitar"
},
InstrumentDef {
_midiProgram = 30,
_defaultMidiChannel = 0,
_scoreOrder = 5.0,
_topCategory = Fretted,
_defaultClef = trebleClef,
_longName = "Distortion Guitar"
},
InstrumentDef {
_midiProgram = 31,
_defaultMidiChannel = 0,
_scoreOrder = 5.0,
_topCategory = Fretted,
_defaultClef = trebleClef,
_longName = "Guitar Harmonics"
},
InstrumentDef {
_midiProgram = 32,
_defaultMidiChannel = 0,
_scoreOrder = 8.0,
_topCategory = Fretted,
_defaultClef = bassClef,
_longName = "Acoustic Bass"
},
InstrumentDef {
_midiProgram = 33,
_defaultMidiChannel = 0,
_scoreOrder = 8.0,
_topCategory = Fretted,
_defaultClef = bassClef,
_longName = "Electric Bass (finger)"
},
InstrumentDef {
_midiProgram = 34,
_defaultMidiChannel = 0,
_scoreOrder = 8.0,
_topCategory = Fretted,
_defaultClef = bassClef,
_longName = "Electric Bass (pick)"
},
InstrumentDef {
_midiProgram = 35,
_defaultMidiChannel = 0,
_scoreOrder = 8.0,
_topCategory = Fretted,
_defaultClef = bassClef,
_longName = "Fretless Bass"
},
InstrumentDef {
_midiProgram = 36,
_defaultMidiChannel = 0,
_scoreOrder = 8.0,
_topCategory = Fretted,
_defaultClef = bassClef,
_longName = "Slap Bass 1"
},
InstrumentDef {
_midiProgram = 37,
_defaultMidiChannel = 0,
_scoreOrder = 8.0,
_topCategory = Fretted,
_defaultClef = bassClef,
_longName = "Slap Bass 2"
},
InstrumentDef {
_midiProgram = 38,
_defaultMidiChannel = 0,
_scoreOrder = 8.0,
_topCategory = Fretted,
_defaultClef = bassClef,
_longName = "Synth Bass 1"
},
InstrumentDef {
_midiProgram = 39,
_defaultMidiChannel = 0,
_scoreOrder = 8.0,
_topCategory = Fretted,
_defaultClef = bassClef,
_longName = "Synth Bass 2"
},
InstrumentDef {
_midiProgram = 40,
_defaultMidiChannel = 12,
_scoreOrder = 7.1,
_topCategory = Strings,
_defaultClef = trebleClef,
_longName = "Violin"
},
InstrumentDef {
_midiProgram = 41,
_defaultMidiChannel = 13,
_scoreOrder = 7.2,
_topCategory = Strings,
_defaultClef = altoClef,
_longName = "Viola"
},
InstrumentDef {
_midiProgram = 42,
_defaultMidiChannel = 14,
_scoreOrder = 7.3,
_topCategory = Strings,
_defaultClef = bassClef,
_longName = "Violoncello"
},
InstrumentDef {
_midiProgram = 43,
_defaultMidiChannel = 15,
_scoreOrder = 7.4,
_topCategory = Strings,
_defaultClef = bassClef,
_longName = "Contrabass"
},
--
InstrumentDef {
_midiProgram = 44,
_defaultMidiChannel = 0,
_scoreOrder = 7.0,
_topCategory = Strings,
_defaultClef = trebleClef,
_longName = "Tremolo Strings"
},
InstrumentDef {
_midiProgram = 45,
_defaultMidiChannel = 0,
_scoreOrder = 7.0,
_topCategory = Strings,
_defaultClef = trebleClef,
_longName = "Pizzicato Strings"
},
InstrumentDef {
_midiProgram = 46,
_defaultMidiChannel = 11,
_scoreOrder = 5.9,
_topCategory = Fretted,
_defaultClef = trebleClef,
_longName = "Orchestral Harp"
},
--
InstrumentDef {
_midiProgram = 47,
_defaultMidiChannel = 8,
_scoreOrder = 2.5,
_topCategory = Percussion,
_defaultClef = bassClef,
_longName = "Timpani"
},
--
InstrumentDef {
_midiProgram = 48,
_defaultMidiChannel = 0,
_scoreOrder = 7.0,
_topCategory = Strings,
_defaultClef = trebleClef,
_longName = "String Ensemble 1"
},
InstrumentDef {
_midiProgram = 49,
_defaultMidiChannel = 0,
_scoreOrder = 7.0,
_topCategory = Strings,
_defaultClef = trebleClef,
_longName = "String Ensemble 2"
},
InstrumentDef {
_midiProgram = 50,
_defaultMidiChannel = 0,
_scoreOrder = 7.0,
_topCategory = Strings,
_defaultClef = trebleClef,
_longName = "Synth Strings 1"
},
InstrumentDef {
_midiProgram = 51,
_defaultMidiChannel = 0,
_scoreOrder = 7.0,
_topCategory = Strings,
_defaultClef = trebleClef,
_longName = "Synth Strings 2"
},
--
InstrumentDef {
_midiProgram = 52,
_defaultMidiChannel = 0,
_scoreOrder = 1.0,
_topCategory = Vocal,
_defaultClef = trebleClef,
_longName = "Choir Aahs"
},
InstrumentDef {
_midiProgram = 53,
_defaultMidiChannel = 0,
_scoreOrder = 1.0,
_topCategory = Vocal,
_defaultClef = trebleClef,
_longName = "Voice Oohs"
},
InstrumentDef {
_midiProgram = 54,
_defaultMidiChannel = 0,
_scoreOrder = 1.0,
_topCategory = Vocal,
_defaultClef = trebleClef,
_longName = "Synth Choir"
},
InstrumentDef {
_midiProgram = 55,
_defaultMidiChannel = 0,
_scoreOrder = 1.0,
_topCategory = Vocal,
_defaultClef = trebleClef,
_longName = "Orchestra Hit"
},
--
InstrumentDef {
_midiProgram = 56,
_defaultMidiChannel = 5,
_scoreOrder = 2.2,
_topCategory = Brass,
_defaultClef = trebleClef,
_longName = "Trumpet in Bb"
},
InstrumentDef {
_midiProgram = 57,
_defaultMidiChannel = 6,
_scoreOrder = 2.3,
_topCategory = Brass,
_defaultClef = bassClef,
_longName = "Trombone"
},
InstrumentDef {
_midiProgram = 58,
_defaultMidiChannel = 7,
_scoreOrder = 2.4,
_topCategory = Brass,
_defaultClef = bassClef,
_longName = "Tuba"
},
InstrumentDef {
_midiProgram = 59,
_defaultMidiChannel = 0,
_scoreOrder = 2.2,
_topCategory = Brass,
_defaultClef = trebleClef,
_longName = "Muted Trumpet"
},
InstrumentDef {
_midiProgram = 60,
_defaultMidiChannel = 4,
_scoreOrder = 2.1,
_topCategory = Brass,
_defaultClef = trebleClef,
_midiName = "French Horn",
_longName = "Horn in F"
},
InstrumentDef {
_midiProgram = 61,
_defaultMidiChannel = 0,
_scoreOrder = 2.0,
_topCategory = Brass,
_defaultClef = trebleClef,
_longName = "Brass Section"
},
InstrumentDef {
_midiProgram = 62,
_defaultMidiChannel = 0,
_scoreOrder = 2.0,
_topCategory = Brass,
_defaultClef = trebleClef,
_longName = "Synth Brass 1"
},
InstrumentDef {
_midiProgram = 63,
_defaultMidiChannel = 0,
_scoreOrder = 2.0,
_topCategory = Brass,
_defaultClef = trebleClef,
_longName = "Synth Brass 2"
},
--
InstrumentDef {
_midiProgram = 64,
_defaultMidiChannel = 0,
_scoreOrder = 1.51,
_topCategory = Brass,
_defaultClef = trebleClef,
_longName = "Soprano Sax"
},
InstrumentDef {
_midiProgram = 65,
_defaultMidiChannel = 0,
_scoreOrder = 1.52,
_topCategory = Brass,
_defaultClef = trebleClef,
_longName = "Alto Sax"
},
InstrumentDef {
_midiProgram = 66,
_defaultMidiChannel = 0,
_scoreOrder = 1.53,
_topCategory = Brass,
_defaultClef = trebleClef,
_longName = "Tenor Sax"
},
InstrumentDef {
_midiProgram = 67,
_defaultMidiChannel = 0,
_scoreOrder = 1.54,
_topCategory = Brass,
_defaultClef = trebleClef,
_longName = "Baritone Sax"
},
InstrumentDef {
_midiProgram = 68,
_defaultMidiChannel = 1,
_scoreOrder = 1.3,
_topCategory = Woodwind,
_defaultClef = trebleClef,
_longName = "Oboe"
},
InstrumentDef {
_midiProgram = 69,
_defaultMidiChannel = 1,
_scoreOrder = 1.4,
_topCategory = Woodwind,
_defaultClef = trebleClef,
_longName = "English Horn"
},
InstrumentDef {
_midiProgram = 70,
_defaultMidiChannel = 3,
_scoreOrder = 1.7,
_topCategory = Woodwind,
_defaultClef = bassClef,
_longName = "Bassoon"
},
InstrumentDef {
_midiProgram = 71,
_defaultMidiChannel = 2,
_scoreOrder = 1.6,
_topCategory = Woodwind,
_defaultClef = trebleClef,
_longName = "Clarinet in Bb"
},
--
InstrumentDef {
_midiProgram = 72,
_defaultMidiChannel = 0,
_scoreOrder = 1.1,
_topCategory = Woodwind,
_defaultClef = trebleClef,
_longName = "Piccolo"
},
InstrumentDef {
_midiProgram = 73,
_defaultMidiChannel = 0,
_scoreOrder = 1.2,
_topCategory = Woodwind,
_defaultClef = trebleClef,
_longName = "Flute"
},
InstrumentDef {
_midiProgram = 74,
_defaultMidiChannel = 0,
_scoreOrder = 1.0,
_topCategory = Woodwind,
_defaultClef = trebleClef,
_longName = "Recorder"
},
InstrumentDef {
_midiProgram = 75,
_defaultMidiChannel = 0,
_scoreOrder = 1.0,
_topCategory = Woodwind,
_defaultClef = trebleClef,
_longName = "Pan Flute"
},
InstrumentDef {
_midiProgram = 76,
_defaultMidiChannel = 0,
_scoreOrder = 1.0,
_topCategory = Woodwind,
_defaultClef = trebleClef,
_longName = "Blown bottle"
},
InstrumentDef {
_midiProgram = 77,
_defaultMidiChannel = 0,
_scoreOrder = 1.0,
_topCategory = Woodwind,
_defaultClef = trebleClef,
_longName = "Shakuhachi"
},
InstrumentDef {
_midiProgram = 78,
_defaultMidiChannel = 0,
_scoreOrder = 1.0,
_topCategory = Vocal,
_defaultClef = trebleClef,
_longName = "Whistle"
},
InstrumentDef {
_midiProgram = 79,
_defaultMidiChannel = 0,
_scoreOrder = 1.0,
_defaultClef = trebleClef,
_longName = "Ocarina"
},
--
InstrumentDef {
_midiProgram = 80,
_defaultMidiChannel = 0,
_scoreOrder = 1.0,
_defaultClef = trebleClef,
_longName = "Lead 1 (square)"
},
InstrumentDef {
_midiProgram = 81,
_defaultMidiChannel = 0,
_scoreOrder = 1.0,
_defaultClef = trebleClef,
_longName = "Lead 2 (sawtooth)"
},
InstrumentDef {
_midiProgram = 82,
_defaultMidiChannel = 0,
_scoreOrder = 1.0,
_defaultClef = trebleClef,
_longName = "Lead 3 (calliope)"
},
InstrumentDef {
_midiProgram = 83,
_defaultMidiChannel = 0,
_scoreOrder = 1.0,
_defaultClef = trebleClef,
_longName = "Lead 4 (chiff)"
},
InstrumentDef {
_midiProgram = 84,
_defaultMidiChannel = 0,
_scoreOrder = 1.0,
_defaultClef = trebleClef,
_longName = "Lead 5 (charang)"
},
InstrumentDef {
_midiProgram = 85,
_defaultMidiChannel = 0,
_scoreOrder = 1.0,
_defaultClef = trebleClef,
_longName = "Lead 6 (voice)"
},
InstrumentDef {
_midiProgram = 86,
_defaultMidiChannel = 0,
_scoreOrder = 1.0,
_defaultClef = trebleClef,
_longName = "Lead 7 (fifths)"
},
InstrumentDef {
_midiProgram = 87,
_defaultMidiChannel = 0,
_scoreOrder = 1.0,
_defaultClef = trebleClef,
_longName = "Lead 8 (bass + lead)"
},
--
InstrumentDef {
_midiProgram = 88,
_defaultMidiChannel = 0,
_scoreOrder = 1.0,
_defaultClef = trebleClef,
_longName = "Pad 1 (new age)"
},
InstrumentDef {
_midiProgram = 89,
_defaultMidiChannel = 0,
_scoreOrder = 1.0,
_defaultClef = trebleClef,
_longName = "Pad 2 (warm)"
},
InstrumentDef {
_midiProgram = 90,
_defaultMidiChannel = 0,
_scoreOrder = 1.0,
_defaultClef = trebleClef,
_longName = "Pad 3 (polysynth)"
},
InstrumentDef {
_midiProgram = 91,
_defaultMidiChannel = 0,
_scoreOrder = 1.0,
_defaultClef = trebleClef,
_longName = "Pad 4 (choir)"
},
InstrumentDef {
_midiProgram = 92,
_defaultMidiChannel = 0,
_scoreOrder = 1.0,
_defaultClef = trebleClef,
_longName = "Pad 5 (bowed)"
},
InstrumentDef {
_midiProgram = 93,
_defaultMidiChannel = 0,
_scoreOrder = 1.0,
_defaultClef = trebleClef,
_longName = "Pad 6 (metallic)"
},
InstrumentDef {
_midiProgram = 94,
_defaultMidiChannel = 0,
_scoreOrder = 1.0,
_defaultClef = trebleClef,
_longName = "Pad 7 (halo)"
},
InstrumentDef {
_midiProgram = 95,
_defaultMidiChannel = 0,
_scoreOrder = 1.0,
_defaultClef = trebleClef,
_longName = "Pad 8 (sweep)"
},
--
InstrumentDef {
_midiProgram = 96,
_defaultMidiChannel = 0,
_scoreOrder = 1.0,
_defaultClef = trebleClef,
_longName = "FX 1 (rain)"
},
InstrumentDef {
_midiProgram = 97,
_defaultMidiChannel = 0,
_scoreOrder = 1.0,
_defaultClef = trebleClef,
_longName = "FX 2 (soundtrack)"
},
InstrumentDef {
_midiProgram = 98,
_defaultMidiChannel = 0,
_scoreOrder = 1.0,
_defaultClef = trebleClef,
_longName = "FX 3 (crystal)"
},
InstrumentDef {
_midiProgram = 99,
_defaultMidiChannel = 0,
_scoreOrder = 1.0,
_defaultClef = trebleClef,
_longName = "FX 4 (atmosphere)"
},
InstrumentDef {
_midiProgram = 100,
_defaultMidiChannel = 0,
_scoreOrder = 1.0,
_defaultClef = trebleClef,
_longName = "FX 5 (brightness)"
},
InstrumentDef {
_midiProgram = 101,
_defaultMidiChannel = 0,
_scoreOrder = 1.0,
_defaultClef = trebleClef,
_longName = "FX 6 (goblins)"
},
InstrumentDef {
_midiProgram = 102,
_defaultMidiChannel = 0,
_scoreOrder = 1.0,
_defaultClef = trebleClef,
_longName = "FX 7 (echoes)"
},
InstrumentDef {
_midiProgram = 103,
_defaultMidiChannel = 0,
_scoreOrder = 1.0,
_defaultClef = trebleClef,
_longName = "FX 8 (sci-fi)"
},
InstrumentDef {
_midiProgram = 104,
_defaultClef = trebleClef,
_scoreOrder = 1.0,
_defaultMidiChannel = 0,
_longName = "Sitar"
},
InstrumentDef {
_midiProgram = 105,
_defaultClef = trebleClef,
_scoreOrder = 1.0,
_defaultMidiChannel = 0,
_longName = "Banjo"
},
InstrumentDef {
_midiProgram = 106,
_defaultClef = trebleClef,
_scoreOrder = 1.0,
_defaultMidiChannel = 0,
_longName = "Shamisen"
},
InstrumentDef {
_midiProgram = 107,
_defaultClef = trebleClef,
_scoreOrder = 1.0,
_defaultMidiChannel = 0,
_longName = "Koto"
},
InstrumentDef {
_midiProgram = 108,
_defaultClef = trebleClef,
_scoreOrder = 1.0,
_defaultMidiChannel = 0,
_longName = "Kalimba"
},
InstrumentDef {
_midiProgram = 109,
_defaultClef = trebleClef,
_scoreOrder = 1.0,
_defaultMidiChannel = 0,
_longName = "Bagpipe"
},
InstrumentDef {
_midiProgram = 110,
_defaultClef = trebleClef,
_scoreOrder = 1.0,
_defaultMidiChannel = 0,
_longName = "Fiddle"
},
InstrumentDef {
_midiProgram = 111,
_defaultClef = trebleClef,
_scoreOrder = 1.0,
_defaultMidiChannel = 0,
_longName = "Shanai"
},
InstrumentDef {
_midiProgram = 112,
_defaultClef = trebleClef,
_scoreOrder = 1.0,
_defaultMidiChannel = 0,
_longName = "Tinkle Bell"
},
InstrumentDef {
_midiProgram = 113,
_defaultClef = trebleClef,
_scoreOrder = 1.0,
_defaultMidiChannel = 0,
_longName = "Agogo"
},
InstrumentDef {
_midiProgram = 114,
_defaultClef = trebleClef,
_scoreOrder = 1.0,
_defaultMidiChannel = 0,
_longName = "Steel Drums"
},
InstrumentDef {
_midiProgram = 115,
_defaultClef = trebleClef,
_scoreOrder = 1.0,
_defaultMidiChannel = 0,
_longName = "Woodblock"
},
InstrumentDef {
_midiProgram = 116,
_defaultClef = trebleClef,
_scoreOrder = 1.0,
_defaultMidiChannel = 0,
_longName = "Taiko Drum"
},
InstrumentDef {
_midiProgram = 117,
_defaultClef = trebleClef,
_scoreOrder = 1.0,
_defaultMidiChannel = 0,
_longName = "Melodic Tom"
},
InstrumentDef {
_midiProgram = 118,
_defaultClef = trebleClef,
_scoreOrder = 1.0,
_defaultMidiChannel = 0,
_longName = "Synth Drum"
},
InstrumentDef {
_midiProgram = 119,
_defaultClef = trebleClef,
_scoreOrder = 1.0,
_defaultMidiChannel = 0,
_longName = "Reverse Cymbal"
},
InstrumentDef {
_midiProgram = 120,
_defaultMidiChannel = 0,
_scoreOrder = 1.0,
_defaultClef = trebleClef,
_longName = "Guitar Fret Noise"
},
InstrumentDef {
_midiProgram = 121,
_defaultMidiChannel = 0,
_scoreOrder = 1.0,
_defaultClef = trebleClef,
_longName = "Breath Noise"
},
InstrumentDef {
_midiProgram = 122,
_defaultMidiChannel = 0,
_scoreOrder = 1.0,
_defaultClef = trebleClef,
_longName = "Seashore"
},
InstrumentDef {
_midiProgram = 123,
_defaultMidiChannel = 0,
_scoreOrder = 1.0,
_defaultClef = trebleClef,
_longName = "Bird Tweet"
},
InstrumentDef {
_midiProgram = 124,
_defaultMidiChannel = 0,
_scoreOrder = 1.0,
_defaultClef = trebleClef,
_longName = "Telephone Ring"
},
InstrumentDef {
_midiProgram = 125,
_defaultMidiChannel = 0,
_scoreOrder = 1.0,
_defaultClef = trebleClef,
_longName = "Helicopter"
},
InstrumentDef {
_midiProgram = 126,
_defaultMidiChannel = 0,
_scoreOrder = 1.0,
_defaultClef = trebleClef,
_longName = "Applause"
},
InstrumentDef {
_midiProgram = 127,
_defaultMidiChannel = 0,
_scoreOrder = 1.0,
_defaultClef = trebleClef,
_longName = "Gunshot"
}
]
{-
gmPerc :: [(Int, String)]
gmPerc = [
(35, "Bass Drum 2"),
(36, "Bass Drum 1"),
(37, "Side Stick/Rimshot"),
(38, "Snare Drum 1"),
(39, "Hand Clap"),
(40, "Snare Drum 2"),
(41, "Low Tom 2"),
(42, "Closed Hi-hat"),
(43, "Low Tom 1"),
(44, "Pedal Hi-hat"),
(45, "Mid Tom 2"),
(46, "Open Hi-hat"),
(47, "Mid Tom 1"),
(48, "High Tom 2"),
(49, "Crash Cymbal 1"),
(50, "High Tom 1"),
(51, "Ride Cymbal 1"),
(52, "Chinese Cymbal"),
(53, "Ride Bell"),
(54, "Tambourine"),
(55, "Splash Cymbal"),
(56, "Cowbell"),
(57, "Crash Cymbal 2"),
(58, "Vibra Slap"),
(59, "Ride Cymbal 2"),
(60, "High Bongo"),
(61, "Low Bongo"),
(62, "Mute High Conga"),
(63, "Open High Conga"),
(64, "Low Conga"),
(65, "High Timbale"),
(66, "Low Timbale"),
(67, "High Agogô"),
(68, "Low Agogô"),
(69, "Cabasa"),
(70, "Maracas"),
(71, "Short Whistle"),
(72, "Long Whistle"),
(73, "Short Güiro"),
(74, "Long Güiro"),
(75, "Claves"),
(76, "High Wood Block"),
(77, "Low Wood Block"),
(78, "Mute Cuíca"),
(79, "Open Cuíca"),
(80, "Mute Triangle"),
(81, "Open Triangle")
]
-}