Best sounding SAW oscillator for high frequencies

Hello there, I would like to have your point of view on what is the best sounding (less aliasing, clearest) Sawtooth oscillator when playing above 3khz. I tried Saw, SawDPW, DPW4Saw, BlitB3Saw, but it doesn’t appear that one of them is really better. ( at least for my ears).
So far, the most convincing digital saw oscillator that I use, is the antialiasing oscillator from Kyma. But it’s a wavetable oscillator and it has a kind of aesthetic (even if it’s supposed to be a pure waveform) that I find special and I prefer the one on SC.
I don’t know if you have tricks, ideas, or references to get a crystal clear saw wave on SC that could be really nice at 3,4,8,10 khz etc…? I was wondering about FM synthesis (by the way if someone could give the line code to produce a pure sawtooth waveform using PMOsc, or or a classic conbination of two SinOsc (carrier and modulator), it would be really nice) I know the theory (the 1:1 ratio) but I didn’t manage to get the expected result). Maybe additive synthesis could produce interesting results too?
Thanks a lot.

1 Like

Hello and welcome to the forum!

I did some tests and didn’t see any aliasing with Saw.
E.g. run

{, 0.1) }.play



and switch to the linear FrqScl on the right hand side of the gui.
Looks as it should.

So my assumption is that you might prefer a wavefrom that somehow differs from a sawtooth approximation without aliasing.

FWIW you can check an approximation with additive synthesis, it takes a maximum number of partials and sets all to zero that would be above half nyquist.

SynthDef(\additiveSaw, { |out, gate = 1, freq = 1000, amp = 0.1|	
	var partialNum = ( / 2 / freq).floor;
	var sig, maxPartialNum = 200; // max number of partials
	var indicatorSig = { |i| i <= (partialNum - 1) } ! maxPartialNum;

	sig = Mix( * freq * indicatorSig, 0, amp ** 2.sqrt) / (1..maxPartialNum));, sig *, gate, doneAction: 2))

x = Synth(\additiveSaw, [freq: 3500])


Personally I don’t hear a difference to

{, 0.1) }.play