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

3 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:

hey, unfortunately its seems not to work in windows 10.

The original post noted that the binary provided is for macOS and has not been compiled for other platforms (“since it is written in Faust, I don’t know about cross-platform compatibility, I am in macOS 10.13.6”). So at this stage it isn’t expected to work in Windows, until someone compiles it for that platform.

hjh

thanks, i thought it was not quite sure :slight_smile: