Generating unique saw wave

Phase modulation with feedback can produce exquisite sawtooth, some alternatives here:

Here, the first two harmonics (or operators) feedback in the phase parameter:

(
SynthDef(\PM, {
	arg  freq=110;
	var sig, index=1.5;
	sig = SinOsc.ar(freq: freq, phase: index*LocalIn.ar(numChannels: 1, default: 1)) + (SinOsc.ar(freq: freq * 2, phase: index*LocalIn.ar(numChannels: 1, default: 1)).softclip);
	LocalOut.ar(sig);
	Out.ar(0, sig*0.1);
}).play
)

Going wild in the modulation can lead to some interesting aliasing effects:

(
SynthDef(\PM, {
	arg  freq=110;
	var sig, index=SinOsc.ar(1/10,3pi/2).range(1.0,1.8);
	sig = SinOsc.ar(freq: freq, phase: index*LocalIn.ar(numChannels: 1, default: 1)) + (SinOsc.ar(freq: freq * 0.001, phase: index*LocalIn.ar(numChannels: 1, default: 1)).softclip);
	LocalOut.ar(sig);
	Out.ar(0, sig*0.1);
}).play;
)
1 Like