Re:RESULTS - Re: Well, how about an old ensoniqs VFX and sysex control
2008-05-26 by Steve Meiers
Yahoo Groups archive
Index last updated: 2026-04-28 23:16 UTC
Thread
2008-05-26 by Steve Meiers
2008-05-27 by k5kip_1999
Royce is great! I am making good progress, once he showed me the commands. Also, using the midiox to actually view the sysex coming out of the vfx has been key, I did not use the sysex manual after that. Royce showed the way. I am able to move the command on the synth and transfer the sysex to the bcreditor. Then confirm the commands match, before moving on to prevent the wrong command from getting in there. I have my 3 envelopes mapped, quite a chore, and made the .showval bar/off, which helps me remember which controls are envelops. So major progress here, I will post a final product when finished. Thanks so much, Royce, I thought I was going to dump this synth, now I am having fun with it again! Yeah! Kip --- In bc2000@yahoogroups.com, Steve Meiers <tekrytor@...> wrote: > > Kip and Royce, > > Just a note, since Ive been lurking this whole thread to see "how it's done". I'm pretty good with standard MIDI commands, PC, CC, MMC, etc, but haven't done any sysex yet, so this was interesting to read. Thanks both for keeping it online because I learned quite a bit reading Kip's VX-BC escapades. Thanks Royce for being so helpful.
> > Steve >
2008-05-27 by rpcfender
Hi Kip > So major progress here, I will post a final product when finished. > Thanks so much, Royce, I thought I was going to dump this synth, now I > am having fun with it again! Yeah! > Well done. I just wish I had one to play around with. Look forward to seeing the preset. Royce
2008-05-27 by k5kip_1999
Question for the master. Royce, What about if I have a button I want to skip items? I have a minmax 0 16 and I only want a few items, non contiguous? I want a button to increment say 0, 3, 4, 7, 9, 10, 13, 14, 16. No real pattern. There are selections in the list are ones that I won't use.. and don't want to remember. Ideas? Kip
2008-05-27 by rpcfender
2008-05-27 by k5kip_1999
Well, not sure i want it on more than one button... Same with the negative values for some of the other controls, not sure I want more than one knob for a control. Always, how to work within limits. I suppose I could put it on a knob... mull... mull. So what about the resolution? 96,96,96,96 This will mean that no matter how fast or slow I turn the knob the change in value will be the same. If i set 24, 48, 96, 192 then it would change values faster if it turn the knob faster and slower if i turn the knob slower? I have all my encoders with that, however, I might want to have say the lfo rate be a bit slower... I must study your reply to understand. Does showvalue work for the ones below, that is +32 buttons and encoders? I don't think it is working on mine. I would hate to have to run some kind of translator for the sysex. Although I have much experience doing cc translations. See http://shoshin.110mb.com/genmce My mackie emu beast! Kip --- In bc2000@yahoogroups.com, "rpcfender" <rpcfender@...> wrote: > > Hi Kip, > > glad to see the questions aren't getting any easier. > > > What about if I have a button I want to skip items? > > I have a minmax 0 16 and I only want a few items, non contiguous? > > I want a button to increment say 0, 3, 4, 7, 9, 10, 13, 14, 16. > > No real pattern. There are selections in the list are ones that I > > won't use.. and don't want to remember. > > As far as I know the BCR can only do arithmetic series eg > 3,6,9,12,15,0,3,6,etc > > Assuming these are the values you are interested in you could split the > values across more than one button. > 0,3,6,9 .minmax 0 9 .mode incval 3 > 4,7,10 .minmax 4 10 .mode incval 3 > 13,14,15,16 .minmax 13 16 .mode incval 1 > > Unlike using easypar, when using tx the values from identical messages > won't reset the val in the other buttons. > That is, after pressing button A and outputing a val of 3, if you press > button C then value output is not 3 + incval 1 but the old val (or > default) of button C + incval 1 > So at least you will get predictable results. > > Make sure you have the .showvalue on so you can see what you have > selected in the display. > > Perhaps you can cluster them into meaningful groups. eg if it was the > LFO waves - Ramp up & down, sin & tri & square > > Running though a a random list like you need is a simple mapping problem
> on a PC, but I don't know how to do it on the BCR. > > > All the best > > Royce >
2008-05-27 by rpcfender
Hi Kip > Well, not sure i want it on more than one button... > Same with the negative values for some of the other controls, not > sure I want more than one knob for a control. Always, how to work > within limits. > I suppose I could put it on a knob... mull... mull. Yes, it isn't the best solution (well it is, I guess, but not what you want) > > > So what about the resolution? > 96,96,96,96 > This will mean that no matter how fast or slow I turn the knob the > change in value will be the same. Yes, but it will skip values if you turn it quickly . > If i set 24, 48, 96, 192 then it would change values faster if it > turn the knob faster and slower if i turn the knob slower? In one fast turn you will end up with StartValue + 192 In one slow turn you will end up with StartValue + 24 As the midi data is put out at fixed intervals there will be big gaps in values with the fast turn. This is great to find a value if the range is great. I have my FantomX Bank and patch set to an encoder and a quick twist will jump banks and slow turn to select the patch. > I have all my encoders with that, however, I might want to have say > the lfo rate be a bit slower... You can change the 'feel' of the BCR quite markedly with this thing. > I must study your reply to understand. > Does showvalue work for the ones below, that is +32 buttons and > encoders? .showvalue on - can be for all control elements, all buttons, all encoders and all faders Don't get it confused with .mode 1dot - this is for the LED ring around the encoder. showvalue is for the number display top right. .mode does vary for the top row and the bottom 3 rows. > I don't think it is working on mine. > I would hate to have to run some kind of translator for the sysex. > Although I have much experience doing cc translations. > See http://shoshin.110mb.com/genmce > My mackie emu beast! Excellent work! I an wondering about the limitations of the BCR for what I am doing. I would love a program that takes over the BCR with CC messages like Reason and lets me output what ever I want. It would allow for feedback. I would love to change a patch on the synth and have the sysex reset all the controls on the BCR. Then again PCs are great for in the studio, but just an extra thing to lug to a live gig. The BCR's good but not perfect, but very cheap. Royce
2008-05-27 by k5kip_1999
Alright, Anyway to work in some logic here? Based on what you said below, bank and patch select, is there a way to have different commands come out with different speed turning? I guess that would have to use some sort of detector to figure out the speed. Will the BCR do and computation stuff? OMG - I am in way over my head now! Kip --- In bc2000@yahoogroups.com, "rpcfender" <rpcfender@...> wrote:
> > Hi Kip > > Well, not sure i want it on more than one button... > > Same with the negative values for some of the other controls, not > > sure I want more than one knob for a control. Always, how to work > > within limits. > > I suppose I could put it on a knob... mull... mull. > Yes, it isn't the best solution (well it is, I guess, but not what you > want) > > > > > > So what about the resolution? > > 96,96,96,96 > > This will mean that no matter how fast or slow I turn the knob the > > change in value will be the same. > > Yes, but it will skip values if you turn it quickly . > > > If i set 24, 48, 96, 192 then it would change values faster if it > > turn the knob faster and slower if i turn the knob slower? > > In one fast turn you will end up with StartValue + 192 > In one slow turn you will end up with StartValue + 24 > As the midi data is put out at fixed intervals there will be big gaps > in values with the fast turn. > This is great to find a value if the range is great. I have my FantomX > Bank and patch set to an encoder and a quick twist will jump banks and > slow turn to select the patch. > > > I have all my encoders with that, however, I might want to have say > > the lfo rate be a bit slower... > > You can change the 'feel' of the BCR quite markedly with this thing. > > > I must study your reply to understand. > > Does showvalue work for the ones below, that is +32 buttons and > > encoders? > > .showvalue on - can be for all control elements, all buttons, all > encoders and all faders > Don't get it confused with .mode 1dot - this is for the LED ring > around the encoder. showvalue is for the number display top right. > .mode does vary for the top row and the bottom 3 rows. > > > I don't think it is working on mine. > > > I would hate to have to run some kind of translator for the sysex. > > Although I have much experience doing cc translations. > > See http://shoshin.110mb.com/genmce > > My mackie emu beast! > > Excellent work! > > I an wondering about the limitations of the BCR for what I am doing. I > would love a program that takes over the BCR with CC messages like > Reason and lets me output what ever I want. > It would allow for feedback. I would love to change a patch on the > synth and have the sysex reset all the controls on the BCR. > Then again PCs are great for in the studio, but just an extra thing to > lug to a live gig. > > The BCR's good but not perfect, but very cheap. > > Royce >
2008-05-27 by rpcfender
> Alright, > Anyway to work in some logic here? > Based on what you said below, > bank and patch select, is there a way to have different commands come > out with different speed turning? I guess that would have to use some > sort of detector to figure out the speed. The BCR can use 14 bit numbers in the range (minmax) and the resolution so you can use val for the Patch and the higher bits val's (val7.13 etc., as in your sysex) to drive the bank change. set minmax 0 $3FFF - or what ever you want. set resolution 43 200 600 4000 - fiddle with these number to give you the feel you want You can go though all patches, all banks turning slowly, but if you turn quickly it will jump by large values and therefore banks The BCR can put out one group of messages if turned clockwise and a different one if turned anticlockwise .tx ifp $B0 7 val ifn $B1 23 val ifp = if positive = clockwise ifn = if negative = anticlockwise if you put a message before the ifn and ifp conditionals then it will always be put out .tx $B0 7 val ifn $B3 23 val turn clockwise $B0 7 1 $B0 7 2 $B0 7 3 $B0 7 4 $B0 7 5 turn anticlockwise $B0 7 4 $B3 23 4 $B0 7 3 $B3 23 3 $B0 7 2 $B3 23 2 $B0 7 1 $B3 23 1 > Will the BCR do and computation stuff? No > OMG - I am in way over my head now! The best place to be Royce
2008-05-28 by k5kip_1999
Royce, I need a refocus. You have sent many things to me in these responses, thanks! I have one more request, before I slip back under my rock. I need to do the postive/negative thing. I will start with the pitch octave button. They currently increment by 1 -4...0...4. I have two buttons how do it get the values to go negative on one of the buttons? Please forgive me if you already answered me. $button 36 ;Pitch_Oct+ .showvalue on .default 0 .mode incval 1 .minmax 0 4 $button 44 ;Pitch_Oct - .showvalue on .default 0 .mode incval 1 .minmax 0 4 I don't have the sysex string yet, I am not at home. So how do I get the negative value for the pitch oct -? Thanks, I am almost finished, then some minor moving around of controls and then use it! Thanks, Kip --- In bc2000@yahoogroups.com, "rpcfender" <rpcfender@...> wrote:
> > > Alright, > > Anyway to work in some logic here? > > Based on what you said below, > > bank and patch select, is there a way to have different commands come > > out with different speed turning? I guess that would have to use some > > sort of detector to figure out the speed. > The BCR can use 14 bit numbers in the range (minmax) and the > resolution so you can use val for the Patch and the higher bits val's > (val7.13 etc., as in your sysex) to drive the bank change. > set minmax 0 $3FFF - or what ever you want. > set resolution 43 200 600 4000 - fiddle with these number to give you > the feel you want > You can go though all patches, all banks turning slowly, but if you > turn quickly it will jump by large values and therefore banks > > The BCR can put out one group of messages if turned clockwise and a > different one if turned anticlockwise > > .tx ifp $B0 7 val ifn $B1 23 val > > ifp = if positive = clockwise > ifn = if negative = anticlockwise > > if you put a message before the ifn and ifp conditionals then it will > always be put out > > .tx $B0 7 val ifn $B3 23 val > > turn clockwise > $B0 7 1 > $B0 7 2 > $B0 7 3 > $B0 7 4 > $B0 7 5 > turn anticlockwise > $B0 7 4 $B3 23 4 > $B0 7 3 $B3 23 3 > $B0 7 2 $B3 23 2 > $B0 7 1 $B3 23 1 > > > > > Will the BCR do and computation stuff? > No > > > OMG - I am in way over my head now! > > The best place to be > > Royce >
2008-05-29 by rpcfender
2008-05-29 by k5kip_1999
Ok, So range from -1 to -99 would be $3FFF $3F9d but I should write it as .minmax $3F9d $3FFF Correct? Thanks Royce. --- In bc2000@yahoogroups.com, "rpcfender" <rpcfender@...> wrote: > > > I need to do the postive/negative thing. > > I will start with the pitch octave button. > > They currently increment by 1 -4...0...4. > > I have two buttons how do it get the values to go negative on one of > > the buttons? > > Please forgive me if you already answered me. > > > > $button 36 ;Pitch_Oct+ > > .showvalue on > > .default 0 > > .mode incval 1 > > .minmax 0 4 > > > > $button 44 ;Pitch_Oct - > > .showvalue on > > .default 0 > > .mode incval 1 > > .minmax 0 4 > > > > Ok, deep breath.... this will work for all negative values from -1 to > -4096 > > You need a 16bit value. > BCR only puts out 14bit numbers, but that is OK because when the number > is positive the missing top bits are 0 anyway > Your 16 bit number is broken into four 8bit bytes abcd efgh ijkl > mnop (letters showing the position of 0 or 1 in a 16bit binary number) > You need to output 0000abcd 0000efgh 0000ijkl 0000mnop as that's > the order your synth likes it (I think). > We get this with val12.13 val8.11 val4.7 val0.3 in the .tx statement > > Our 16bit negative number has 1s in the top part ie 0000 1111 > val12.13 will always have 0s in the top 2 bits 0000 00cd so this won't > work > If the number is 12bits or smaller we can simply substitute $0F for the > val12.13 > > .tx $F0 header parameter_offset val12.13 val8.11 val4.7 val0.3 $F7 > becomes > .tx $F0 header parameter_offset $0F val8.11 val4.7 val0.3 $F7 > > The $0F in the top bits has made the value negative > > Now we have to set the range with minmax so that the 12bit numbers are > correct > The max unsigned 14bit number is $3FFF > So we can use that as if it is -1 > $3FFF = -1 > $3FFE = -2 > $3FFD = -3 > $3FFC = -4 > $3FFB = -5 > $3FFA = -6 > $3FF9 = -7 > > .minmax $3FFC $3FFF ; for our -1 to -4 > > So for your preset...... > > $button 36 ;Pitch_Oct+ > .showvalue on > .default 0 > .mode incval 1 > .minmax 0 4 > .tx $F0 header parameter_offset val12.13 val8.11 val4.7 val0.3 $F7 > > $button 44 ;Pitch_Oct - > .showvalue on > .default $3FFF > .mode incval -1 ; the only place you can use negative numbers > .minmax $3FFC $3FFF ; Note for incval to work it must be in this order
> .tx $F0 header parameter_offset $0F val8.11 val4.7 val0.3 $F7 > > > I hope this helps. > > All the best > > Royce >
2008-05-29 by k5kip_1999
This is for a knob. And actually, I should change the minmax order, right? I will try it at any rate and get back, then go back under my rock. --- In bc2000@yahoogroups.com, "k5kip_1999" <k5kip_1999@...> wrote: > > Ok, > So range from -1 to -99 would be > $3FFF $3F9d > but I should write it as > .minmax $3F9d $3FFF > Correct? > > Thanks Royce. > > > --- In bc2000@yahoogroups.com, "rpcfender" <rpcfender@> wrote: > > > > > I need to do the postive/negative thing. > > > I will start with the pitch octave button. > > > They currently increment by 1 -4...0...4. > > > I have two buttons how do it get the values to go negative on one of > > > the buttons? > > > Please forgive me if you already answered me. > > > > > > $button 36 ;Pitch_Oct+ > > > .showvalue on > > > .default 0 > > > .mode incval 1 > > > .minmax 0 4 > > > > > > $button 44 ;Pitch_Oct - > > > .showvalue on > > > .default 0 > > > .mode incval 1 > > > .minmax 0 4 > > > > > > > Ok, deep breath.... this will work for all negative values from -1 to > > -4096 > > > > You need a 16bit value. > > BCR only puts out 14bit numbers, but that is OK because when the number > > is positive the missing top bits are 0 anyway > > Your 16 bit number is broken into four 8bit bytes abcd efgh ijkl > > mnop (letters showing the position of 0 or 1 in a 16bit binary number) > > You need to output 0000abcd 0000efgh 0000ijkl 0000mnop as that's > > the order your synth likes it (I think). > > We get this with val12.13 val8.11 val4.7 val0.3 in the .tx statement > > > > Our 16bit negative number has 1s in the top part ie 0000 1111 > > val12.13 will always have 0s in the top 2 bits 0000 00cd so this won't > > work > > If the number is 12bits or smaller we can simply substitute $0F for the
> > val12.13 > > > > .tx $F0 header parameter_offset val12.13 val8.11 val4.7 val0.3 $F7 > > becomes > > .tx $F0 header parameter_offset $0F val8.11 val4.7 val0.3 $F7 > > > > The $0F in the top bits has made the value negative > > > > Now we have to set the range with minmax so that the 12bit numbers are > > correct > > The max unsigned 14bit number is $3FFF > > So we can use that as if it is -1 > > $3FFF = -1 > > $3FFE = -2 > > $3FFD = -3 > > $3FFC = -4 > > $3FFB = -5 > > $3FFA = -6 > > $3FF9 = -7 > > > > .minmax $3FFC $3FFF ; for our -1 to -4 > > > > So for your preset...... > > > > $button 36 ;Pitch_Oct+ > > .showvalue on > > .default 0 > > .mode incval 1 > > .minmax 0 4 > > .tx $F0 header parameter_offset val12.13 val8.11 val4.7 val0.3 $F7 > > > > $button 44 ;Pitch_Oct - > > .showvalue on > > .default $3FFF > > .mode incval -1 ; the only place you can use negative numbers > > .minmax $3FFC $3FFF ; Note for incval to work it must be in this > order > > .tx $F0 header parameter_offset $0F val8.11 val4.7 val0.3 $F7 > > > > > > I hope this helps. > > > > All the best > > > > Royce > > >
2008-05-29 by rpcfender
Hi Kip > This is for a knob. > And actually, I should change the minmax order, right? The minmax in this case is not associated with incval, so reversing the numbers just reverses the direction of the encoder movement. > > Ok, > > So range from -1 to -99 would be > > $3FFF $3F9d > > but I should write it as > > .minmax $3F9d $3FFF > > Correct? Use the MS calculator, select "view\scientific" . In decimal mode type in 99 hit the +\- button then swap to hex and you get FFFFFFFFFFFFFF9D just use the last 3 numbers F9D and put 3 at the start 3F9D Royce
2008-05-30 by k5kip_1999
Royce, I got distracted from the negative values issue, I will return... Tonight, I discovered what the $02 was for you were wondering about. It is a fine mess, well actually a good one. Here goes, the vfx has, if you will, 6 voices (waves etc) to make up 1 sound or patch. So... that $02 is because I happened to be on 3rd voice! Each voice has 1. a digital osc. 2. two filters. 3. on LFO 4. three complex(6step,6level) envelop generators. 5. all the modulation routings and amounts for the above. Up to this point, I have the 1 entire bcr patch filled with controls. What I have here is a monster! I am going to need 6 bcr presets, one for each voice. Now many times I won't need those say 4,5,6 voices... but will make the presets for them anyway. Wow! I am officially overwhelmed... by the enormity of the editing task that lay before me. What I need now is a way to edit the sysex string, ie a global replace kind of thing for all the values for voice #1,2,3,4,5,6 presets The only thing that changes for these strings going from voice#1 to voice#2 is the $02 in the sysex string located in the 10th position. So, I need a way to just replace that small hex bit with $00 for the all the values at the 10th position for the voice#1 preset. Then go on to $01 for voice#2 preset, then $02, then $03 etc... Do you have any wonderful ideas. I have codeblocks installed for some other editing I was doing, however, i don't know how to replace just the parts located with in a hex string like this? All thoughts appreciated! Kip --- In bc2000@yahoogroups.com, "rpcfender" <rpcfender@...> wrote:
> > Hi Kip > > > This is for a knob. > > And actually, I should change the minmax order, right? > > The minmax in this case is not associated with incval, so reversing > the numbers just reverses the direction of the encoder movement. > > > > Ok, > > > So range from -1 to -99 would be > > > $3FFF $3F9d > > > but I should write it as > > > .minmax $3F9d $3FFF > > > Correct? > > Use the MS calculator, select "view\scientific" . > In decimal mode type in 99 hit the +\- button then swap to hex and > you get > FFFFFFFFFFFFFF9D > > just use the last 3 numbers F9D and put 3 at the start > 3F9D > > Royce >
2008-05-30 by rpcfender
2008-05-30 by k5kip_1999
2008-06-08 by Mark van den Berg
--- In bc2000@yahoogroups.com, "k5kip_1999" <k5kip_1999@...> wrote: > Here is the .tx for filter 1 cut off, voice #1. > > .tx $F0 $0F $05 $00 $00 $00 $00 $01 $00 *$00* $00 $0D $00 $01 $00 $00 > val4.7 val0.3 $F7 > > You will notice I am not using the val statements at the blue location, > when I observe the sysex coming out of my synth i see that those values > are /always /0, so I leave them. > I would need it to edit that "voice" value and to edit the last two > before the $f7. > I have been using Mark's editor for major construction. I have found > that setup goes pretty quick once you get used to it. The ability of > recording the sysex output from the synth is awesome. > I click the record, press the button or move slider on synth and i have > a capture of the sysex string. However, I need then to edit the orange > bits above in the string. When they are captured they have values like > $02 in them and need to be changed to the val4.7 val0.3. > That, while was ok using Mark's editor, took a while and was very tedious. > So really, there needs to be a way to search and replace for those > values on all strings. > I can envision a streamlined process coming out here. > Perhaps Mark can add in some kind of hex search and replace function to > his editor? I'm not sure about the usefulness of an actual search & replace function to achieve your intended substitution: wouldn't the search & replace function then wrongly apply to ANY value of "$02" (to use your example)? So what I'm thinking of is a feature by which you can replace the n-th item in every ".tx" line in a particular scope. I'll think about it. Mark.
2008-06-08 by k5kip_1999
Mark, Yeah, what I meant was in the byte position.. or as you said the nth...xx position yeah. Great editor, Mark, you have opened up a vast expanse to edit this beast with. Thank you! I tried to email you but it bounced back. I was offering to add some graphics to the manual. If you send me the doc, I will do so then send back to you for approval. I was a bit daunted by the program at first... a few images in the manual might have helped, what say you? Kip --- In bc2000@yahoogroups.com, "Mark van den Berg" <markwinvdb@...> wrote: > > --- In bc2000@yahoogroups.com, "k5kip_1999" <k5kip_1999@> wrote: > > Here is the .tx for filter 1 cut off, voice #1. > > > > .tx $F0 $0F $05 $00 $00 $00 $00 $01 $00 *$00* $00 $0D $00 $01 $00 $00 > > val4.7 val0.3 $F7 > > > > You will notice I am not using the val statements at the blue location, > > when I observe the sysex coming out of my synth i see that those values > > are /always /0, so I leave them. > > > I would need it to edit that "voice" value and to edit the last two > > before the $f7. > > I have been using Mark's editor for major construction. I have found > > that setup goes pretty quick once you get used to it. The ability of > > recording the sysex output from the synth is awesome. > > I click the record, press the button or move slider on synth and i have > > a capture of the sysex string. However, I need then to edit the orange > > bits above in the string. When they are captured they have values like > > $02 in them and need to be changed to the val4.7 val0.3. > > That, while was ok using Mark's editor, took a while and was very > tedious. > > So really, there needs to be a way to search and replace for those > > values on all strings. > > I can envision a streamlined process coming out here. > > Perhaps Mark can add in some kind of hex search and replace function to
> > his editor? > > I'm not sure about the usefulness of an actual search & replace > function to achieve your intended substitution: wouldn't the search & > replace function then wrongly apply to ANY value of "$02" (to use your > example)? > So what I'm thinking of is a feature by which you can replace the n-th > item in every ".tx" line in a particular scope. I'll think about it. > > Mark. >