I was messing around with the new Grayscale Nexus, and ran into some behavior that I don’t expect.
I configured both keyframer (Frames) and Nexus the same with 3 key frames each:
0% = 0V
50% = 10V
100% = 0V
For interpolation I configure Nexus to use Sine, and keyframer to use Departure/arrival. I expect both of them to yield a nice clean sine wave when modulating the timeline/frame with a clean saw wave without any anti-aliasing. Keyframer gives the expected result, but Nexus, not so much.
It only takes 5V to go from 0% to 100% on the timeline. I expected it to take 10V. The manual is a bit confusing, but I suspect this is the designed behavior. It just seems like an odd choice.
The spike when the saw input transitions from high to low is totally unexpected. At first I thought it might be due to interpolation introduced with oversampling. But then I realized that both the high and low points are mapped to 0V, so I don’t see how interpolation can create a spike in-between. This seems like a bug or design flaw to me.
If I change the timeline modulation to use a triangle instead of saw, then indeed Nexus gives a clean sine result (at twice the frequency). But it seems to me the saw should also work well, as it does with keyframer.
I plan on submitting this issue to support, but thought I would post here first. Anyone have any ideas or explanations?
Eurorack and VCV Rack are different. One of the differences is in the “voltage standards”. Rack has them and they are good and sane, eurorack doesn’t really, sorta… but not. Where Rack uses 0-10v for modulation eurorack modules often use 0-5v or 0-8v … or something else. So when you port a eurorack firmware to Rack you can go two ways: A) Make it fit Rack’s standards, or B) Just keep it at whatever it is in the eurorack module. I suspect Andrew or whoever ported Nexus chose B, and I think the correct is always A. But B is less work and you also see these kind of odd values in other ported modules, like e.g. Stages (Segment Generator) which uses 8v not 10.
It does. Maybe some missing input filtering or such. Have you tried some different saw LFO’s from other modules? Or tried to put a slew limiter between the saw and the input?
Yeah, that is the conclusion I have ended up with as well.
Yes, it doesn’t matter the source. Any LFO (or VCO) signal that jumps between min and max value generates a spike when used as the timeline CV. And I think I now know why.
I was on the right track with oversampling, but my prior analysis was faulty. I was trying to apply interpolation after mapping, which was bogus. The up sampling interpolation is done on the raw CV input. So if there is 2x oversampling, then the interpolated point between -5 and 5 ought to be around 0, and in my case that corresponds to 50% on the timeline, which maps to 10V. So of course there would be a spike generated in the oversampled computation, which still manifests after applying the low pass filter and down sampling.
As further proof, I can generate the same result on the Audible Instruments keyframer if I apply oversampling to the saw wave LFO. My Venom Shaped VCA has an oversampling option that was added to better support ring modulation. If I first run the saw wave CV through Shaped VCA with oversampling enabled, then keyframer generates the same spike.
I think Nexus should have an option to disable oversampling. I will put in a request to support.