Click here to Skip to main content
15,893,668 members
Articles / Artificial Intelligence

Developing MIDI applications with DirectMusic

Rate me:
Please Sign up or sign in to vote.
4.91/5 (45 votes)
11 Apr 2008LGPL325 min read 612.9K   9.5K   147  
A wrapper class library for the DirectMusic MIDI.
const TCHAR GMInstruments[128][30]=
{
	"1 Acoustic Grand Piano", 
	"2 Bright Acoustic Piano", 
	"3 Electric Grand Piano", 
	"4 Honky-tonk Piano", 
	"5 Electric Piano 1", 
	"6 Electric Piano 2", 
	"7 Harpsichord", 
	"8 Clavi", 
	"9 Celesta", 
	"10 Glockenspiel", 
	"11 Music Box", 
	"12 Vibraphone", 
	"13 Marimba", 
	"14 Xylophone", 
	"15 Tubular Bells", 
	"16 Dulcimer", 
	"17 Drawbar Organ", 
	"18 Percussive Organ", 
	"19 Rock Organ", 
	"20 Church Organ", 
	"21 Reed Organ", 
	"22 Accordion", 
	"23 Harmonica", 
	"24 Tango Accordion", 
	"25 Guitar (nylon)", 
	"26 Acoustic Guitar (steel)", 
	"27 Electric Guitar (jazz)", 
	"28 Electric Guitar (clean)", 
	"29 Electric Guitar (muted)", 
	"30 Overdriven Guitar", 
	"31 Distortion Guitar", 
	"32 Guitar Harmonics", 
	"33 Acoustic Bass", 
	"34 Electric Bass (finger)", 
	"35 Electric Bass (pick)", 
	"36 Fretless Bass", 
	"37 Slap Bass 1", 
	"38 Slap Bass 2", 
	"39 Synth Bass 1", 
	"40 Synth Bass 2", 
	"41 Violin", 
	"42 Viola",
	"43 Cello", 
	"44 Contrabass", 
	"45 Tremolo Strings", 
	"46 Pizzicato Strings", 
	"47 Orchestral Harp", 
	"48 Timpani", 
	"49 String Ensemble 1", 
	"50 String Ensemble 2", 
	"51 SynthStrings 1", 
	"52 SynthStrings 2", 
	"53 Choir Aahs", 
	"54 Voice Oohs", 
	"55 Synth Voice", 
	"56 Orchestra Hit", 
	"57 Trumpet", 
	"58 Trombone", 
	"59 Tuba", 
	"60 Muted Trumpet", 
	"61 French Horn", 
	"62 Brass Section", 
	"63 SynthBrass 1", 
	"64 SynthBrass 2", 
	"65 Soprano Sax", 
	"66 Alto Sax", 
	"67 Tenor Sax", 
	"68 Baritone Sax", 
	"69 Oboe", 
	"70 English Horn", 
	"71 Bassoon", 
	"72 Clarinet", 
	"73 Piccolo", 
	"74 Flute", 
	"75 Recorder", 
	"76 Pan Flute",
	"77 Blown Bottle", 
	"78 Shakuhachi", 
	"79 Whistle", 
	"80 Ocarina", 
	"81 Lead 1(square)", 
	"82 Lead 2 (sawtooth)", 
	"83 Lead 3 (calliope)", 
	"84 Lead 4 (chiff)", 
	"85 Lead 5 (charang)", 
	"86 Lead 6 (voice)",  
	"87 Lead 7 (fifths)", 
	"88 Lead 8 (bass+lead)", 
	"89 Pad 1 (new age)", 
	"90 Pad 2 (warm)", 
	"91 Pad 3 (polysynth)", 
	"92 Pad 4 (choir)", 
	"93 Pad 5 (bowed)", 
	"94 Pad 6 (metallic)", 
	"95 Pad 7 (halo)", 
	"96 Pad 8 (sweep)", 
	"97 FX 1 (rain)", 
	"98 FX 2 (soundtrack)", 
	"99 FX 3 (crystal)", 
	"100 FX 4 (atmosphere)", 
	"101 FX 5 (brightness)", 
	"102 FX 6 (goblins)", 
	"103 FX 7 (echoes)", 
	"104 FX 8 (sci-fi)", 
	"105 Sitar", 
	"106 Banjo", 
	"107 Shamisen", 
	"108 Koto", 
	"109 Kalimba", 
	"110 Bag Pipe", 
	"111 Fiddle", 
	"112 Shanai", 
	"113 Tinkle Bell", 
	"114 Agogo", 
	"115 Steel Drums", 
	"116 Woodblock", 
	"117 Taiko Drum", 
	"118 Melodic Tom", 
	"119 Synth Drum", 
	"120 Reverse Cymbal", 
	"121 Guitar Fret Noise", 
	"122 Breath Noise", 
	"123 Seashore", 
	"124 Bird Tweet", 
	"125 Telephone Ring", 
	"126 Helicopter", 
	"127 Applause", 
	"128 Gunshot"
};	
   


const TCHAR MIDINotesEng[12][3]={"C","C#","D","D#","E","F","F#","G","G#","A","A#","B"};
const TCHAR MIDINotesEsp[12][5]={"DO","DO#","RE","RE#","MI","FA","FA#","SOL","SOL#","LA","LA#","SI"};

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The GNU Lesser General Public License (LGPLv3)


Written By
Software Developer
Spain Spain
I obtained my PhD degree in Computer Graphics at the National Distance Education University (UNED) in October 2019. I also hold a Ms. degree in Software Engineering and Computer Systems and a Bs. degree in Computer Science from the National Distance Education University (UNED).
I have been employed as a C++ software developer in several companies since year 2000.
I currently work as a Tutor-Professor of Symbolic Logic, Discrete Math and Java Object-Oriented Programming at UNED-Cartagena (Spain) since 2015.

Comments and Discussions