Message
Re: Question for Royce re parameter feedback
2013-07-07 by 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.
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
Attachments
- No local attachments were found for this message.