Bc2000 (for the BCF2000 & BCR2000) group photo

Yahoo Groups archive

Bc2000 (for the BCF2000 & BCR2000)

Index last updated: 2026-04-28 23:16 UTC

Message

Re: Well, how about an old ensoniqs VFX and sysex control???

2008-05-24 by k5kip_1999

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
>

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.