Bc2000 (for the BCF2000 & BCR2000) group photo

Yahoo Groups archive

Bc2000 (for the BCF2000 & BCR2000)

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

Thread

Question for Royce re parameter feedback

Question for Royce re parameter feedback

2013-07-06 by twobeelandscape

Hi Royce

I have just been looking at your lovely parameter feedback system for the DW6000
http://www.bwalk.com.au/DW6K/DW6k.html - quite jealous!

I was wondering a few things, to which the answer may well be - don't be so stupid!

Is it at all feasible to create a template-based version of your software, where the user enters some kind of info (like an ini file?) which defines the relationship between a sysex file and corresponding MIDI CC, for any given instrument.  For example:
- Sysex dump request
- Sysex dump reply header
- the addresses of the data components in the sysex file which correspond with the CC values to be sent to the BCR.

I can see this being very complicated, not least because every  manufacturer's approach sysex is a bit different.  Presumably, there would need to be pre-set BCR definition files for the instrument in place first, so the software knows where to send the CC parameter on the BCR.

Also, you say you chose the DW6000 because it has few parameters, so presumably it would be even more complex if you were trying to spread the parameters over more than one preset page on the BCR...

It is the Yamaha AN1x synth I am most interested in, but it occurred to me that a more open, user-definable system would be great.  However, I'm sure it would be a huge amount of work and probably an even greater amount of (unpaid) trouble-shooting, so not worth the bother.

Just thought I'd ask your opinion anyway :)

Bill

Re: Question for Royce re parameter feedback

2013-07-07 by Royce

Hi Bill,

> I have just been looking at your lovely parameter feedback system for the DW6000
> http://www.bwalk.com.au/DW6K/DW6k.html - quite jealous!
>
> I was wondering a few things, to which the answer may well be - don't be so stupid!
>
> Is it at all feasible to create a template-based version of your software, where the user enters some kind of info (like an ini file?) which defines the relationship between a sysex file and corresponding MIDI CC, for any given instrument. For example:
> - Sysex dump request
> - Sysex dump reply header
> - the addresses of the data components in the sysex file which correspond with the CC values to be sent to the BCR.

This is what I had originally envisaged so let me start with the problems that I encountered.
The DW was a test and went really well.
I could change the parameter in real time with little, if any, zippering even though I was using sysex.
Changing a patch on the DW would output a patch change message from the synth to let the computer know to reload the patch data and keep the BCR in sync.
This very close coupling of synth and BCR turned it in to the synths that I had built years earlier (E&MM Spectrum and an ETI 4600) .

So, trying to keep the parameter count down, I tried a 4-op Yamaha TQ5 which is like a DX-100 or TX81z (which should also work on this version although I haven't tried).
Here things became a bit harder.
Not only were there a lot more parameters than the BCR had controls but the sysex messages would build up in the buffer on the synth and there would be a delay in the parameter change.

The many parameters problem is handled by paging each of the 4-ops.
So you select which op you want and the program sends out those parameters in CC and the bottom 2 rows of encoders change their leds to the new op's values.
Although there is only one op available at any one time its no big deal as the encoders do the same thing eg adjust the attack, decay etc, just for a different op.

The synths buffer problem can be fixed by altering the BCR's global parameter and delaying the output. This thins downs the number of sysex messages so the delay is not too bad. (This is a way to fix my DX7 preset in the files section.)

The sticking point is that the TQ5 won't change a lot of it's parameters while holding a note.
In the video you see that I have Live outputting a simple sequence with no long notes and this works well, but if you wanted to do a filter sweep (or the FM equivalent) on a sustained chord then you are in strife.

This is an engineering trade off.
I think most digital synths that I have suffer from this.
The EMU Proteus 2000 family have 16 CCs that you can map to various parameters and this overcomes a lot of the restrictions, but the mapping is in the patch, so I don't know if the filter is attached to CC14 or CC100 or any CC at all.

The Roland XVs, Fantoms, SonicCell and the Yamaha Motifs have a few CCs that you can do similar things, but with all of them the parameters (like the digital filter frequency) can only be directly accessed by sysex and changes occur for the next note not the current one.

The third attempt was to get the Yamaha vector synth TG33 and the keyboard equivalent SY33 to talk to the BCR.
Although the TG33 will respond to a sysex message that controls a single parameter, unfortunately with the SY33 you have to send the whole patch and again the changes only apply to the next note so I abandoned that project.

Of recent times I have been missing the JP8 I bought new (who would have thought a bank would lend money to a music student)
and foolishly sold.
So, inspired by the Synth Editor of Roland's SonicCell, I have started to build a JP8 emulator for a lot of Roland synths, as you can do a reasonable emulation of the JP8 architecture with these synths.

" SonicCell Synthesizer Editor is an application that lets you edit the SonicCell's parameters from your computer, much as if you were operating an analog synthesizer." http://www.roland.com/synth/SonicCell/download.html

I have a page in the program to set up the various parameters, so I think this is the closest thing to what you are talking about.

Other than the previously mentioned problems I haven't been able to work out how to handle the updating of the BCR values (LEDs) when a patch is changed.
To me this is one of the best things about the close coupling, but a patch change in these synths can also mean a change in the synth architecture.

Because there are so many parameters in each tone and there are 4 tones and the tones can be arranged in different ways (like re-patching a modular synth) I have a base patch that I send out at the start.
This way the BCR knows the starting position of the synth parameters and so the values don't jump when you first move a BCR control.

Recently I have looked at it and thought that I could just about create a BCR patch to do the same thing, leaving the computer out of the setup, so perhaps I am wasting my time.

As far as a general program, the close coupling would be impossible if, like the DW, I simply called the bulk patch data and separated it out in to the individual parameters.
I did think about requesting each of the parameters separately and this is just a simple change of the command byte for Roland synths.

Still thinking.

> It is the Yamaha AN1x synth I am most interested in, but it occurred to me that a more open, user-definable system would be great. However, I'm sure it would be a huge amount of work and probably an even greater amount of (unpaid) trouble-shooting, so not worth the bother.

I don't have an AN1x, but you would need to check if you can change individual parameters (it is a Yamaha) and if there aren't too many parameters and if you can change held notes.
Program a filter sweep in sysex on the BCR and let me know.

> Just thought I'd ask your opinion anyway :)
It must be an excellent question as I have written an essay as a reply (sorry about that)

All the best
Royce

Re: Question for Royce re parameter feedback

2013-07-07 by Royce

How embarrassing ... 
The Roland XVs, Fantoms, SonicCell and the Yamaha Motif XS (didn't check my Motif ES rack) can all change in real time via sysex. Filter frequency sweeps on held note work perfectly well.

Looks like the problem in my studio is just the EMU P2k series and the Yamaha FM gear as well as my forgetful brain.
Alan Currall tells me that the Ensoniq SQ80 also has this problem.

So perhaps your AN1x is OK.

Royce (brain dead from too much coding of old synths)

Re: Question for Royce re parameter feedback

2013-07-07 by sghookings@...

hi Royce

IIRC ANX also responds to XG and NRPNs.

I enjoyed your earlier post.

I didn't follow what you meant by global mode.

I have made parameter feedback for Miniak using an embedded processor to handle some issues _ particularly the PGM change issue. I had to keep a master state and decide whether to send 434 bytes for full PGM or just changes. Alas for some controls you have yo send all else symth ignores them ... Bug on AKAI end. I can do this easily with PC but wanted to avoid real computers if at all possible.

The additional benefit is I could create LCD output of the params.
One thing regarding full state feedback. I found some manufactures handle this by jumping (no coupling). Some by blending (on alg is only when param value matches knob value will remote control take over ... I guess because they are pots rather than endless encoders). The full feedback can be chatty.

Regards
Steve H

--- In bc2000@yahoogroups.com, "Royce" <rpcfender@...> wrote:
Show quoted textHide quoted text
>
> How embarrassing ... 
> The Roland XVs, Fantoms, SonicCell and the Yamaha Motif XS (didn't check my Motif ES rack) can all change in real ltime via sysex. Filter frequency sweeps on held note work perfectly well.
>  
> Looks like the problem in my studio is just the EMU P2k series and the Yamaha FM gear as well as my forgetful brain.
> Alan Currall tells me that the Ensoniq SQ80 also has this problem.
> 
> So perhaps your AN1x is OK.
> 
> Royce (brain dead from too much coding of old synths)
>

Re: Question for Royce re parameter feedback

2013-07-07 by twobeelandscape

Royce, thanks for the essay :)

I'm working against a deadline at present (what I mean is, I missed it!), so I'm not able to play in the studio at present.  However, I set up the beginnings of an AN1x editor on the iPad, and changing filter cutoff whilst holding down a note was bit stuttery using Sysex, but completely smooth using CC.  I decided I would stick with the sysex because of the obvious advantages (eg doesn't matter how many different synths receive the sysex - only the intended one will respond).

To be honest, a bit of jumpiness whilst editing doesn't bother me. For me the BCR (or any editor) is about modifying the synth's sounds, not as a live performance control.  So even having to repeatedly press a note doesn't worry me.

The iPad editor is fun, but I have established with the developer (TB MIDI Stuff) that there is no way for it to receive a parameter dump and sync up to patch changes on the synth.  So your approach has the potential to integrate editor and synth better than anything else available.

Would your approach be able to work with more than one preset page, or would it work best with all parameters on a single page?
Is an ini-type approach feasible, or would it have to be hard-coded for each device?

I've got to add, there is a fundamental problem with the BCR, which is the limitation of the 3-digit display. For example, on the AN1x, oscillator pulse width can be modulated from 7 sources.  On my iPad editor, I can create a drop-down list to select and show them.  On the BCR, I have to press a switch 7 times or rotate a knob, which shows number 1-7 on the display - and maybe see if I can fit a label with the 7 items on a paper overlay...

Oh well, nothing is perfect, and I can't afford a Nord Lead/Rack 3, which is about the only synth out there with a BCR-like LED-ring interface which updates to show current patch values.

Regards

Bill

--- In bc2000@yahoogroups.com, "Royce" <rpcfender@...> wrote:
Show quoted textHide quoted text
>
> How embarrassing ... 
> The Roland XVs, Fantoms, SonicCell and the Yamaha Motif XS (didn't check my Motif ES rack) can all change in real time via sysex. Filter frequency sweeps on held note work perfectly well.
> 
> Looks like the problem in my studio is just the EMU P2k series and the Yamaha FM gear as well as my forgetful brain.
> Alan Currall tells me that the Ensoniq SQ80 also has this problem.
> 
> So perhaps your AN1x is OK.
> 
> Royce (brain dead from too much coding of old synths)
>

Re: Question for Royce re parameter feedback

2013-07-07 by Royce

Hi Steve

> IIRC ANX also responds to XG and NRPNs.

Excellent 

> I didn't follow what you meant by global mode.
Hold EDIT and press STORE and you are in Global Edit mode. Any changes here effect all presets.

There is a parameter  '.txinterval' that has value of 2,5,10,20, 50, or 100 in mSec. The BC waits this length of time before outputting a Midi message of the value.

If there is further change before this time has elapsed then the clock is set back to 0 and the BC waits for another txinterval. 

So if you are swinging about on an encoder the amount of Midi data is reduced, but at the cost of responsiveness (but not noticeable enough for me not to use it in performance although you need to select the smallest value that meets you needs).
 
The other problem is that values can jump rather than step and produce 'zipper noise' due to a high value of txinterval. So it is a question of trading off one for the other. 
 
> 
> I have made parameter feedback for Miniak using an embedded processor to handle some issues _ particularly the PGM change issue. I had to keep a master state and decide whether to send 434 bytes for full PGM or just changes. Alas for some controls you have yo send all else symth ignores them ... Bug on AKAI end. I can do this easily with PC but wanted to avoid real computers if at all possible.
> 
> The additional benefit is I could create LCD output of the params.
Sounds like you built a 'real computer' 8)

> One thing regarding full state feedback. I found some manufactures handle this by jumping (no coupling). Some by blending (on alg is only when param value matches knob value will remote control take over ... I guess because they are pots rather than endless encoders). The full feedback can be chatty.

Yes, but you can alter this for the preferred style in the software if you are building one program or piece of hardware for each synth.

You don't get this luxury in a general program.

> > The Roland XVs, Fantoms, SonicCell and the Yamaha Motif XS (didn't check my Motif ES rack) can all change in real ltime via sysex. Filter frequency sweeps on held note work perfectly well.

Further investigation reveals that some of the parameters in the Motif XS, like the LFO don't do a real time change unless you attach a CC modulation in the patch.
So you have to live with the limitations.  

DSPs are getting faster, but each synth model is a snapshot of the technology that was available. 
Perhaps the Motif XF doesn't have this limitation.

Royce

Re: Question for Royce re parameter feedback

2013-07-07 by Royce

Hi Bill

> I set up the beginnings of an AN1x editor on the iPad, and changing filter cutoff whilst holding down a note was bit stuttery using Sysex, but completely smooth using CC.  I decided I would stick with the sysex because of the obvious advantages (eg doesn't matter how many different synths receive the sysex - only the intended one will respond).

Try adjusting the .txinterval in the Global section of the BCR and see if that makes any difference. If it does then you can do the delay in your editor not on the BCR so it doesn't effect the other presets.

> 
> To be honest, a bit of jumpiness whilst editing doesn't bother me. For me the BCR (or any editor) is about modifying the synth's sounds, not as a live performance control.  So even having to repeatedly press a note doesn't worry me.

A different mission. The joys of bespoke software.
> 
> The iPad editor is fun, but I have established with the developer (TB MIDI Stuff) that there is no way for it to receive a parameter dump and sync up to patch changes on the synth.  So your approach has the potential to integrate editor and synth better than anything else available.

You need a Midi In and out for both the synth and the BCR. 
The iPad will take the USB (via Apple Camera Adapter) of the BCR and produce multiple interfaces (at least it does on Kevin Chartier's 'MorphWiz' app)
Not sure if you can do it via WiFi.
 
> Would your approach be able to work with more than one preset page, or would it work best with all parameters on a single page?

I really like the way Reason do it (so that's why I nicked their idea).
It looks like they have the BCR using CC messages with 0-127 range and never change this.
They then assign a block of controls/parameters in Reason to the BCR based on the 'page' and the CC number and adjust the incoming CC value to be in range of the parameter in Reason. 

Pressing a switch on the BCR changes 'pages' and the values of the next block of Reason parameters are first altered to minmax of 0-127 and then sent to the BCR to change the value/LEDs using thoes same CC messages.
It is very quick as there is only about 250 bytes of Midi.

> Is an ini-type approach feasible, or would it have to be hard-coded for each device?

The amount of work trying to think of all the possibilities is much greater than doing one synth at a time. At least for a thick head like me.
This is especially true for such an interesting, but tiny and demanding group of possible users.

The designer of the BCR (Thomas Zint, I think) did a great job, but because he didn't allow for negative numbers (although there is a work around) especially output as 14 bit Midi values (which there isn't a work around) none of the E-mu Proteus, Morpheus etc can be controlled effectively.

Because there is no way to access the value of another encoder or switch you can't control synths (like the DW6000) that packed more than one parameter into a single byte of data. (This is sorted out by using a PC and my program)
 
> I've got to add, there is a fundamental problem with the BCR, which is the limitation of the 3-digit display.

I absolutely agree. That is why I am looking forward to seeing your iPad app. 8)

I did see a uTube vid where someone had stuck encoders (or pots, not sure which) onto a PC screen and programmed the labels and values. 

Great idea and with the low cost of monitors these days I am tempted.

How about a clip-on transparent BCR for the iPad?? 

> For example, on the AN1x, oscillator pulse width can be modulated from 7 sources.  On my iPad editor, I can create a drop-down list to select and show them.  On the BCR, I have to press a switch 7 times or rotate a knob, which shows number 1-7 on the display - and maybe see if I can fit a label with the 7 items on a paper overlay...

You could hit a button on the BCR to drop into 'Mod Source Select' mode with the drop down box or a graphic of a labeled list of 7 buttons appearing. 
Now the function of the other seven buttons in the row changes to select your source.
Once selected (and the list disappears) you drop back to the previous state. Those buttons in the row resume their original function.

All done on the iPad side. 
Just two button hits to select the Mod source.
The joy of 'paging' controls.

All the best
Royce

Re: Question for Royce re parameter feedback

2013-07-07 by sghookings@...

and we come full circle to the benefits of putting a small embedded processor between the MIDI IN/OUT of the BCR ... the -ve NRPN thing.

It frustrates me slightly that the BCR uses an ARM chip that has signed and unsigned integers. For the want of allowing the signed to be considered unsigned we could have both the official NRPN (that Behrninger supports) and the unofficial one that AKAI, E-MU and a plethora of other people support.

Hence the Arduino Mega, and LCD and hours of design/experimentation in the garage ... cannot be bothered to watch the Wimbledon final ... hmmh time to play with this global parameter and my bespoke buffering algorithms.

Regards

Steve H

--- In bc2000@yahoogroups.com, "Royce" <rpcfender@...> wrote:
Show quoted textHide quoted text
>
> Hi Bill
> 
> > I set up the beginnings of an AN1x editor on the iPad, and changing filter cutoff whilst holding down a note was bit stuttery using Sysex, but completely smooth using CC.  I decided I would stick with the sysex because of the obvious advantages (eg doesn't matter how many different synths receive the sysex - only the intended one will respond).
> 
> Try adjusting the .txinterval in the Global section of the BCR and see if that makes any difference. If it does then you can do the delay in your editor not on the BCR so it doesn't effect the other presets.
> 
> > 
> > To be honest, a bit of jumpiness whilst editing doesn't bother me. For me the BCR (or any editor) is about modifying the synth's sounds, not as a live performance control.  So even having to repeatedly press a note doesn't worry me.
> 
> A different mission. The joys of bespoke software.
> > 
> > The iPad editor is fun, but I have established with the developer (TB MIDI Stuff) that there is no way for it to receive a parameter dump and sync up to patch changes on the synth.  So your approach has the potential to integrate editor and synth better than anything else available.
> 
> You need a Midi In and out for both the synth and the BCR. 
> The iPad will take the USB (via Apple Camera Adapter) of the BCR and produce multiple interfaces (at least it does on Kevin Chartier's 'MorphWiz' app)
> Not sure if you can do it via WiFi.
>  
> > Would your approach be able to work with more than one preset page, or would it work best with all parameters on a single page?
> 
> I really like the way Reason do it (so that's why I nicked their idea).
> It looks like they have the BCR using CC messages with 0-127 range and never change this.
> They then assign a block of controls/parameters in Reason to the BCR based on the 'page' and the CC number and adjust the incoming CC value to be in range of the parameter in Reason. 
> 
> Pressing a switch on the BCR changes 'pages' and the values of the next block of Reason parameters are first altered to minmax of 0-127 and then sent to the BCR to change the value/LEDs using thoes same CC messages.
> It is very quick as there is only about 250 bytes of Midi.
> 
> > Is an ini-type approach feasible, or would it have to be hard-coded for each device?
> 
> The amount of work trying to think of all the possibilities is much greater than doing one synth at a time. At least for a thick head like me.
> This is especially true for such an interesting, but tiny and demanding group of possible users.
> 
> The designer of the BCR (Thomas Zint, I think) did a great job, but because he didn't allow for negative numbers (although there is a work around) especially output as 14 bit Midi values (which there isn't a work around) none of the E-mu Proteus, Morpheus etc can be controlled effectively.
> 
> Because there is no way to access the value of another encoder or switch you can't control synths (like the DW6000) that packed more than one parameter into a single byte of data. (This is sorted out by using a PC and my program)
>  
> > I've got to add, there is a fundamental problem with the BCR, which is the limitation of the 3-digit display.
> 
> I absolutely agree. That is why I am looking forward to seeing your iPad app. 8)
> 
> I did see a uTube vid where someone had stuck encoders (or pots, not sure which) onto a PC screen and programmed the labels and values. 
> 
> Great idea and with the low cost of monitors these days I am tempted.
> 
> How about a clip-on transparent BCR for the iPad?? 
> 
> > For example, on the AN1x, oscillator pulse width can be modulated from 7 sources.  On my iPad editor, I can create a drop-down list to select and show them.  On the BCR, I have to press a switch 7 times or rotate a knob, which shows number 1-7 on the display - and maybe see if I can fit a label with the 7 items on a paper overlay...
> 
> You could hit a button on the BCR to drop into 'Mod Source Select' mode with the drop down box or a graphic of a labeled list of 7 buttons appearing. 
> Now the function of the other seven buttons in the row changes to select your source.
> Once selected (and the list disappears) you drop back to the previous state. Those buttons in the row resume their original function.
> 
> All done on the iPad side. 
> Just two button hits to select the Mod source.
> The joy of 'paging' controls.
> 
> All the best
> Royce
>

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.