I did read Section 16 of the manual, but it's difficult for me to pick all this up on the first few passes, as I haven't worked extensively with MIDI at the hex level before. I will be happy to share the RM50 files* when I've finished them if you continue to help me through it though. I think I understand what you both are saying about this being a 0-255 variable. If so, the first byte can act as a multiplier of sorts on the second. In other words, to get the total range of a multi-byte variable, one multiplies the range of the high variable -- in this example, 2 -- by the low variable -- in this case, 128 -- in the device manual's Midi Data Format tables. Though it seems like the full range granted by that setup is not necessarily desired for every string -- correct? If not, do you just limit that in the MinValue and MaxValue areas of the parameter definitions? On a similar note, in a two byte variable, will the "val" portion always be written as "val7.13 val0.6," or are there other possibilities/requirements for other circumstances? If there are others, which is used when -- and how does one know how to tell the difference? While we're talking multi-byte variable formats, here is another example from the manual that I don't know how to read nor to set up. This one is for selecting the first of two waveforms/samples (out of 133 options) that make up a drum voice. I copied this verbatim from one of the data charts on page 127 of the RM50 manual. Value (high) | Value (low) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ bit 6-5 mem 00 = preset 01 = wave card 10 = internal bit 4-3 card num 00 = 1, 01 = 1, 10 = 2 bit 0 num high bit7-0 num low 7bit What do I do with that in terms of setting up a string in BC Manager? *The copy of BC Manager that I just downloaded has a max parameter address length of 4, but I need 5 for the RM50 (as Mark noted). I can work around that by putting an extra byte in the model ID field after the 30, but it means I have to break up the device definition files by parameter group. --- In bc2000@yahoogroups.com, "Mark v.d. Berg" <markwinvdb@...> wrote: > > --- In bc2000@yahoogroups.com, "evanlong@" <evanlong@> wrote: > > Now that I've started working with BC Manager and have found it to work, I'm looking for a format I can use that can be inserted into one of its device definition files. Can you show me how to rewrite what you did in that format? > > > > --- In bc2000@yahoogroups.com, "Royce" <rpcfender@> wrote: > > > This really just an 8 bit variable 0 to 255 > > > .minmax 0 255 > > > .tx F0 43 10 30 03 06 00 00 02 val7.13 val0.6 F7 > > Have you looked at section 16 of the BC Manager manual? > This describes the SysEx model definition file format in detail - there's even a section on Yamaha. > You might also look at AN200.ini (included in the BC Manager package, extracted to the Models subfolder), which looks rather similar to what you'd have to write for your RM50. > > I think the header has to look something like this: > > [MODEL] > ProgramName=BC Manager > ProgramVersion=2.3.0 > ManufacturerName=Yamaha > ManufacturerID=43 > ModelName=RM50 > ModelID=30 > DevicePosition=WithCommand > MinDevice=0 > MaxDevice=F > DefaultDevice=0 > Command=1 > AddressLength=5 > ChecksumMethod= > ChecksumStart= > FileVersion=1.0.0 > FileAuthor=[Your name] > Comment=[Bla bla...] > > (ModelID and AddressLength are crucial here. The other items are mostly the standard Yamaha values.) > > Then for each parameter you need to include a line specifying the address (5 bytes), the range, the "val..." and the description. > > E.g. the parameter you've been discussing needs a line like: > > 03 06 00 00 02 | 00 00 - 01 7F | val7.13 val0.6 ;user voice bank: voice 1: pitch > > Hope this helps, > Mark. >
Message
Re: SysEx String Programming / Syntax Help for BCR2000
2013-08-20 by evanlong@ymail.com
Attachments
- No local attachments were found for this message.