/*
* JFugue, an Application Programming Interface (API) for Music Programming
* http://www.jfugue.org
*
* Copyright (C) 2003-2014 David Koelle
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jfugue.midi;
import java.util.HashMap;
import java.util.Map;
public class MidiDictionary {
public static Map<Byte, String> INSTRUMENT_BYTE_TO_STRING = new HashMap<Byte, String>() {{
put((byte)0, "Piano");
put((byte)1, "Bright_Acoustic");
put((byte)2, "Electric_Grand");
put((byte)3, "Honkey_Tonk");
put((byte)4, "Electric_Piano");
put((byte)5, "Electric_Piano_2");
put((byte)6, "Harpischord");
put((byte)7, "Clavinet");
put((byte)8, "Celesta");
put((byte)9, "Glockenspiel");
put((byte)10, "Music_Box");
put((byte)11, "Vibraphone");
put((byte)12, "Marimba");
put((byte)13, "Xylophone");
put((byte)14, "Tubular_Bells");
put((byte)15, "Dulcimer");
put((byte)16, "Drawbar_Organ");
put((byte)17, "Percussive_Organ");
put((byte)18, "Rock_Organ");
put((byte)19, "Church_Organ");
put((byte)20, "Reed_Organ");
put((byte)21, "Accordian");
put((byte)22, "Harmonica");
put((byte)23, "Tango_Accordian");
put((byte)24, "Guitar");
put((byte)25, "Steel_String_Guitar");
put((byte)26, "Electric_Jazz_Guitar");
put((byte)27, "Electric_Clean_Guitar");
put((byte)28, "Electric_Muted_Guitar");
put((byte)29, "Overdriven_Guitar");
put((byte)30, "Distortion_Guitar");
put((byte)31, "Guitar_Harmonics");
put((byte)32, "Acoustic_Bass");
put((byte)33, "Electric_Bass_Finger");
put((byte)34, "Electric_Bass_Pick");
put((byte)35, "Fretless_Bass");
put((byte)36, "Slap_Bass_1");
put((byte)37, "Slap_Bass_2");
put((byte)38, "Synth_Bass_1");
put((byte)39, "Synth_Bass_2");
put((byte)40, "Violin");
put((byte)41, "Viola");
put((byte)42, "Cello");
put((byte)43, "Contrabass");
put((byte)44, "Tremolo_Strings");
put((byte)45, "Pizzicato_Strings");
put((byte)46, "Orchestral_Strings");
put((byte)47, "Timpani");
put((byte)48, "String_Ensemble_1");
put((byte)49, "String_Ensemble_2");
put((byte)50, "Synth_Strings_1");
put((byte)51, "Synth_Strings_2");
put((byte)52, "Choir_Aahs");
put((byte)53, "Voice_Oohs");
put((byte)54, "Synth_Voice");
put((byte)55, "Orchestra_Hit");
put((byte)56, "Trumpet");
put((byte)57, "Trombone");
put((byte)58, "Tuba");
put((byte)59, "Muted_Trumpet");
put((byte)60, "French_Horn");
put((byte)61, "Brass_Section");
put((byte)62, "Synth_Brass_1");
put((byte)63, "Synth_Brass_2");
put((byte)64, "Soprano_Sax");
put((byte)65, "Alto_Sax");
put((byte)66, "Tenor_Sax");
put((byte)67, "Baritone_Sax");
put((byte)68, "Oboe");
put((byte)69, "English_Horn");
put((byte)70, "Bassoon");
put((byte)71, "Clarinet");
put((byte)72, "Piccolo");
put((byte)73, "Flute");
put((byte)74, "Recorder");
put((byte)75, "Pan_Flute");
put((byte)76, "Blown_Bottle");
put((byte)77, "Skakuhachi");
put((byte)78, "Whistle");
put((byte)79, "Ocarina");
put((byte)80, "Square");
put((byte)81, "Sawtooth");
put((byte)82, "Calliope");
put((byte)83, "Chiff");
put((byte)84, "Charang");
put((byte)85, "Voice");
put((byte)86, "Fifths");
put((byte)87, "Bass_Lead");
put((byte)88, "New_Age");
put((byte)89, "Warm");
put((byte)90, "Poly_Synth");
put((byte)91, "Choir");
put((byte)92, "Bowed");
put((byte)93, "Metallic");
put((byte)94, "Halo");
put((byte)95, "Sweep");
put((byte)96, "Rain");
put((byte)97, "Soundtrack");
put((byte)98, "Crystal");
put((byte)99, "Atmosphere");
put((byte)100, "Brightness");
put((byte)101, "Goblins");
put((byte)102, "Echoes");
put((byte)103, "Sci_Fi");
put((byte)104, "Sitar");
put((byte)105, "Banjo");
put((byte)106, "Shamisen");
put((byte)107, "Koto");
put((byte)108, "Kalimba");
put((byte)109, "Bagpipe");
put((byte)110, "Fiddle");
put((byte)111, "Shanai");
put((byte)112, "Tinkle_Bell");
put((byte)113, "Agogo");
put((byte)114, "Steel_Drums");
put((byte)115, "Woodblock");
put((byte)116, "Taiko_Drum");
put((byte)117, "Melodic_Tom");
put((byte)118, "Synth_Drum");
put((byte)119, "Reverse_Cymbal");
put((byte)120, "Guitar_Fret_Noise");
put((byte)121, "Breath_Noise");
put((byte)122, "Seashore");
put((byte)123, "Bird_Tweet");
put((byte)124, "Telephone_Ring");
put((byte)125, "Helicopter");
put((byte)126, "Applause");
put((byte)127, "Gunshot");
}};
public static Map<String, Byte> INSTRUMENT_STRING_TO_BYTE = new HashMap<String, Byte>() {{
put("PIANO", (byte)0);
put("BRIGHT_ACOUSTIC", (byte)1);
put("ELECTRIC_GRAND", (byte)2);
put("HONKEY_TONK", (byte)3);
put("ELECTRIC_PIANO", (byte)4);
put("ELECTRIC_PIANO_2", (byte)5);
put("HARPISCHORD", (byte)6);
put("CLAVINET", (byte)7);
put("CELESTA", (byte)8);
put("GLOCKENSPIEL", (byte)9);
put("MUSIC_BOX", (byte)10);
put("VIBRAPHONE", (byte)11);
put("MARIMBA", (byte)12);
put("XYLOPHONE", (byte)13);
put("TUBULAR_BELLS", (byte)14);
put("DULCIMER", (byte)15);
put("DRAWBAR_ORGAN", (byte)16);
put("PERCUSSIVE_ORGAN", (byte)17);
put("ROCK_ORGAN", (byte)18);
put("CHURCH_ORGAN", (byte)19);
put("REED_ORGAN", (byte)20);
put("ACCORDIAN", (byte)21);
put("HARMONICA", (byte)22);
put("TANGO_ACCORDIAN", (byte)23);
put("GUITAR", (byte)24);
put("STEEL_STRING_GUITAR", (byte)25);
put("ELECTRIC_JAZZ_GUITAR", (byte)26);
put("ELECTRIC_CLEAN_GUITAR", (byte)27);
put("ELECTRIC_MUTED_GUITAR", (byte)28);
put("OVERDRIVEN_GUITAR", (byte)29);
put("DISTORTION_GUITAR", (byte)30);
put("GUITAR_HARMONICS", (byte)31);
put("ACOUSTIC_BASS", (byte)32);
put("ELECTRIC_BASS_FINGER", (byte)33);
put("ELECTRIC_BASS_PICK", (byte)34);
put("FRETLESS_BASS", (byte)35);
put("SLAP_BASS_1", (byte)36);
put("SLAP_BASS_2", (byte)37);
put("SYNTH_BASS_1", (byte)38);
put("SYNTH_BASS_2", (byte)39);
put("VIOLIN", (byte)40);
put("VIOLA", (byte)41);
put("CELLO", (byte)42);
put("CONTRABASS", (byte)43);
put("TREMOLO_STRINGS", (byte)44);
put("PIZZICATO_STRINGS", (byte)45);
put("ORCHESTRAL_STRINGS", (byte)46);
put("TIMPANI", (byte)47);
put("STRING_ENSEMBLE_1", (byte)48);
put("STRING_ENSEMBLE_2", (byte)49);
put("SYNTH_STRINGS_1", (byte)50);
put("SYNTH_STRINGS_2", (byte)51);
put("CHOIR_AAHS", (byte)52);
put("VOICE_OOHS", (byte)53);
put("SYNTH_VOICE", (byte)54);
put("ORCHESTRA_HIT", (byte)55);
put("TRUMPET", (byte)56);
put("TROMBONE", (byte)57);
put("TUBA", (byte)58);
put("MUTED_TRUMPET", (byte)59);
put("FRENCH_HORN", (byte)60);
put("BRASS_SECTION", (byte)61);
put("SYNTH_BRASS_1", (byte)62);
put("SYNTH_BRASS_2", (byte)63);
put("SOPRANO_SAX", (byte)64);
put("ALTO_SAX", (byte)65);
put("TENOR_SAX", (byte)66);
put("BARITONE_SAX", (byte)67);
put("OBOE", (byte)68);
put("ENGLISH_HORN", (byte)69);
put("BASSOON", (byte)70);
put("CLARINET", (byte)71);
put("PICCOLO", (byte)72);
put("FLUTE", (byte)73);
put("RECORDER", (byte)74);
put("PAN_FLUTE", (byte)75);
put("BLOWN_BOTTLE", (byte)76);
put("SKAKUHACHI", (byte)77);
put("WHISTLE", (byte)78);
put("OCARINA", (byte)79);
put("SQUARE", (byte)80);
put("SAWTOOTH", (byte)81);
put("CALLIOPE", (byte)82);
put("CHIFF", (byte)83);
put("CHARANG", (byte)84);
put("VOICE", (byte)85);
put("FIFTHS", (byte)86);
put("BASS_LEAD", (byte)87);
put("NEW_AGE", (byte)88);
put("WARM", (byte)89);
put("POLY_SYNTH", (byte)90);
put("CHOIR", (byte)91);
put("BOWED", (byte)92);
put("METALLIC", (byte)93);
put("HALO", (byte)94);
put("SWEEP", (byte)95);
put("RAIN", (byte)96);
put("SOUNDTRACK", (byte)97);
put("CRYSTAL", (byte)98);
put("ATMOSPHERE", (byte)99);
put("BRIGHTNESS", (byte)100);
put("GOBLINS", (byte)101);
put("ECHOES", (byte)102);
put("SCI_FI", (byte)103);
put("SITAR", (byte)104);
put("BANJO", (byte)105);
put("SHAMISEN", (byte)106);
put("KOTO", (byte)107);
put("KALIMBA", (byte)108);
put("BAGPIPE", (byte)109);
put("FIDDLE", (byte)110);
put("SHANAI", (byte)111);
put("TINKLE_BELL", (byte)112);
put("AGOGO", (byte)113);
put("STEEL_DRUMS", (byte)114);
put("WOODBLOCK", (byte)115);
put("TAIKO_DRUM", (byte)116);
put("MELODIC_TOM", (byte)117);
put("SYNTH_DRUM", (byte)118);
put("REVERSE_CYMBAL", (byte)119);
put("GUITAR_FRET_NOISE", (byte)120);
put("BREATH_NOISE", (byte)121);
put("SEASHORE", (byte)122);
put("BIRD_TWEET", (byte)123);
put("TELEPHONE_RING", (byte)124);
put("HELICOPTER", (byte)125);
put("APPLAUSE", (byte)126);
put("GUNSHOT", (byte)127);
}};
public static Map<Integer, String> TEMPO_INT_TO_STRING = new HashMap<Integer, String>() {{
put(40, "GRAVE");
put(45, "LARGO");
put(50, "LARGHETTO");
put(55, "LENTO");
put(60, "ADAGIO");
put(65, "ADAGIETTO");
put(70, "ANDANTE");
put(80, "ANDANTINO");
put(95, "MODERATO");
put(110, "ALLEGRETTO");
put(120, "ALLEGRO");
put(145, "VIVACE");
put(180, "PRESTO");
put(220, "PRETISSIMO");
}};
public static Map<String, Integer> TEMPO_STRING_TO_INT = new HashMap<String, Integer>() {{
put("GRAVE", 40);
put("LARGO", 45);
put("LARGHETTO", 50);
put("LENTO", 55);
put("ADAGIO", 60);
put("ADAGIETTO", 65);
put("ANDANTE", 70);
put("ANDANTINO", 80);
put("MODERATO", 95);
put("ALLEGRETTO", 110);
put("ALLEGRO", 120);
put("VIVACE", 145);
put("PRESTO", 180);
put("PRETISSIMO", 220);
}};
}