Royce, Thanks for the jump start, so this should do the filter cutoff on encoder 49, correct? I will try to get to this when/if my son takes a nap! I will post my results here. Kip --- In bc2000@yahoogroups.com, "rpcfender" <rpcfender@...> wrote: > > Hi Kip > > > Please take a look at the doc I uploaded. > > Tell me if it is possible. > Yes it is a very clear sysex implimentation > > > Then, if you can get me started a little, I will press on ahead. > > The sysex for changing as parameter starts with the header > $F0 $0F $05 $00 - This is always the start for the Ensonic VFX > next byte is the base Midi channel $00 to $0F > then the command number. For changing a parameter it is $01 > So a header for parameter when on channel 1 > > $F0 $0F $05 $00 $00 $01 > > You need to determine the address offset in the parameter list. > Section 3.1.2 says > Command type (parameter $01) > Voice number 0 to 5 > Parameter Page 0 to 31 > Parameter slot 0 to 5 > > $F0 $0F $05 $00 $00 $01 $Voice $Page $Slot > > > The next bit is a bit confusing. > There are 2 8-bit data bytes, but Midi data bytes can only be 7-bit so > the 2 bytes are broken up and sent as 7 bits > > HHHHLLLL 8-bits of data becomes > 0000HHHH > 0000LLLL > > The value appears to really be 16bit (2 8-bit bytes a high byte and a > low byte) > So... > HHHHLLLL hhhhllll is the 16 bit number sent like this > 0000HHHH > 0000LLLL > 0000hhhh > 0000llll > > The BCR can only cope with 14 bit values, but can handle them broken up > like this. > You will need to send the following .tx message to the BCR > > .tx $F0 $0F $05 $00 $00 $01 $Voice $Page $Slot val12.13 val8.11 val4.7 > val0.3 $F7 > > of course the $Voice $Page $Slot have the correct numbers instead of the > words. > Use section 5 Parameter Page and Slot Definition > > As an example lets use the Filter#1 Cutoff as it is fairly straight > forward (top of pp 12) > The Filter pages are 12 and 13, so for Filter#1 we use 12. > The Cutoff is in slot #1 and has a range of 0 to 127 - as this is less > than 14bits we are OK. > In our example we will use voice# 1 which is number 0 > Here is the .tx statement. > > .tx $F0 $0F $05 $00 $00 $01 0 12 1 val12.13 val8.11 val4.7 val0.3 $F7 > > The numbers after val are the bit positions in a 14 bit number, val8.11 > = bits 8 9 10 & 11 > With the BCR you can mix hexadecimal and decimal numbers ($ for > hexadecimal) > > One of the particular problems you face (and I do with my Emu Morpheus) > is that a few old synths used negative numbers > > Page 2 slot 4 is the Filter#1 Modulation amount and the values go from > -127 to 127. > For values less than 13 bit numbers there is a tricky way to get around > this, but not if the values are 16bit as is your machine. > eg of negative range > 3 = $03 > 2 = $02 > 1 = $01 > 0 = $00 > -1= $FF > -2 = $FE > -3 = $FD > > in 16 bit numbers > 3 = $0003 > 2 = $0002 > 1 = $0001 > 0 = $0000 > -1= $FFFF > -2 = $FFFE > -3 = $FFFD > which to us $FFFF etc. are greater than 14 bit numbers so for > parameters like this you can only use the positive side of their range > (0 to 127) > > Now after saying all this, I don't have a VFX to test this on so I hope > I am correct but you might need to experiment a little . > > Get a copy of my editor (I'm sure you can do this in Mark's editor but I > am not familiar enough with it) and copy (cut and paste) this code below > into the script and send it to the BCR. > > It just goes into the edit buffer so no presets will be changed unless > you save it. > > $rev R1 > $preset > .init > $encoder 49 > .showval on > .mode 1dot > .resolution 96 96 96 96 > .default 100 > .minmax 0 127 > .tx $F0 $0F $05 $00 $00 $01 0 12 1 val12.13 val8.11 val4.7 val0.3 > $F7 > > $end > > Hope this helps. Let me know how you get on. > > All the best > > Royce >
Message
Re: Well, how about an old ensoniqs VFX and sysex control???
2008-05-24 by k5kip_1999
Attachments
- No local attachments were found for this message.