Page 1 of 1

Strange Aliasing Effect in all VM2500 Oscillator

Posted: Sun Sep 17, 2023 11:00 pm
by utdgrant
When I select the 250Hz Coarse range (and above) on the VM2500 oscillator modules, they have a lovely, clear sound. However, I've discovered that if you switch to the 125Hz Coarse range (and below) some kind of aliasing / artifacts creep into the output. This happens with all the 1004 variants and the 1023 Dual Oscillator module.

I've created a short YouTube video to illustrate the effect.

Re: Strange Aliasing Effect in all VM2500 Oscillator

Posted: Mon Sep 18, 2023 8:22 am
by utdgrant
I think I have come up with a possible explanation for this behaviour, together with a simple workaround.

The Science Bit:

There are two types of oscillator class built in to the Cherry Audio Java SDK, the AnalogOscillator and the DigitalOscillator:
AnalogOscillatorClass.PNG
AnalogOscillatorClass.PNG (16.15 KiB) Viewed 11664 times
DigitalOscillatorClass.PNG
DigitalOscillatorClass.PNG (15.46 KiB) Viewed 11664 times
The AnalogOscillator is the go-to model for audio-rate oscillators, as it has built-in features such as alias-free operation and drift modelling.

The DigitalOscillator on the other hand, is better suited to LFO duties, as its output waveforms are mathematically precise, with instantaneous transitions from -5V to +5V. This is perfect for sub-audio modulation, logic and control purposes. However, it will lead to the generation of audio components above the Nyquist frequency when operated at higher audio frequencies. These audio frequencies then get reflected back down into the audio spectrum and almost always end up being at a non-harmonically-related frequencies to the oscillator's pitch. When the amplitude of these reflected frequencies is high enough, you get audible 'classic aliasing' sounds.

Now, when you use different modules for different purposes, it makes sense to implement them using the AnalogOscillator class for audio-frequency oscillators, and the DigitalOscillator class for low-frequency (modulation) oscillators.

However, many vintage (hardware) oscillator modules are multi-purpose, designed to be used throughout the entire frequency range as both audio signals (audio VCO) and control voltage signals (LFO). Minimoog's Oscillator 3 is a perfect example of this design philosophy, where it can be used for both vibrato and audio-rate FM. So, when it comes to replicating the functionality of a vintage Moog or ARP modular, it makes sense to have an oscillator behave as a DC-coupled LFO which also has the ability to operate into the highest reaches of the audio range.

My hunch is that when you switch the VM2500 oscillators to the 125Hz range and below, then the DigitalOscillator class kicks in. When you switch to the 250Hz range and above, it then switches over to the AnalogOscillator class. Only Mark Barton himself can confirm this.

If that is the case, then I'm happy to live with it. In order to get alias-free oscillators which operate one or two octaves down, just add a DC offset of -1V or -2V to the V/Oct input and leave it on the 250Hz Coarse range setting.

Re: Strange Aliasing Effect in all VM2500 Oscillator

Posted: Mon Sep 18, 2023 8:32 am
by utdgrant
utdgrant wrote: Mon Sep 18, 2023 8:22 am However, many vintage (hardware) oscillator modules are multi-purpose, designed to be used throughout the entire frequency range as both audio signals (audio VCO) and control voltage signals (LFO). Minimoog's Oscillator 3 is a perfect example of this design philosophy, where it can be used for both vibrato and audio-rate FM. So, when it comes to replicating the functionality of a vintage Moog or ARP modular, it makes sense to have an oscillator behave as a DC-coupled LFO which also has the ability to operate into the highest reaches of the audio range.
A notable exception to this rule is Buchla modulars, where audio signals and CV signals are treated as different entities. MRB had some words to say on this topic.

Re: Strange Aliasing Effect in all VM2500 Oscillator

Posted: Mon Sep 18, 2023 8:52 pm
by utdgrant
I built my own module which allows you to select between AnalogOscillator and DigitalOscillator classes from a front panel switch.
AnalogDigitalVCO.png
AnalogDigitalVCO.png (68.38 KiB) Viewed 11639 times
I then created a YouTube video which lets you hear it / see it running in parallel with the VM2500 1004-P oscillator.

Re: Strange Aliasing Effect in all VM2500 Oscillator

Posted: Fri Sep 22, 2023 8:42 am
by MRBarton
Hi all,

No need for a workaround. I will be submitting changes for all the 2500 VCOs to HQ in a day or so to fix all of this. Not a wit of aliasing will be heard. Thanks so much for finding this behavior and pointing it out. I'm surprised no one has mentioned it up to now. Good ear! On it.

--mb

Re: Strange Aliasing Effect in all VM2500 Oscillator

Posted: Fri Sep 29, 2023 2:33 am
by MRBarton
All four VM2500 oscillator modules have been updated with my new oscillator design and should work great from DC to light no matter what range is dialed up. If anybody wants to put them through their paces and get back to me, that'd be great. Once again thanks for pointing out the problem.

--mb

Re: Strange Aliasing Effect in all VM2500 Oscillator

Posted: Fri Sep 29, 2023 2:08 pm
by utdgrant
MRBarton wrote: Fri Sep 29, 2023 2:33 am All four VM2500 oscillator modules have been updated with my new oscillator design and should work great from DC to light no matter what range is dialed up. If anybody wants to put them through their paces and get back to me, that'd be great. Once again thanks for pointing out the problem.

--mb
Epic fix! The transition from non-aliasing audio-rate VCO to 'mathematically perfect' LFO is absolutely seamless! It's even more impressive on the 1023 Dual Oscillator when you take the pulse width beyond 0% or 100% into the realms of 'squeezed silence'!

Re: Strange Aliasing Effect in all VM2500 Oscillator

Posted: Mon Oct 02, 2023 6:51 pm
by MRBarton
This is more than a fix. It's a complete replacement of the oscillator model to my latest and greatest.

Re: Strange Aliasing Effect in all VM2500 Oscillator

Posted: Tue Oct 03, 2023 7:12 pm
by huggermugger
MRBarton wrote: Mon Oct 02, 2023 6:51 pm This is more than a fix. It's a complete replacement of the oscillator model to my latest and greatest.
Already one of my favourite VM synths. I'm looking forward to hearing the revision. I was the lucky owner of a 2500 many years ago, and always loved the sound and the interface. You've done a bang-up job of replicating it!