At the center of the sound of a synthesizer, you always find one or more oscillators.
An oscillator is a module that produces a series of values which are regularly cycling, the cycle being the pitch of the sound.
With a computer, it seems quite easy to create a digital algorithm to produce such cycling values. A simple table, continuously read at a rate corresponding to a desired pitch, will produce a sound. Depending on the values in that table, you can easily have various waveforms, from sine wave to sawtooth or even more complicated ones.
There are two problems with a lookup table: The first one is the well known aliasing, which was addressed many years ago thanks to various digital processing algorithms and techniques. The second problem, less obvious, more discrete, nevertheless very important, is the fact that the values remain unchanged. The sound is always the same as if it were a captive of the table, hence a static sound, without any life or vibe.
In real analog synthesizers, the oscillation is based on a threshold and a capacitor. The capacitor is recharging through a resistor (the speed this capacitor is recharged gives the pitch of the oscillator) and when the voltage of the capacitor goes below the threshold, it is recharged again.
This means that between each moment that the capacitor is refilled, the way the capacitor is discharging can change slightly due to various little things, creating an almost imperceptible change in the waveform, giving life and vibe to the sound.
All of our synthesizers’ oscillators reproduce this behavior giving liveliness and liberty to their sound. The threshold is oversampled 1024 times for a very accurate rendering, but thanks to our algorithms, they avoid putting too much pressure on the CPU.
Furthermore, we are emulating the way the capacitor is refilled or discharged, to reproduce the original waveform as much as possible. You can see this in the comparison between the AKS VCS3 sawtooth and the XILS 3 sawtooth. This is clearly not a “mathematical” sawtooth, which would sound harsh, piercing and nevertheless boring.
AKS VCS 3
A simple way to test an oscillator is to play some chords with a non-filtered, non-altered sawtooth (or square). With any real analog synthesizer, you can play for hours, just listening to the chords and the harmonics.
With mathematical oscillators, such as table based oscillators or not so good virtual synthesizers, you quickly become tired and bored, desperately wanting to stop playing to give your ears and brain a rest.
Easy test, obvious result !
An other test is simply to listen our synth with a headset. Unless many other digital synthesizers and in the same way a real analog does, the sound would be heard in front and "outside" your head, not between your two ears. Simple test isn't it ?
In a mix, some would say that whatever the oscillator, you wouldn’t hear the difference. But that’s not the case. This characteristic is extremely important, especially in the global mix.
In the case of a static table based oscillator, the spectrum is also static. This means that these spectral components would hide any other components with less level. For instance, adding a bass line with such an oscillator would be quite difficult, whatever the EQ or effects applied. Either the bass line would mask the other parts, or it would be too low with not enough presence.
On the contrary, with real analogue oscillators or with Xils-lab oscillators, their liberty and freedom make the spectral component change slightly. It’s done very quickly (at sample rate) and is always unnoticeable, hence these spectral components are always changing so they never totally mask other sounds.
The best way to understand this is to think about looking though a hair comb. If you are moving the comb rapidly and slightly, then you can see everything behind it, even if a little blurred. Without moving it, parts are always hidden.
So, adding a bass line with these oscillators becomes easy and straightforward. No need to add effects or equalization, just put it in, adjust the balance et voilà! It’s there, it sounds great and no time has been wasted.
When we designed our filters we followed two main rules. The first one was to keep the freedom of our oscillators. Wouldn’t that be obvious ? Not really because there are some algorithms which make a lot of transformations to the sample flow, breaking the original coherence.
Real analog filters never break this coherence. All they do is calculate the output with hardware multipliers, mixers or integrators.
Our filter algorithms, though keeping the so-called “zero-delay” behavior for reducing to almost zero the digital artifacts, are doing the same. A lot of calculating of course, but always with simple operations, for reproducing the analog filters as much as possible.
Hence, the internal sample coherences are never broken, the freedom of our oscillators is always preserved.
That’s why our synthesizers sound so genuine, authentic, full of life, brightness without being harsh, warm without being dull, never boring, never making you tired or uneasy.
To these two main components, oscillators and filters, you can add plenty of modulators or effects. This will change the sound, but will always make you smile when playing a chord or a melody.
“With bad vegetables, you’d need to add a lot of spices, salt, sugar and still end up with something tasteless.
With good vegetables, you can’t have a bad potage: any way you cook, it will taste good. ”