Author |
Message |
Sinuosity

Joined: Jul 31, 2007 Posts: 20 Location: Russia
G2 patch files: 11
|
|
Back to top
|
|
 |
exeterdown

Joined: Oct 13, 2013 Posts: 49 Location: Melbourne, Australia
G2 patch files: 3
|
|
Back to top
|
|
 |
Tim Kleinert
Joined: Mar 12, 2004 Posts: 1148 Location: Zürich, Switzerland
Audio files: 7
G2 patch files: 236
|
|
Back to top
|
|
 |
exeterdown

Joined: Oct 13, 2013 Posts: 49 Location: Melbourne, Australia
G2 patch files: 3
|
Posted: Wed Dec 04, 2013 1:01 am Post subject:
|
 |
|
Yea, it did work straight away.
Thanks a lot!
Just to clarify though, so I learn and don't just copy and paste this every time I need it...
Tim Kleinert wrote: |
The CC Send module will automatically send a MIDI CC message whenever its 'Value' parameter changes (either by moving the knob or by a changing input signal)
The problem in the NRPN scenario is that the first two CC messages of the NRPN protocol do not change. So, one has to detect a change in the value to be sent and use this to trigger the sending of the entire NRPN string.
|
OK, so my thinking was I could split a patch lead from the ConstantValue output, then any movement it made would trigger the CtrlSend. But you've taken the trigger from the rectifier. Is this because triggers have to be positive?
Tim Kleinert wrote: |
The G2 'constant value' knobs are 7 bit, but they are smoothed -meaning that twisting them will output a continuous smoothed 24 bit control signal.
|
(sorry new to 'bit' language)
So G2 modules have a higher resolution than MIDI?
Inside the G2 have they kind of put a kind of portamento on the stepped 7 bits to make it slide between them and seem like a smoother 24 bits instead?
Tim Kleinert wrote: |
Using this smoothed signal for the aforementioned value change detection will produce too much redundant MIDI data as the 24 bit numeric resolution will be truncated, resulting in many useless CC messages containing the same value clogging up the MIDI stream. So it is advisable to reduce the knob resolution to 7 bit before applying value change detection.
|
What I get from this is if the G2 had clicking knobs I'd have to make about 3.5 knob clicks to move one step on the Korg. Have I got that right? |
|
Back to top
|
|
 |
exeterdown

Joined: Oct 13, 2013 Posts: 49 Location: Melbourne, Australia
G2 patch files: 3
|
Posted: Wed Dec 04, 2013 1:29 am Post subject:
|
 |
|
Also, the values of the G2 dial go from 0-64 but the Korg's value I'm trying to control only has 76 values.
The Nord dial stops working at 37.5, is there anyway I can scale it to make this it's maximum value? |
|
Back to top
|
|
 |
Tim Kleinert
Joined: Mar 12, 2004 Posts: 1148 Location: Zürich, Switzerland
Audio files: 7
G2 patch files: 236
|
Posted: Wed Dec 04, 2013 2:33 am Post subject:
|
 |
|
exeterdown wrote: |
OK, so my thinking was I could split a patch lead from the ConstantValue output, then any movement it made would trigger the CtrlSend. But you've taken the trigger from the rectifier. Is this because triggers have to be positive? |
The CtrlSend module does have the functionality that it will output a MIDI CC message whenever it detects a value change -but this applies only to the 'value' input and knob. Since the two initial NRPN messages do not change, one has to trigger them in a conventional way.
My example detects knob movement by subtracting the current knob value from a value stored in a T/H and then taking the absolute value via rectifier. So whenever the knob is moved, a positive value (the absolute difference) will appear at the rectifier output, which I use as a trigger to initiate the NRPN sequence and also to update the new knob position in the T/H, so the circuit is ready for the next knob movement.
(Remember that anything that goes from negative or zero to positive can act as a logic trigger.)
Quote: | So G2 modules have a higher resolution than MIDI? |
Yes. 24 bit.
Quote: | Inside the G2 have they kind of put a kind of portamento on the stepped 7 bits to make it slide between them and seem like a smoother 24 bits instead? |
Exactly. These days, all synths whose knobs and parameters have to conform to the ancient coarse 7bit MIDI protocol do this (otherwise you'd have zipper artifacts everywhere when turning knobs).
Quote: | Also, the values of the G2 dial go from 0-64 but the Korg's value I'm trying to control only has 76 values.
The Nord dial stops working at 37.5, is there anyway I can scale it to make this it's maximum value? |
I made a mistake assuming that the CtrlSend module wants to see an incoming control value between 0-64. Reading up in the manual reveals that it expects 0-127 (conforming to 7 bit MIDI). So I modified and re-uploaded the patch above. It actually uses a module less this way. Try it and let me know if it works.
If the Korg goes to 37.5 when receiving CC values up to 64, it should go to 76 when receiving CC values up to 127. The G2 knob will still go from 0 to 64, but each 0.5 knob increment will correspond to a MIDI CC increment of 1, ranging from 0 to 127. |
|
Back to top
|
|
 |
exeterdown

Joined: Oct 13, 2013 Posts: 49 Location: Melbourne, Australia
G2 patch files: 3
|
|
Back to top
|
|
 |
exeterdown

Joined: Oct 13, 2013 Posts: 49 Location: Melbourne, Australia
G2 patch files: 3
|
Posted: Wed Dec 04, 2013 4:15 am Post subject:
|
 |
|
I spent some time playing with the patches you've uploaded to try and wrap my head around whats actually happening. I think I get the theory but I can't break down the math.
The particular NRPN I'm editing on the Korg only has 76 values not 128.
So when the G2 Constant Level reaches 19.5 (out of 64) the Korg is 76.
The first patch you uploaded was G2 - 37.5 (out of 64) the Korg is 76.
So with the new version only a quater turn of the knob jumps 0-76
With the old version it was half a knob turn.
I set the second LevelAmplifier to x0.30 and that seemed the best fit.
So now a full knob turn jumps the Korg 0-76
But I still don't really understand why.
I also deleted the TrackAndHold, Mixer and Rectifier and the patch still works just as I expected it to. Was it performing a function I don't understand? |
|
Back to top
|
|
 |
|