Bug? Filter Doesn't Track Keyboard With Envelope

Bug? Filter Doesn't Track Keyboard With Envelope
« on: November 08, 2020, 03:24:25 PM »
Hey,

So I wanted to make a patch that has the filter at full keyboard tracking, and also uses the filter envelope.  But it stops tracking in-tune when the envelope is applied.  I tried it with the filter envelope and an aux envelope and they both had the same issue.  Am I doing something wrong, or is this a bug?

To be clear, I'm modulating the cutoff of the filter at a rate of 127, and that tracks perfectly; I can play the self oscillating resonance like any other oscillator.  But then when I add some filter envelope amount, it goes all out of tune, like maybe I'll set the envelope amount so that a C2 is in tune, but then a C3 is 30 cents flat and a C4 is more like a B4, and a C5 is like an A5.  Envelope sustain is at max and attack is at 0.

I'm using OS v1.1.0

Anyone else run into this?

Re: Bug? Filter Doesn't Track Keyboard With Envelope
« Reply #1 on: November 08, 2020, 03:30:09 PM »
This sounds like expected behavior. What do you expect to happen if both the key board and an envelope are modulating the filter?

Re: Bug? Filter Doesn't Track Keyboard With Envelope
« Reply #2 on: November 08, 2020, 04:40:21 PM »
Well I would expect the same thing as what happens with any other synth.  Adding envelope sustain should be a constant shift in pitch, not one that varies depending on what note you hit.  Whether you're playing a C0 or a C5, the envelope should still modulate the filter the same amount, shouldn't it?

Edit: Just checked it again, and this is only happening with the ladder filter, and it's actually happening without even adding in the envelope.  The 4 pole OTA tracks correctly.  I also tried calibrating the oscillators and filters again and it didn't fix it.  Maybe the issue is with the self-calibration algorithm.
« Last Edit: November 08, 2020, 04:55:44 PM by idspispopd »

Re: Bug? Filter Doesn't Track Keyboard With Envelope
« Reply #3 on: November 08, 2020, 09:57:20 PM »
Well I would expect the same thing as what happens with any other synth.  Adding envelope sustain should be a constant shift in pitch, not one that varies depending on what note you hit.  Whether you're playing a C0 or a C5, the envelope should still modulate the filter the same amount, shouldn't it?

Edit: Just checked it again, and this is only happening with the ladder filter, and it's actually happening without even adding in the envelope.  The 4 pole OTA tracks correctly.  I also tried calibrating the oscillators and filters again and it didn't fix it.  Maybe the issue is with the self-calibration algorithm.
Ah I didn’t see you are only applying sustain. I just tried it and got decent results for several octaves but things get wonky at the ends.

A while back I checked tracking on the ladder and it was good for several octaves but even without EG modulation gets wonky. It tracks but not as well as the OTA. You can plug into a tuner to see if you get the same results without the EG modulation. Or also apply DC instead of the EG to the cutoff. It should have the same net effect and may deliver better results.

Re: Bug? Filter Doesn't Track Keyboard With Envelope
« Reply #4 on: November 09, 2020, 02:20:47 PM »
Best settings I've found for Filter Key Tracking:

0. Calibrate Oscillators / Filters
Turn off all osc levels

1. Use 4-Pole OTA Filter

2. Cutoff: 606
606 seems to works best for standard octave range
Nominal Values:
+/- 96 = 1 Octave up/down
510, 606, 702, 798

3. Resonance: 221
You get self oscillation in this range.... if you max out the resonance beyond this amount, the tracking is not as good.  221 seems to be sweet spot, at least on my unit. 

4. KEY > LPF FREQ: +127

5. Mod Matrix: Note Num > Cutoff, Amount 1
This effectively turns KEY > LPF FREQ amount to +128.   Note:  This may not be required on some peoples units... so ignore it if steps 1-4 give you better tracking.  Performance varies slightly between units... but for mine, I've found I get the best tracking results by adding this extra +1 to Key > LPF.   

OB-X8, Pro 3, P6, Rev2, Take 5, 3rd Wave, Deepmind, PolyBrute, Sub 37
Sound Sets:
https://sounddesign.sellfy.store/
Free Patches:
https://www.PresetPatch.com/user/CreativeSpiral

Re: Bug? Filter Doesn't Track Keyboard With Envelope
« Reply #5 on: November 12, 2020, 09:21:42 AM »
Best settings I've found for Filter Key Tracking:

0. Calibrate Oscillators / Filters
Turn off all osc levels

1. Use 4-Pole OTA Filter

2. Cutoff: 606
606 seems to works best for standard octave range
Nominal Values:
+/- 96 = 1 Octave up/down
510, 606, 702, 798

3. Resonance: 221
You get self oscillation in this range.... if you max out the resonance beyond this amount, the tracking is not as good.  221 seems to be sweet spot, at least on my unit. 

4. KEY > LPF FREQ: +127

5. Mod Matrix: Note Num > Cutoff, Amount 1
This effectively turns KEY > LPF FREQ amount to +128.   Note:  This may not be required on some peoples units... so ignore it if steps 1-4 give you better tracking.  Performance varies slightly between units... but for mine, I've found I get the best tracking results by adding this extra +1 to Key > LPF.   

Thank you!  It sounds like it is indeed a bug, since the hardware is certainly able to track correctly and we have to do a workaround to get something close to full keyboard tracking with the ladder filter.  127 should mean full keyboard tracking regardless of the filter.  I guess I'll contact support and let them know.

Re: Bug? Filter Doesn't Track Keyboard With Envelope
« Reply #6 on: November 17, 2020, 06:27:44 AM »
So I talked to support and they helped me figure out what was going on. 

There are two ways of modulating the filter cutoff with keyboard tracking. 

1. There is a hardwired connection, which you can access from the filter menu that pops up when you turn the cutoff knob.  The tab is called "Filter Misc."  If you set KEY > LPF FREQ there to 127 it scales more or less perfectly regardless of the filter, etc.

2. You can use the mod matrix to create your own connection.  Like the hardwired connection it still sends CV to the analog components, but the voltages are determined digitally, and therefore slightly different from the pure analog path.  If you set NOTE NUM there to modulate CUTOFF at a rate of 127 it scales wonkily, and differently depending on the filter you choose.

Even though we have two ways of doing what appears to be the same thing here and I expected them to yield the same result, it's not the same modulation.  For example, classic full keyboard tracking is centered at middle C, i.e. a middle C yields the same filter cutoff regardless of whether KEY > LPF FREQ is on or not.  The mod matrix modulation version of that is centered at 0v, which means it's centered around C0, not middle C.  Where it gets confusing is that the max voltage that the mod matrix sends isn't exactly the same as the max voltage between the hardwired KEY > LPF FREQ connection, so it doesn't quite turn out how you'd expect by maxing out the mod matrix rate regardless of the key center.  But since there is a way of getting the result I was looking for, I have no problem with this.  Although it is confusing and I'm sure I won't be the only one to try the mod matrix version and think the filters don't track correctly, Sequential has no intention of changing this behavior at this point in time.  I guess the mod matrix is really meant more for gettin' crazy  8)

Re: Bug? Filter Doesn't Track Keyboard With Envelope
« Reply #7 on: November 18, 2020, 07:48:43 PM »
Interesting... I assumed that Note Number modulation scaled from the same note as the Filter Tracking.  I did a bit more testing to figure out the math / methodology as well as I could. 

I see that Note Number is scaled from the note G0, whereas Filter Tracking is scaled from C3.


Appears that a modulation of:
Note Number > Cutoff, with value 122 gives you very close to 1 semitone per key (ie: 1:1 filter tracking)   If you set Cutoff to 268, that will set the keys in tune (depending on calibration).    Over a four octave range I'm getting within +/- 3 cents nominal frequency.  That's actually very good accuracy for analog filter tracking over a four octave range.

In comparison with just using Filter Tracking at full value (127), I'm getting +/- 23 cents from over that same octave range / frequency range.

So, for most accurate performance, the former method actually seems to be the best... skip Filter Tracking altogether and instead opt for a mod slot with NoteNum>Cutoff at 122.   Note:   In most sound design scenarios this is not needed... but if you really need super accurate semitone-per-key tracking, this seems to provide best results.   (at least on my board... results may vary slightly board to board)

Alternatively the other method I outlined of Filter Tracking Full (+127), with an additional +1 via mod matrix gets similar results to the pure mod matrix route.  Though, I'll just be using the +122 mod matrix trick from now on for that. 



OB-X8, Pro 3, P6, Rev2, Take 5, 3rd Wave, Deepmind, PolyBrute, Sub 37
Sound Sets:
https://sounddesign.sellfy.store/
Free Patches:
https://www.PresetPatch.com/user/CreativeSpiral