UHU-StartseiteInformatikTechnikenjavamidi
SonicCellConstants



package midi;

import java.util.HashMap;
import java.util.Map;

/**
 *
 * @author Robert Rothhardt
 * @version 0.011
 * 
 */

public class SonicCellConstants {

  private static final String USER = "User";
  
  private static Map<String, Integer[]> NamesToMsbLsbPrg(String[] names, int msb, int lsb) {
    Map<String, Integer[]> result = new HashMap<>();
    for (int i = 0; i < names.length; i++) {
      result.put(names[i], new Integer[]{msb, lsb, i});
    }
    return result;
  }

  /**
   * Erstellt eine Map bei der die Namen der Patches auf die notwendigen Bank-Select und Program-
   * Change-Befehle abgebildet werden. Dabei ist die Programselectnummer gegenüber der Nummer aus
   * der Patchlist um eins reduziert. Damit entsprechen die Byte-Werte exakt denen, die vom Gerät 
   * über Midi empfangen werden können.
   * Beispielsweise ist Patch 2 der PR-F-Bank so abgespeichert: "Zap B3 & C4"->{87,69,1}
   * @return Map mit allen Einträgen "Patchname"->{lsb,msb,programChange#}
   */
  public static Map<String, Integer[]> NameToMsbLsbPrg() {
    Map<String, Integer[]> result = new HashMap<>();
    result.putAll(NamesToMsbLsbPrg(PRESET_A_GROUP, 87, 64));
    result.putAll(NamesToMsbLsbPrg(PRESET_B_GROUP, 87, 65));
    result.putAll(NamesToMsbLsbPrg(PRESET_C_GROUP, 87, 66));
    result.putAll(NamesToMsbLsbPrg(PRESET_D_GROUP, 87, 67));
    result.putAll(NamesToMsbLsbPrg(PRESET_E_GROUP, 87, 68));
    result.putAll(NamesToMsbLsbPrg(PRESET_F_GROUP, 87, 69));
    result.putAll(NamesToMsbLsbPrg(PRESET_G_GROUP, 87, 70));
    // und nun die GM2 sounds...
    for (int i=0; i<PRESET_GM2_GROUP.length; i++){
      Integer[] tmp = PRESET_GM2_GROUP_POINTER[i];
      result.put(PRESET_GM2_GROUP[i], new Integer[]{0,tmp[0],tmp[1]-1});
    }
    for (int i=0; i<128; i++){ // User-Patches als "User1..User256"
      int no = i+1;
      result.put(USER+no,new Integer[]{87,0,i});
      no+=128;
      result.put(USER+no,new Integer[]{87,1,i});
    }
    return result;
  }
  /************************************************************************************
   * Constants for built-in sounds
   ************************************************************************************/
  
  /*
   * Presets Patch-A
   */
  public static String[] PRESET_A_GROUP = {
    "Rich Grand", "88ConcertPno", "UltimatGrand", "X Pure Grand", "So true...", "ConcertPiano", "Warm Piano",
    "ConcertGrand", "Hall Concert", "Bright Tune", "Mellow Tune", "Studio Grand", "DryStudio88",
    "First Choice", "Rokkin' pF", "Dark Grand", "SC Grand+Pad", "Warm Pad Pno", "SC Grand+Vox",
    "Cicada Piano", "X Piano +Str", "Warm Str Pno", "Grand Hall", "Rapsody", "JD-800 Piano", "SA Dance Pno",
    "SC E-Grand", "Back E-Grand", "SC Grand+FM", "SC Blend Pno", "Piano Oz", "FX Piano", "AmbientPiano",
    "SC Pure EP", "SC Trem EP", "SC Phase EP", "PhaseEPLayer", "SC E.Piano", "StageEP Trem", "Back2the60s",
    "Stage EP", "Stage Phazer", "StageCabinet", "Tine EP", "LEO EP", "LonesomeRo ad", "Age'n'Tines",
    "Brill TremEP", "Crystal EP", "Vintage Tine", "Celestial EP", "Psycho EP", "Mk2 Stg phsr", "Dreaming EP",
    "Balladeer", "Remember", "Vibe EP", "sin(EP)", "SC Pure Wul y", "SC Trem Wuly", "Super Wurly", "Wurly Trem",
    "VelSpdWurly", "Fonky Fonky", "FM EP mix", "FM-777", "FM EPad", "EP Stack", "EP Belle", "80s EP",
    "SA EPiano", "BrillClav DB", "Cell Clav", "VntgClav", "Cutter Clavi", "Funky D", "Phase Clavi",
    "BPF Clavi Ph", "Pulse Clavi", "PWM Clav", "Funky Line", "Biting Clav", "Analog Clavi", "Reso Clavi",
    "Snappy Clav", "Over-D6", "Harpsy Clavi", "SC Harpsi", "Amadeus", "SC Celesta", "Himalaya Ice",
    "FM Syn Bell", "D-50 Fantsia", "Wine Glass", "MuBox Pad", "SC Bell 1", "FM Heaven", "SC Glocken",
    "Music Bells", "SC Musicbox", "Music Box 2", "Kalimbells", "Step Ice", "SC Bell 2", "Candy Bell",
    "SC Chime", "Bell Ring", "Tubular Bell", "5th Key", "Bell Monitor", "TubyRuesday", "Vibrations",
    "SC Vibe", "Ringy Vibes", "Airie Vibez", "SC Marimba", "FM Wood", "SC Xylo", "Ethno Keys", "Synergy MLT",
    "Icy Keys", "Steel Drums", "50`SteelDrms", "Xylosizer", "Toy Box", "AirPluck", "HardRockORG1",
    "HardRockORG2"};
  /*
   * Presets Patch-B
   */
  public static String[] PRESET_B_GROUP = {
    "SuperDistORG", "SuperDistLd2", "FullDraw Org", "StakDraw Org", "FullStop Org", "SC Perc Org",
    "VKHold4Speed", "X Perc Organ", "Rocky Organ", "Euro Organ", "Rhythm'n'B", "Phono Organ", "LoFi PercOrg",
    "Rochno Org", "R&B Organ 1", "R&B Organ 2", "SC Dist Bee", "60's Org 1", "60's Org 2", "Smoky Organ",
    "SC SoapOpera", "Crummy Organ", "Chapel Organ", "Grand Pipe", "Pipe Org/Mod", "Masked Opera",
    "Mid Pipe Org", "Vodkakordion", "Squeeze Me!", "Guinguette", "HarWonderca", "BluesHrp V/S",
    "Green Bullet", "SC Brt Nylon", "SoftNyln Gtr", "SC Nylon Gt", "Wet Nyln Gtr", "Pre Mass Hum",
    "Thick Steel", "Uncle Martin", "Wide Ac Gtr", "Comp Stl Gtr", "Stl Gtr Duo", "SC 12str Gtr",
    "So good !", "StratSeq'nce", "Jazz Guitar", "DynoJazz Gtr", "Clean Gtr", "Crimson Gtr", "Plug n' Gig",
    "Kinda Kurt", "Nice Oct Gtr", "Strat Gtr", "Touch Drive", "SC Chunk", "Trem-o-Vibe", "LP Dist",
    "Hurtling Gtr", "Searing COSM", "SC Loud Gtr", "SC Plugged!!", "Punker 1", "SC PowerChd", "Punker 2",
    "Larsen /Aft", "Rockin' Dly", "Sonic Ac Bs", "Ulti Ac Bass", "Downright Bs", "Cmp'd Fng Bs",
    "Sonic Fng Bs", "Ultimo Bass", "Roomy Bass", "FingerMaster", "All Round Bs", "R&B Bs/Slide",
    "Sonic Pck Bs", "Thumb Up!", "Tubby Mute", "Chicken Bass", "Snug Bass", "Return2Base!", "Chorus Bass",
    "A Big Pick", "Basement", "SC Fretnot 1", "SC Fretnot 2", "RichFretless", "NewAge Frtls", "SlapBass1",
    "Slap2 w/Fx", "Got Pop?", "JBass v/Thmb", "SC Slap Bass", "X Slap Bass", "Low Bass", "Mini Like!",
    "MC-404 Bass", "SC Rubber Bs", "SH-101 Bs 1", "SC Syn Bass1", "Juno-106 Bs", "Smooth Bass", "SC Flat Bs",
    "Foundation", "Punch MG 2", "Electro Rubb", "R&B Bass 1", "Enorjizor", "LowFat Bass", "Doze Bass",
    "DCO Bass", "Virtual RnBs", "Saw&MG Bass", "MG+SubOsc Bs", "R&B Bass 2", "R&B Bass 3", "Not a Bass",
    "ResoSyn Bs 1", "SH-1 Bass", "SH-101 Bs 2", "Punch MG 1", "MKS-50 SynBs", "Gashed Bass", "Q Bass",
    "Super-G DX", "Kickin' Bass"};
  /*
   * Presets Patch-C
   */
  public static String[] PRESET_C_GROUP = {
    "OilDrum Bass", "Dust Bass", "Glide-iator", "SC AcidPunch", "TBasic", "SC Unison Bs", "Detune Bass",
    "Lo Bass", "SC GarageBs1", "SC GarageBs2", "Sub Sonic", "SC Jungle Bs", "R&B Bass 4", "Simply Basic",
    "Beepin Bass", "MC-TB Bass", "Acdg Bass", "Loco Voco", "Unplug it!", "S&H Bass", "Destroyed Bs",
    "SC Acid Bs", "Lo-Fi TB", "Drop Bass", "Big Mini", "Muffled MG", "Intrusive Bs", "Alpha SynBs",
    "TransistorBs", "Juno-60 Bass", "Storm Bass", "Alpha ResoBs", "SH-101 Vibe", "Fazee Bass", "Hi-Energy Bs",
    "SC Violin", "Violin", "Viola", "SC Cello", "Cello", "Contrabass", "Dolce Qrt", "Chamber Str", "Small Str",
    "Marcato", "Bright Str", "String Ens", "SonicStrings", "Stringz 101", "Crossed Bows", "Warm Strings",
    "Stacc mp Str", "Movie Scene", "Hybrid Str 1", "Gang Strangs", "Clustered!?!", "Full Strings",
    "X StrSection", "Oct Strings", "Sahara Str", "Random Mood", "X Hall Str", "SC Slow Str", "Hybrid Str 2",
    "Biggie Bows", "Staccato VS", "So Staccato", "DelicatePizz", "Vls PizzHall", "Orch Pizz", "Pizz'Stac VS",
    "Mellow Tron", "Tronic Str", "Tape Memory", "Wind & Str 1", "Wind & Str 2", "Farewell", "Orch & Horns",
    "Soft Orch 1", "Soft Orch 2", "Henry IX", "Ending Scene", "Symphonika", "Mix Hit 2", "Cheezy Movie",
    "Philly Hit", "Smear Hit 1", "Smear Hit 2", "Good Old Hit", "Mix Hit 1", "Lo-Fi Hit", "2ble Action",
    "In da Cave", "Housechord", "Mod Chord", "Dance Steam", "Good Old Day", "SC WindWood", "Clarence.net",
    "SC Oboe", "Hall Oboe", "English Horn", "Bassoon", "SC Flute", "Piccolo", "Andes Mood", "HimalayaPipe",
    "Solo Tp", "Horn Chops", "Flugel Horn", "Spit Flugel", "Mute Tp /Mod", "Harmon Mute", "Soft Tb",
    "Solo Tb", "Solo Bone", "XP Horn", "Grande Tuba", "SC Tuba", "StackTp Sect", "Tb Section", "TpTb Sect.",
    "SC Brt Brass", "SC BrsSect 1", "SC BrsSect 2", "Tpts & Tmbs", "Brass & Sax", "BrassPartOut",};
  /*
   * Presets Patch-D
   */
  public static String[] PRESET_D_GROUP = {
    "Simple Tutti", "F.Horns Sect", "Full sForza", "Stereo Brass", "Wide SynBrss", "DetuneSawBrs", "J-Pop Brass",
    "80s Brass 1", "80s Brass 2", "Ana Brass", "Soft Brass", "JP8000 Brass", "Sonic Brass", "Syn Brass",
    "Syn Brass 2", "Xpand Brass", "Xpand Brass2", "Super Saw", "SoftSynBrass", "Silky JP", "Silk Brs Pad",
    "80s Brass 3", "X-Saw Brass1", "Cheesy Brass", "Dual Saw Brs", "Juno-106 Brs", "Poly Brass",
    "Stacked Brs", "Soprano Sax", "Solo Sop Sax", "Alto mp", "Alto Sax", "Solo AltoSax", "AltoLead Sax",
    "XP TnrBrethy", "Tenor Sax", "Fat TenorSax", "Baritone Sax", "Sax Sect. 1", "Sax Sect. 2", "Horny Sax",
    "FXM Alto Sax", "Porta SoloLd", "Porta Lead", "Wind Syn Ld", "SC Saw Ld 1", "SC Saw Ld 2", "Juno Lead",
    "Follow Me", "DC Triangle", "Sqr-Seqence", "Pure Square", "Griggley", "SC LegatoSaw", "Lone Prophat",
    "Dual Profs", "Gwyo Press", "\"Q\" DualSaws", "Mogulator Ld", "DirtyVoltage", "Clean?", "Distortion",
    "SC Syn Ld", "SynLead 0322", "X-Sink Delay", "Destroyed Ld", "Synchro Lead", "Sync Ld Mono",
    "SyncModulate", "Distorted MG", "SonicVampire", "Blue Meanie", "SC Dist Lead", "Ringmod Lead",
    "Stimulation", "BodyElectric", "Classic Lead", "Feat Lead", "Wire Sync", "Epic Lead", "Bag Lead",
    "Wezcoast", "HyperJupiter", "Vintagolizer", "C64 Lead", "303 NRG", "Cell SquLead", "SC Sqr Lead",
    "SH Sqr Lead", "Round SQR", "Windy Synth", "Sqr Diamond", "Sinetific", "PeakArpSine", "Howards Lead",
    "SoloNzPeaker", "Juno SftLd", "R&B TriLead", "R&B Tri Ld2", "Jupiter Lead", "Dig-n-Duke", "SC SoftLead",
    "Mid Saw Ld", "X-Pulse Lead", "Mild 2-SawLd", "Mew Lead", "Shy Soloist", "Theramax", "Therasqu", "GR Lead",
    "SH-2 Lead", "SC ResoLead", "Modulated Ld", "Synthi Fizz", "Waspy Lead", "Pulstar Ld", "Naked Lead",
    "Alpha Spit", "Vliolin Lead", "Mod Lead", "JP Saw Lead", "Tristar", "Chubby Lead", "Sneaky Leady",
    "Shaku Lead", "Legato Tkno", "SCResoSaw Ld", "SliCed Lead"};
  /**
   * Presets Patch-E
   */
  public static String[] PRESET_E_GROUP = {
    "Mini Growl", "Evangelized", "Air Lead", "Juno-D Maj7", "Sweet House", "Periscope", "5th Voice", "HPF Sweep",
    "BPF Saw", "Moon Synth", "DelyResoSaws", "R-Trance", "Braatz...", "AllinOneRiff", "YZ Again", "Flazzy Lead",
    "Coffee Bee", "SC-303", "Dance Saws", "AluminmWires", "Fred&Barney", "Electrostars", "LoFiSequence", "MelodicDrums",
    "TB Wah", "Waving TB303", "Digi Seq", "Seq Saw", "Reso Seq Saw", "DetuneSeqSaw", "Technotribe",
    "Teethy Grit", "Repertition", "Killerbeez", "Acid Lead", "Tranceformer", "Anadroid", "Shroomy", "Noize R us",
    "Beep Melodie", "Morpher", "Uni-G", "Power Synth", "Hoover Again", "Alpha Said..", "Ravers Awake",
    "Tekno Gargle", "Tranceiver", "Techno Dream", "Techno Pizz", "VirtualHuman", "Strobot", "SC Strobe",
    "Strobe X", "Rhythmic 5th", "Cell Pad", "DarknessSide", "Shape of X", "Sonic Dance", "ShapeURMusic",
    "Synth Force", "Trance Split", "Step Trance", "Chop Synth", "Euro Teuro", "Auto Trance", "Eureggae",
    "Sorry4theDLY", "Beat Pad", "TMT Seq Pad", "ForYourBreak", "HPF Slicer", "Sliced Choir", "Digi-Doo",
    "PanningFrmnt", "Dirty Beat", "Electrons", "Protons", "Brisk Vortex", "SC Throbulax", "SC Lonizer",
    "diGital Pad", "StepPitShift", "Pad Pulses", "Seq-Pad 2", "DSP Chaos", "Dancefloor", "Minor Thirds",
    "FX World", "Mr. Fourier", "Nu Trance X", "Auto 5thSaws", "Cross Talk", "Reanimation", "VoX Chopper",
    "Trevor's Pad", "Fantomas Pad", "Jazzy Arps", "Keep Running", "Step In", "Echo Echo", "Keep going",
    "Arposphere", "Voco Riff", "Pulsator", "Motion Bass", "Sine Magic", "Juno-D Slice", "Pulsatron",
    "Mega Sync", "Passing by", "Lazer Points", "Retro Sci-Fi", "Magic Chime", "SC Try This!",
    "New Planetz", "Jet Noise", "Chaos 2003", "Control Room", "OutOf sortz", "Scatter", "Low Beat-S",
    "WaitnOutside", "Breath Echo", "SoundStrange", "Cosmic Pulse", "Faked Piano", "SC Crystal"};
  /*
   * Presets Patch-F
   */
  public static String[] PRESET_F_GROUP = {
    "ResoSweep Dn", "Zap B3 & C4", "PolySweep Nz", "Strange Land", "S&H Voc", "12th Planet", "Scare",
    "Hillside", "Mod Scanner", "SoundOnSound", "Gasp", "ResoSweep Up", "Magic Wave", "Shangri-La",
    "CerealKiller", "Cosmic Drops", "Space Echo", "Robot Sci-Fi", "Stacc Heaven", "Juno Poly", "DigitalDream",
    "Jucy Saw", "Cue Tip", "Waspy Synth", "TB-Sequence", "Europe Xpres", "Squeepy", "DOC Stack", "Sweep Lead",
    "80s Saws 1", "80s Saws 2", "80s Saws 3", "Digitaless", "Flip Pad", "Short Detune", "forSequence",
    "Memory Pluck", "Metalic Bass", "Aqua", "Big Planet", "Wet Atax", "Houze Clavi", "SuperSawSlow",
    "Cell Trance", "Trancy X", "Trancy Synth", "Juno Trnce", "Saw Stack", "Frgile Saws", "Steamed Sawz",
    "RAVtune", "Bustranza", "AftTch Ji-n", "JP OctAttack", "Oct Unison", "Xtatic", "Dirty Combo", "FM's Attack",
    "Digi-vox Syn", "Fairy Factor", "Tempest", "X-Racer", "TB Booster", "Syn-Orch/Mod", "Pressyn",
    "High Five", "4DaCommonManOTHER", "Orgaenia", "Sleeper", "Sugar Synth", "Ice Palace", "Story Harp",
    "LostParadise", "Magnetic 5th", "DigimaX", "Exhale", "X-panda", "Saw Keystep", "4mant Cycle",
    "Modular", "Angel Pipes", "Wired Synth", "Analog Dream", "DCO Bell Pad", "Cell Fanta", "Juno 5th",
    "DoubleBubble", "Cell Comb", "Super SynStr", "80s Str", "PhaseStrings", "Voyager", "Cosmic Rays",
    "Stringship", "Fat Stacks", "Strings R Us", "Electric Pad", "Neo RS-202", "OB Rezo Pad", "Synthi Ens",
    "Giant Sweep", "Mod Dare", "Cell Space", "Digi-Swell", "Sonic Surfer", "New Year Day", "Polar Morn",
    "Distant Sun", "PG Chimes", "Saturn Rings", "Brusky", "\"2 Point 2\"", "2.2 Pad", "two.two Pad",
    "SaturnHolida", "Neuro-Drone", "In The Pass", "Polar Night", "Cell 5th", "MistOver5ths", "Gritty Pad",
    "India Garden", "BillionStars", "Sand Pad", "ReverseSweep", "HugeSoundMod", "Metal Swell", "NuSoundtrack"
  };
  /*
   * Presets Patch-G
   */
  public static String[] PRESET_G_GROUP = {
    "Phat Strings", "Soft OB Pad", "SC Hollow", "SC Sqr Pad", "Silk Pad", "WarmReso Pad", "SC Soft Pad",
    "Air Pad", "Soft Breeze", "JP Strings 1", "JP Strings 2", "DelayStrings", "NorthStrings", "SC Syn Str",
    "Slow Saw Str", "Syn Strings", "OB Slow Str", "Strings Pad", "R&B SoftPad", "Reso Pad", "Phat Pad",
    "SC PhaserPad", "Mystic Str", "Glass Organ", "Wind Pad", "Combination", "HumanKindnes", "BeautyPad",
    "Atmospherics", "Terra Nostra", "OB Aaahs", "Vulcano Pad", "Cloud #9", "Organic Pad", "Hum Pad",
    "Vox Pad", "Digital Aahs", "Tri 5th Pad", "SC MovinPad", "Seq-Pad 1", "Follow", "Consolament",
    "Spacious Pad", "JD Pop Pad", "JP-8 Phase", "Nu Epic Pad", "Forever", "Flange Dream", "Evolution X",
    "Heaven Pad", "Angelis Pad", "Juno-106 Str", "JupiterMoves", "Oceanic Pad", "Fairy's Song", "Borealis",
    "JX Warm Pad", "Analog Bgrnd", "Choir Aahs 1", "Choir Aahs 2", "ChoirOoh/Aft", "Angels Choir",
    "Angelique", "Gospel Oohs", "Choir&Str", "Aah Vox", "Synvox", "Uhmmm", "Morning Star", "Syn Opera",
    "BeautifulOne", "Ooze", "Aerial Choir", "3D Vox", "Film Cue", "Paradise", "Sad ceremony", "Lost Voices",
    "Jazz Doos", "Beat Vox", "Talk 2 Me", "FM Vox", "Let's Talk!", "Nice Kalimba", "Quiet River", "Teky Drop",
    "Pat is away", "SC Sitar 1", "SC Sitar 2", "Sitar on C", "Sitar Baby", "Elec Sitar", "Neo Sitar",
    "SaraswatiRvr", "Bosporus", "Santur Stack", "Aerial Harp", "Harpiness", "Skydiver", "TroubadorEns",
    "Jamisen", "Koto", "Monsoon", "Bend Koto", "LongDistance", "Ambi Shaku", "SC Lochscape", "SC PipeDream",
    "SC Far East", "Banjo", "Timpani+Low", "Timpani Roll", "Bass Drum", "Ambidextrous", "En-co-re",
    "Mobile Phone", "ElectroDisco", "Groove 007", "In Da Groove", "Sweet 80s", "Autotrance", "Juno Pop",
    "Compusonic 1", "Compusonic 2", "80s Combo", "Analog Days", "Techno Craft", "Lounge Kit"
  };
  /*
   * Presets Patch-GM2
   */
  public static String[] PRESET_GM2_GROUP = {
    "Piano 1", "Piano 1w", "European Pf", "Piano 2", "Piano 2w", "Piano 3", "Piano 3w", "Honky-tonk",
    "Honky-tonk 2", "E.Piano 1", "St.Soft EP", "FM+SA EP", "Wurly", "E.Piano 2", "Detuned EP 2", "St.FM EP",
    "EP Legend", "EP Phase", "Harpsichord", "Coupled Hps.", "Harpsi.w", "Harpsi.o", "Clav.", "Pulse Clav",
    "Celesta", "Glockenspiel", "Music Box", "Vibraphone", "Vibraphone w", "Marimba", "Marimba w", "Xylophone",
    "Tubular-bell", "Church Bell", "Carillon", "Santur", "Organ 1", "Trem. Organ", "60's Organ 1", "70's E.Organ",
    "Organ 2", "Chorus Or.2", "Perc. Organ", "Organ 3", "Church Org.1", "Church Org.2", "Church Org.3",
    "Reed Organ", "Puff Organ", "Accordion Fr", "Accordion It", "Harmonica", "Bandoneon", "Nylon-str.Gt",
    "Ukulele", "Nylon Gt.o", "Nylon Gt.2", "Steel-str.Gt", "12-str.Gt", "Mandolin", "Steel + Body",
    "Jazz Gt.", "Pedal Steel", "Clean Gt.", "Chorus Gt.", "Mid Tone GTR", "Muted Gt.", "Funk Pop", "Funk Gt.2",
    "Jazz Man", "Overdrive Gt", "Guitar Pinch", "DistortionGt", "Feedback Gt.", "Dist Rtm GTR", "Gt.Harmonics",
    "Gt. Feedback", "Acoustic Bs.", "Fingered Bs.", "Finger Slap", "Picked Bass", "Fretless Bs.", "Slap Bass 1",
    "Slap Bass 2", "Synth Bass 1", "SynthBass101", "Acid Bass", "Clavi Bass", "Hammer", "Synth Bass 2", "Beef FM Bass",
    "RubberBass 2", "Attack Pulse", "Violin", "Slow Violin", "Viola", "Cello", "Contrabass", "Tremolo Str",
    "PizzicatoStr", "Harp", "Yang Qin", "Timpani", "Strings", "Orchestra", "60s Strings", "Slow Strings",
    "Syn.Strings1", "Syn.Strings3", "Syn.Strings2", "Choir Aahs", "Chorus Aahs", "Voice Oohs", "Humming",
    "SynVox", "Analog Voice", "OrchestraHit", "Bass Hit", "6th Hit", "Euro Hit", "Trumpet", "Dark Trumpet",
    "Trombone", "Trombone 2", "Bright Tb", "Tuba", "MutedTrumpet", "MuteTrumpet2", "French Horns",
    "Fr.Horn 2", "Brass 1", "Brass 2", "Synth Brass1", "JP Brass", "Oct SynBrass", "Jump Brass", "Synth Brass2",
    "SynBrass sfz", "Velo Brass 1", "Soprano Sax", "Alto Sax", "Tenor Sax", "Baritone Sax", "Oboe", "English Horn",
    "Bassoon", "Clarinet", "Piccolo", "Flute", "Recorder", "Pan Flute", "Bottle Blow", "Shakuhachi",
    "Whistle", "Ocarina", "Square Wave", "MG Square", "2600 Sine", "Saw Wave", "OB2 Saw", "Doctor Solo",
    "Natural Lead", "SequencedSaw", "Syn.Calliope", "Chiffer Lead", "Charang", "Wire Lead", "Solo Vox",
    "5th Saw Wave", "Bass & Lead", "Delayed Lead", "Fantasia", "Warm Pad", "Sine Pad", "Polysynth",
    "Space Voice", "Itopia", "Bowed Glass", "Metal Pad", "Halo Pad", "Sweep Pad", "Ice Rain", "Soundtrack",
    "Crystal", "Syn Mallet", "Atmosphere", "Brightness", "Goblin", "Echo Drops", "Echo Bell", "Echo Pan",
    "Star Theme", "Sitar", "Sitar 2", "Banjo", "Shamisen", "Koto", "Taisho Koto", "Kalimba", "Bagpipe",
    "Fiddle", "Shanai", "Tinkle Bell", "Agogo", "Steel Drums", "Woodblock", "Castanets", "Taiko", "Concert BD",
    "Melo. Tom 1", "Melo. Tom 2", "Synth Drum", "808 Tom", "Elec Perc", "Reverse Cym.", "Gt.FretNoise",
    "Gt.Cut Noise", "String Slap", "Breath Noise", "Fl.Key Click", "Seashore", "Rain", "Thunder", "Wind",
    "Stream", "Bubble", "Bird", "Dog", "Horse-Gallop", "Bird 2", "Telephone 1", "Telephone 2", "DoorCreaking",
    "Door", "Scratch", "Wind Chimes", "Helicopter", "Car-Engine", "Car-Stop", "Car-Pass", "Car-Crash",
    "Siren", "Train", "Jetplane", "Starship", "Burst Noise", "Applause", "Laughing", "Screaming", "Punch",
    "Heart Beat", "Footsteps", "Gun Shot", "Machine Gun", "Lasergun", "Explosion"};
  public static Integer[][] PRESET_GM2_GROUP_POINTER = {
    {0, 1}, {1, 1}, {2, 1}, {0, 2}, {1, 2}, {0, 3}, {1, 3}, {0, 4}, {4, 4}, {0, 5}, {1, 5}, {2, 5}, {3, 5}, {0, 6}, {1, 6}, {2, 6},
    {3, 6}, {4, 6}, {0, 7}, {1, 7}, {2, 7}, {3, 7}, {0, 8}, {1, 8}, {0, 9}, {0, 10}, {0, 11}, {0, 12}, {1, 12}, {0, 13}, {1, 13},
    {0, 14}, {0, 15}, {1, 15}, {2, 15}, {0, 16}, {0, 17}, {1, 17}, {2, 17}, {3, 17}, {0, 18}, {1, 18}, {2, 18}, {0, 19},
    {0, 20}, {1, 20}, {2, 20}, {0, 21}, {1, 21}, {0, 22}, {1, 22}, {0, 23}, {0, 24}, {0, 25}, {1, 25}, {2, 25}, {3, 25},
    {0, 26}, {1, 26}, {2, 26}, {3, 26}, {0, 27}, {1, 27}, {0, 28}, {1, 28}, {2, 28}, {0, 29}, {1, 29}, {2, 29}, {3, 29},
    {0, 30}, {1, 31}, {0, 31}, {1, 31}, {2, 31}, {0, 32}, {1, 32}, {0, 33}, {0, 34}, {1, 34}, {0, 35}, {0, 36}, {0, 37},
    {0, 38}, {0, 39}, {1, 39}, {2, 39}, {3, 39}, {4, 39}, {0, 40}, {1, 40}, {2, 40}, {3, 40}, {0, 41}, {1, 41}, {0, 42},
    {0, 43}, {0, 44}, {0, 45}, {0, 46}, {0, 47}, {1, 47}, {0, 48}, {0, 49}, {1, 49}, {2, 49}, {0, 50}, {0, 51}, {1, 51},
    {0, 52}, {0, 53}, {1, 53}, {0, 54}, {1, 54}, {0, 55}, {1, 55}, {0, 56}, {1, 56}, {2, 56}, {3, 56}, {0, 57}, {1, 57},
    {0, 58}, {1, 58}, {2, 58}, {0, 59}, {0, 60}, {1, 60}, {0, 61}, {1, 61}, {0, 62}, {1, 62}, {0, 63}, {1, 63}, {2, 63},
    {3, 63}, {0, 64}, {1, 64}, {2, 64}, {0, 65}, {0, 66}, {0, 67}, {0, 68}, {0, 69}, {0, 70}, {0, 71}, {0, 72}, {0, 73},
    {0, 74}, {0, 75}, {0, 76}, {0, 77}, {0, 78}, {0, 79}, {0, 80}, {0, 81}, {1, 81}, {2, 81}, {0, 82}, {1, 82}, {2, 82},
    {3, 82}, {4, 82}, {0, 83}, {0, 84}, {0, 85}, {1, 85}, {0, 86}, {0, 87}, {0, 88}, {1, 88}, {0, 89}, {0, 90}, {1, 90},
    {0, 91}, {0, 92}, {1, 92}, {0, 93}, {0, 94}, {0, 95}, {0, 96}, {0, 97}, {0, 98}, {0, 99}, {1, 99}, {0, 100}, {0, 101},
    {0, 102}, {0, 103}, {1, 103}, {2, 103}, {0, 104}, {0, 105}, {1, 105}, {0, 106}, {0, 107}, {0, 108}, {1, 108},
    {0, 109}, {0, 110}, {0, 111}, {0, 112}, {0, 113}, {0, 114}, {0, 115}, {0, 116}, {1, 116}, {0, 117}, {1, 117},
    {0, 118}, {1, 118}, {0, 119}, {1, 119}, {2, 119}, {0, 120}, {0, 121}, {1, 121}, {2, 121}, {0, 122}, {1, 122},
    {0, 123}, {1, 123}, {2, 123}, {3, 123}, {4, 123}, {5, 123}, {0, 124}, {1, 124}, {2, 124}, {3, 124}, {0, 125},
    {1, 125}, {2, 125}, {3, 125}, {4, 125}, {5, 125}, {0, 126}, {1, 126}, {2, 126}, {3, 126}, {4, 126}, {5, 126},
    {6, 126}, {7, 126}, {8, 126}, {9, 126}, {0, 127}, {1, 127}, {2, 127}, {3, 127}, {4, 127}, {5, 127}, {0, 128},
    {1, 128}, {2, 128}, {3, 128}};
  
  public static void main(String[] args){ // for test-purposes only
    System.out.println(SonicCellConstants.NameToMsbLsbPrg());
    
  }
}


optimal sichtbar mit Firefox Formeln mit asciimath Druckversion