--- /dev/null
+
+#pragma once
+
+namespace YAMML
+{
+
+namespace MIDI
+{
+
+namespace GM
+{
+
+// https://www.midi.org/specifications/item/gm-level-1-sound-set
+enum
+{
+ Piano,
+ BrightPiano,
+ ElectricGrandPiano,
+ HonkyTonk,
+ ElectricPiano1,
+ ElectricPiano2,
+ Harpsichord,
+ Clavi,
+ Celesta,
+ Glockenspiel,
+ MusicBox,
+ Vibraphone,
+ Marimba,
+ Xylophone,
+ TubularBells,
+ Dulcimer,
+ DrawbarOrgan,
+ PercussiveOrgan,
+ RockOrgan,
+ ChurchOrgan,
+ ReedOrgan,
+ Accordion,
+ Harmonica,
+ TangoAccordion,
+ NylonGuitar,
+ SteelGuitar,
+ JazzGuitar,
+ CleanGuitar,
+ MutedGuitar,
+ OverdrivenGuitar,
+ DistortionGuitar,
+ GuitarHarmonics,
+ AcousticBass,
+ FingerBass,
+ PickBass,
+ FretlessBass,
+ SlapBass1,
+ SlapBass2,
+ SynthBass1,
+ SynthBass2,
+ Violin,
+ Viola,
+ Cello,
+ Contrabass,
+ TremoloStrings,
+ PizzicatoStrings,
+ OrchestralHarp,
+ Timpani,
+ Strings,
+ SlowString,
+ SynthStrings1,
+ SynthStrings2,
+ ChoirAahs,
+ VoiceOohs,
+ SynthVoice,
+ OrchestraHit,
+ Trumpet,
+ Trombone,
+ Tuba,
+ MutedTrumpet,
+ FrenchHorn,
+ BrassSection,
+ SynthBrass1,
+ SynthBrass2,
+ SopranoSax,
+ AltoSax,
+ TenorSax,
+ BaritoneSax,
+ Oboe,
+ EnglishHorn,
+ Bassoon,
+ Clarinet,
+ Piccolo,
+ Flute,
+ Recorder,
+ PanFlute,
+ BlownBottle,
+ Shakuhachi,
+ Whistle,
+ Ocarina,
+ SquareLead,
+ SawtoothLead,
+ CalliopeLead,
+ ChiffLead,
+ CharangLead,
+ VoiceLead,
+ FifthsLead,
+ BassLead,
+ NewAgePad,
+ WarmPad,
+ PolysynthPad,
+ ChoirPad,
+ BowedPad,
+ MetallicPad,
+ HaloPad,
+ SweepPad,
+ Rain,
+ Soundtrack,
+ Crystal,
+ Atmosphere,
+ Brightness,
+ Goblins,
+ Echoes,
+ SciFi,
+ Sitar,
+ Banjo,
+ Shamisen,
+ Koto,
+ Kalimba,
+ BagPipe,
+ Fiddle,
+ Shanai,
+ TinkleBell,
+ Agogo,
+ SteelDrums,
+ Woodblock,
+ TaikoDrum,
+ MelodicTom,
+ SynthDrum,
+ ReverseCymbal,
+ GuitarFretNoise,
+ BreathNoise,
+ Seashore,
+ BirdTweet,
+ TelephoneRing,
+ Helicopter,
+ Applause,
+ Gunshot
+};
+
+} // namespace GM
+
+} // namespace MIDI
+
+} // namespace YAMML