Glitch Saw Oscillator - Faust

Hi,
I wrote for myself a glitchy oscillator in Faust based on a comparator refreshing the frequency of a saw oscillator within a feedback loop. I was wondering if people are interested in this kind of contribution what will be the way to move forward: write the help file of course, but also how to properly share it: quark?, plugin? since it is written in Faust, I don’t know about cross-platform compatibility, I am in macOS 10.13.6.
Ugen is here (just drop the two files in your Extensions)
Glitch Saw Oscillator
you can try it with:

(
Ndef(\x,
	{arg freq1=100, freq2=107, freq3=170, hyst=20, lowLim=0.15, upLim=0.3, amp=0.8;
	var sig;
		sig = GlitchSawOsc.ar(freq1, freq2, freq3, hyst, lowLim, upLim);
		sig*amp ! 2
}).play;
);
Ndef(\x).gui;
Ndef(\x).clear;
(
Spec.add(\freq1, \freq.asSpec);
Spec.add(\freq2, \freq.asSpec);
Spec.add(\freq3, \freq.asSpec);
Spec.add(\upLim, \amp.asSpec);
Spec.add(\lowLim,\amp.asSpec);
Spec.add(\hyst,ControlSpec(1,1000,'lin',0,10));
)

The hyst parameter is just delay time in the feedback loop, upLim and lowLim are the comparator settings and the frequency3 triggers a latch on the result. In some settings it can behave as a nice triangle wave in others as a herethical glitchy saw.
I have a couple of others so, interested in your feedback and tips.
Thanks,
Alejandro Olarte

2 Likes

Yehaa thanks for another very inspiring sound generator. You could probably share it in the sc3-plugins like JPVerb has done for example, it also seems to be a Faust plugin https://github.com/supercollider/sc3-plugins/tree/master/source/DEINDUGens

Thank you for the thumbs up Mads, I like to make more crossplatform tests before moving to the sc3-plugins. Meanwhile I still cooking more glitches :wink: