hangee_77 Posted July 12, 2002 Posted July 12, 2002 I am making script for my E-synth which has up to 1000 sample presets and more than 200 factory presets. Does anyone know how to generate the scriptmaker so that I can access beyond value 127 in program change. Thanks. Hanjaya C.
SoundWrangler Posted July 12, 2002 Posted July 12, 2002 I don't know the E-synth, but since MIDI prog number values only go from 0-127 by definition (although some, including all General MIDI spec instruments/banks may call these 1-128), I'm guessing that all these presets are handled just like in any other instrument with more than 128 patches - they're organized into banks. A Bank Select msg consists of two bytes, the MSB & LSB (most/least signicant bits), and numbers used for selecting banks are different, not only among manufacturers, but even between different models from a single manuf. Look in your synth's manual, under the MIDI implementation details, for Bank Select (Controller number 0,32) - there you should see a listing of your program banks, & the MSB/LSB values corresponding to each. In the patchnames doc. for Cubase, these are the 2nd & 3rd numbers within the brackets for each program (the first being the prog. number itself). The format is [sub-menu level, prog number, Bank MSB, Bank LSB], followed by the patchname as it appear in Cubase's pop-up selector. (BTW, you can modify these names to make them more descriptive if you like!) For example, in the patch doc for my XP-60 (which uses MSB 81, LSB 0 for Bank A, the first patch in my Preset A bank is: [p3,0,81,0] 64voicePiano Be sure to create nested sub-menus within your banks - 128 names in a single vertical list is too unwieldy! That's why I've got p3 (instead of p2) on this particular patch, it appears in a 2nd-level submenu, which appears because I created a "g2" sub-menu header & it therefore ends up looking like this: [g1] Preset-A [g2] Pianos & Clav [p3,0,81,0] 64voicePiano Hope this helps....
hangee_77 Posted July 13, 2002 Author Posted July 13, 2002 Thanks for the reply! But I'm not really understand about the MSB/LSB value. I looked at the synth's midi implementation chart, it says control change remarks 0-31 64-97 and what does it mean? The manual also tells that to change program banks via MIDI SysEx that allows to access presets higher than 128 (midi), send: Bn 00 00 20 II Cn pp where, n=midi chan# (0-F), II=bank# (00-06), pp=preset in the new bank (00-7F) Do you have any idea about this? Actually I was thinking to organize by bank, ex: bank1 (preset 0-99), banks2 (preset 100-199), and so on... Thanks. Hanjaya C.
SoundWrangler Posted July 13, 2002 Posted July 13, 2002 Ouch! Gotta love those geeks that write the MIDI implementation section. My hexadecimal is REALLY rusty (and/or non-existent), but let's see: The true MIDI values sent are hexadecimal (base 16; that is, 0-9, and then A-G. In patchname documents (& also within Cubase & other MIDI programs, they spare you this, showing you the conventional decimal equivalents to those gnarly hex numbers. In my Roland synth's MIDI implementation (in the details; NOT the 1-page chart), under the sub-heading for Bank Change 0,32, they present a little table, with the MSB & LSB for each bank (which in your patchname doc. precedes each prog. number). That verbiage you quote doesn't sound like the info you require, & doesn't normally appear in the 1-page implementation chart. Besides, they don't even tell what the Cn is supposed to mean! Almost always, the MSB is two numerical digits, & so is the LSB - to avoid confusion they tend to avoid the A-G stuff. Again, check in the multi-page DETAILS about the MIDI implementation. Not a functional answer yet, I know, but hopefully a step in the right direction...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.