one CC for coarse and fine tune
one CC for coarse and fine tune
I'm working on a template for a softsynth. This softsynth has two knobs with the same MIDI CC. One for coarse tune, one for fine tune. When I use a Knob object and assign it to that CC, the result is that the coarse tune knob jumps at CC values 12, 38, 63, 88, 114, and the fine tune knob rotates 5 times (+/- 12 CC values).
How to make the template (with two Knob objects) reflect the softsynth GUI bi-directionally? Should I use a Fader object and its zoom attribute in-between?
I might find the solution eventually, but if someone already knows it, it would be great to share it.
EDIT: I just realised that ordinary MIDI commands (7 bit) is not precise enough for tuning the VCO's (which is probably true as well for VCF cutoff). With a VST host called Pedalboard 2 it is possible to control VSTi parameters with great precision using OSC. But the challenge remains the same.
EDIT2: I completely forgot that Pedalboard 2 has no parameter feedback. So back to MIDI and NRPN for greater resolution.
I think the zoom attribute is not an option. Maybe I must use 5 different Knob objects for the fine tune control and reveal/hide them.
How to make the template (with two Knob objects) reflect the softsynth GUI bi-directionally? Should I use a Fader object and its zoom attribute in-between?
I might find the solution eventually, but if someone already knows it, it would be great to share it.
EDIT: I just realised that ordinary MIDI commands (7 bit) is not precise enough for tuning the VCO's (which is probably true as well for VCF cutoff). With a VST host called Pedalboard 2 it is possible to control VSTi parameters with great precision using OSC. But the challenge remains the same.
EDIT2: I completely forgot that Pedalboard 2 has no parameter feedback. So back to MIDI and NRPN for greater resolution.
I think the zoom attribute is not an option. Maybe I must use 5 different Knob objects for the fine tune control and reveal/hide them.
Formant+Eurorack, PPG wave 2.2, Korg MS-20, etc., EWI 4000s, QuNeo, etc., Mixbus32c, u-he, MadronaLabs, Samplemodeling, NI, etc., iPad2/4/Pro
Re: one CC for coarse and fine tune
It may be that the settings aren't 0-127 for control. Synth 1 is like this and it confused me for a dozen minutes until I figured that for SOME of the settings (not all, that was an added part of the confusion) messages weren't continuous but were actually discrete. For example, when selecting waveforms, say there were six, the selection points weren't spread out evenly over 0-127, but rather were 0,1,2,3,4,5, and then the wave selection cycle started all over. It is possible that this soft synth was set up in such a way.
Re: one CC for coarse and fine tune
Phil,
If you're sure that the 2 knobs need the same conoller number, then it's likely the coarse knob sends only an MSB value, 0-127, and the fine knob sends a 14 bit pair. The fine knob probably just gets its MSB value from the position of the coarse knob, then tacks on the LSB to the MSB to provide fine control.
I thought I saw that someone had written a script here for sending 14 bit messages from Lemur, but I could be wrong.
Note that this isn't nrpn, which is a very different thing. The fine knob wouldn't be the same controller number if it was nrpn. It would be an increment/decrement controller.
If you're sure that the 2 knobs need the same conoller number, then it's likely the coarse knob sends only an MSB value, 0-127, and the fine knob sends a 14 bit pair. The fine knob probably just gets its MSB value from the position of the coarse knob, then tacks on the LSB to the MSB to provide fine control.
I thought I saw that someone had written a script here for sending 14 bit messages from Lemur, but I could be wrong.
Note that this isn't nrpn, which is a very different thing. The fine knob wouldn't be the same controller number if it was nrpn. It would be an increment/decrement controller.
Re: one CC for coarse and fine tune
thank you guys. The plugin is u-he Diva, and the MIDI parameter is called 'Tune2'. A fully working demo version for Mac and PC is available at http://www.u-he.com/cms/diva.
I believe that both knobs are controlled with one parameter. Using Pedalboard 2 and OSC commands, their behavior is exactly the same as with MIDI commands. One Knob object lets the fine tune knob rotate five times in the plugin GUI, and the coarse knob steps through five positions. I did the same using Reaper and OSC commands. Because I work with Cubase, I try the NRPN route, but although I've used NRPN with a BCR2000 MIDI controller for years, I never really understood how it works. You say that NRPN is something different, I don't even know how to call it exactly. I thought NRPN uses two MIDI messages at the same time to enable 14-bit resolution. I admit that I'm not on top of the things.
I first need to learn how to output NRPN from Lemur, manually edit the Generic Remote xml for Cubase to make it respond properly, then try to use Lemur's power for an exact replication of the plugin GUI, including feedback. If that's not working I try the OSC route with Reaper, although the Lemur part will be the same.
I know I will get a solution, but it surely will take considerable time. Diva is a top-notch emulation of a polyphonic analogue synthesiser. It is worth the effort, and I won't rest until I have a perfect controller for it. I already use Diva often in the studio, where I'm controlling it with XDisplay (dual monitor display on iPad), but I'd like to have a Lemur template for live use. My template is very promising so far, only this tuning matter is something I unexpectedly stumbled over. If only u-he had used two discreet parameters for these knobs, it would have been so much easier. And I realised that ordinary MIDI messages aren't enough, that's actually a different matter. My question here is how to program Lemur for a bi-directional control of two knobs with one message, be it MIDI, MIDI NRPN, or OSC.
On the other hand, it's a great challenge to master Lemur. Suggestions and help are very welcome of course. This is really a great forum where one gets exact solutions, but I also like to find them on my own. I'm also thinking about using the pitch wheel command for tuning and VCF cutoff, and ordinary MIDI commands for the rest.
I believe that both knobs are controlled with one parameter. Using Pedalboard 2 and OSC commands, their behavior is exactly the same as with MIDI commands. One Knob object lets the fine tune knob rotate five times in the plugin GUI, and the coarse knob steps through five positions. I did the same using Reaper and OSC commands. Because I work with Cubase, I try the NRPN route, but although I've used NRPN with a BCR2000 MIDI controller for years, I never really understood how it works. You say that NRPN is something different, I don't even know how to call it exactly. I thought NRPN uses two MIDI messages at the same time to enable 14-bit resolution. I admit that I'm not on top of the things.
I first need to learn how to output NRPN from Lemur, manually edit the Generic Remote xml for Cubase to make it respond properly, then try to use Lemur's power for an exact replication of the plugin GUI, including feedback. If that's not working I try the OSC route with Reaper, although the Lemur part will be the same.
I know I will get a solution, but it surely will take considerable time. Diva is a top-notch emulation of a polyphonic analogue synthesiser. It is worth the effort, and I won't rest until I have a perfect controller for it. I already use Diva often in the studio, where I'm controlling it with XDisplay (dual monitor display on iPad), but I'd like to have a Lemur template for live use. My template is very promising so far, only this tuning matter is something I unexpectedly stumbled over. If only u-he had used two discreet parameters for these knobs, it would have been so much easier. And I realised that ordinary MIDI messages aren't enough, that's actually a different matter. My question here is how to program Lemur for a bi-directional control of two knobs with one message, be it MIDI, MIDI NRPN, or OSC.
On the other hand, it's a great challenge to master Lemur. Suggestions and help are very welcome of course. This is really a great forum where one gets exact solutions, but I also like to find them on my own. I'm also thinking about using the pitch wheel command for tuning and VCF cutoff, and ordinary MIDI commands for the rest.
Formant+Eurorack, PPG wave 2.2, Korg MS-20, etc., EWI 4000s, QuNeo, etc., Mixbus32c, u-he, MadronaLabs, Samplemodeling, NI, etc., iPad2/4/Pro
Re: one CC for coarse and fine tune
Maybe something like this ??
- Attachments
-
- Coarse-Fine.jzml
- (7.98 KiB) Downloaded 113 times
iMac 2.8G i7 12G 10.6.8/10.7.2, Legacy Dexter/Lemur, Liine Lemur/iPad2, KMI SoftStep, 12Step & QuNeo , B-Controls, Mackie C4 etc
MaxMSP, Live Suite, Native Instrument stuff, etc Modified Virtual Guitar System etc All Projects/Modules © CC-BY-NC-SA[*][/b]
MaxMSP, Live Suite, Native Instrument stuff, etc Modified Virtual Guitar System etc All Projects/Modules © CC-BY-NC-SA[*][/b]
Re: one CC for coarse and fine tune
thank you Macciza. First a question, to make sure if I understand your example correctly: the output is in the val2 expression only. Is that correct?
I think using two expressions val and val2, and
is a good idea. When I set the coarse tune knob and touch the fine tune knob, the plugin GUI reacts as desired. Now I'm trying to make the coarse tune knob work with a third expression without affecting the fine tune knob. Didn't get it so far. Hmm, it's not complicated, but it isn't too easy either. But before I dive deeper into this (including parameter feedback), I try to get higher resolution (14-bit).
Thanks again!
I think using two expressions val and val2, and
Code: Select all
if (x==...) val2 = val -12/-11/-10/...;
Thanks again!
Formant+Eurorack, PPG wave 2.2, Korg MS-20, etc., EWI 4000s, QuNeo, etc., Mixbus32c, u-he, MadronaLabs, Samplemodeling, NI, etc., iPad2/4/Pro
Re: one CC for coarse and fine tune
I have it now, although it is not very precise. Rounding errors because of the floor() function. But at least I got it working, including parameter feedback. Now I must go for 14-bit precision, then I'm happy!
EDIT: pretty complicated, 14-bit. Appears to be the real difficult part. Can't even manage to send the message.
EDIT: pretty complicated, 14-bit. Appears to be the real difficult part. Can't even manage to send the message.
- Attachments
-
- DivaCC.jzml
- (10.45 KiB) Downloaded 102 times
Formant+Eurorack, PPG wave 2.2, Korg MS-20, etc., EWI 4000s, QuNeo, etc., Mixbus32c, u-he, MadronaLabs, Samplemodeling, NI, etc., iPad2/4/Pro
Re: one CC for coarse and fine tune
Hi Phil!
I've used the MSB/LSB controls recently in another template, so I took some of those ideas and put them together here:
http://liine.net/en/community/user-library/view/299
Tested it in that Diva synth that you were talking about and it seemed like it was taking the full 14-bit message after
setting it to accept 14-bit according to Diva_User_Guide page 30.
It was kind of neat actually I had about 10 controllers all being automated at once very easily.
Hopefully it is something useful!
cheers~
J
I've used the MSB/LSB controls recently in another template, so I took some of those ideas and put them together here:
http://liine.net/en/community/user-library/view/299
Tested it in that Diva synth that you were talking about and it seemed like it was taking the full 14-bit message after
setting it to accept 14-bit according to Diva_User_Guide page 30.
It was kind of neat actually I had about 10 controllers all being automated at once very easily.
Hopefully it is something useful!
cheers~
J
Dashboard gear control templates: User 112 Idx :: LModIt Lite :: SVG image converter for Lemur Canvas
Re: one CC for coarse and fine tune
thank you analog604. Will try that tonight. I've studied your NRPN-test-set before but didn't really understand it. In it, there's also an option to receive feedback, so I'm certain I can finish the Diva template soon.
Also, good to know that Diva understands 14-bit MIDI in other environments. Didn't know that to be honest. I'm using the Generic Remote Device inside Cubase, not MIDI-learn inside Diva. I want to make my template open for every user.
Ouch, and I also see there is a 'octaves' and 'fine' option inside Diva. Man, that's new to me, and unique for softsynths from my experience. Maybe I have to rethink the whole thing.
Usually plugins only receive data, but don't send. That's why I always use the Generic Remote Device.
Also, good to know that Diva understands 14-bit MIDI in other environments. Didn't know that to be honest. I'm using the Generic Remote Device inside Cubase, not MIDI-learn inside Diva. I want to make my template open for every user.
Ouch, and I also see there is a 'octaves' and 'fine' option inside Diva. Man, that's new to me, and unique for softsynths from my experience. Maybe I have to rethink the whole thing.
Usually plugins only receive data, but don't send. That's why I always use the Generic Remote Device.
Formant+Eurorack, PPG wave 2.2, Korg MS-20, etc., EWI 4000s, QuNeo, etc., Mixbus32c, u-he, MadronaLabs, Samplemodeling, NI, etc., iPad2/4/Pro
Re: one CC for coarse and fine tune
to be sure, I checked, and Diva does indeed not output MIDI data. Therefore I have to use my old, trusted method to have feedback. And my efforts for those tuning knobs haven't been in vain.
Now this 14-bit thing is puzzling. When I send a NRPN encoder from the BCR, the Generic Remote Device (let's call this GRD) recognizes this input as NRPN. I just have to adjust the maximum value in the GRD. When I send from the Flexi14 template, the GRD recognizes this input as CC. The following image illustrates the difference:
I tried to set the values manually in the GRD, but as far as I can see with no effect (Diva doesn't respond). So it appears that I actually need 4 messages, not two. I read somewhere (I think in this forum) that the first two are CC 98 and 99 to "establish the active parameter" (NRPN), and that regular CC's don't need them. However, it looks like I need NRPN's, not regular 14-bit CC's. It may be noteworthy to mention that both the BCR2000 and Cubase's GRD may be a bit dated (beginning 2000 or older), but they fit perfectly together. It is very easy to program the BCR (with a 3rd party manager), and with a bit of GRD-xml editing (because of a bug in Cubase), you have bi-directional high resolution control. It's perfect, and it's actually the main reason why I chose Cubase. I want my controller to reflect the current state at all times, after project or preset change, and during automation read.
In the Flexi14 template I changed MAXPARAM in the firstRun-script from 31 to 127, in the hope this would enable NRPN with four messages, but that was probably a bit stupid. I must admit I'm quite confused. But I've learned a bit in this process, that's promising. :)
Besides, which type of 14-bit MIDI do modern synths like Mopho or Shruti respond to? Two or four messages?
Now this 14-bit thing is puzzling. When I send a NRPN encoder from the BCR, the Generic Remote Device (let's call this GRD) recognizes this input as NRPN. I just have to adjust the maximum value in the GRD. When I send from the Flexi14 template, the GRD recognizes this input as CC. The following image illustrates the difference:
I tried to set the values manually in the GRD, but as far as I can see with no effect (Diva doesn't respond). So it appears that I actually need 4 messages, not two. I read somewhere (I think in this forum) that the first two are CC 98 and 99 to "establish the active parameter" (NRPN), and that regular CC's don't need them. However, it looks like I need NRPN's, not regular 14-bit CC's. It may be noteworthy to mention that both the BCR2000 and Cubase's GRD may be a bit dated (beginning 2000 or older), but they fit perfectly together. It is very easy to program the BCR (with a 3rd party manager), and with a bit of GRD-xml editing (because of a bug in Cubase), you have bi-directional high resolution control. It's perfect, and it's actually the main reason why I chose Cubase. I want my controller to reflect the current state at all times, after project or preset change, and during automation read.
In the Flexi14 template I changed MAXPARAM in the firstRun-script from 31 to 127, in the hope this would enable NRPN with four messages, but that was probably a bit stupid. I must admit I'm quite confused. But I've learned a bit in this process, that's promising. :)
Besides, which type of 14-bit MIDI do modern synths like Mopho or Shruti respond to? Two or four messages?
Formant+Eurorack, PPG wave 2.2, Korg MS-20, etc., EWI 4000s, QuNeo, etc., Mixbus32c, u-he, MadronaLabs, Samplemodeling, NI, etc., iPad2/4/Pro