-
Notifications
You must be signed in to change notification settings - Fork 40
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
MIDI-CAT - Add CV smoothing #79
Comments
Hi John,
|
Thanks for your quick reply! Ok, so here's some clarification:
My VCO example was just an example, the stepping causes audible artifacts when controlling volume too, or just about anything. As I explained, when for example you control a simple volume fader with this stepped input, you will hear artifacts ("zipper noise") when changing the volume at moderate speeds (I mean manually, not even close to audio rate modulation). With a pure sine wave you can definitely hear this, with other complex signal maybe not always. Virtually all VSTs do some form of interpolation like this when automating parameters via MIDI CC, precisely because MIDI CC only has 127 discrete values, as you pointed out. So in VCV rack we need to build this into the MIDI mapper module, as it was done with MIDI-MAP. You could make this a context menu option, so if some people really want the uninterpolated discrete values, it's there. But I'd say mimicing the MIDI-MAP module is very reasonable, and without interpolation I for example can't use this module for my purposes and I'm sure others will report the same problem in time.
|
Yes, it would be useful (probably even as a default, but only in fast setting) but it also should be possible to disable it (via context menu) for some use cases. @stoermelder This smoothing method works quite well: |
I had slew like MIDI-CC added at some point but it caused major problems with MIDI feedback so I dropped it. I thought a lot about it since then and I don't think it can be done with reliable MIDI feedback. Does any of you have a suggestion how smoothing can be added without breaking MIDI feedback? |
Maybe if you would describe the feedback problem in detail some of us could help? I'm not sure yet what the problem is. |
Also, this means the official MIDI module is also prone to feedback problems? If not, how so? |
The problem is that smoothing will cause a „MIDI feedback loop“, not sure how to call it. When a new value is received by MIDI and smoothing is applied, the actual knob position will have some different value which will be sent back to the controller. In most cases the controller will jump its position to the smoothed value but you’re might still be moving the control. This will sent another MIDI message which will be also smoothed. As result the controller jumps around like crazy and will break definitively any pick-up behavior.
There is no official MIDI module which provides MIDI feedback. |
Ah, I think I see what you mean. What about disabling sending back values when smoothing is applied? That would solve the problem for now for sure. I think many people could live with that compromise (I for one don't care about sending values back, so it's a non issue for me). Then maybe in the future you can devise a method to get rid of the "feedback" when sending back values. |
Ok, it has been a long time but I finally added filtering/slew-limiting to MIDI-CAT. I had the solution for my feedback-issues quite some time and I finally spent an evening implementing it. |
@stoermelder Great news! |
First of all, this is a great module, so thanks for taking the time to write it!
However, it's not really usable for me because it's a step back from MIDI-MAP in one important regard and also the soft takeover is a bit buggy. So here's the problems I found so far:
Assign the freq of VCO-1 to a MIDI fader. Start wiggling the MIDI knob at various speeds. Notice that the CV is stepped, the frequency jumps, even when wiggling the MIDI knob at fast speeds. A little jumpiness is also noticeable with MIDI-MAP at very slow speeds, but as you increase the speed of movement, the generated CV is completely smooth. You can also try this with a VCA; MIDI-CAT will generate zipper noises when wiggling the knob, while MIDI-MAP is completely smooth and artifact free (this is more noticeable with high-pitched sounds through the VCA).
The soft takeover jumps a bit, making is not really useable with certain parameters like osc frequencies. Again, test is with controlling VCO-1 freq. It's of course not very noticeable with filters, although with controller resonance you can get into problems with the jumpiness.
That's all for today, if you fix these two issues it will be a really great module! I especially like it that you can still control the mapped UI control with the mouse--this is not possible with MIDI-MAP.
The text was updated successfully, but these errors were encountered: