Rename interpretor to interpreter.
[Faustine.git] / interpreter / preprocessor / faust-0.9.47mr3 / tools / faust2pd / examples / synth / fuzz.dsp
diff --git a/interpreter/preprocessor/faust-0.9.47mr3/tools/faust2pd/examples/synth/fuzz.dsp b/interpreter/preprocessor/faust-0.9.47mr3/tools/faust2pd/examples/synth/fuzz.dsp
new file mode 100644 (file)
index 0000000..025a5d2
--- /dev/null
@@ -0,0 +1,20 @@
+
+/* A simple waveshaping effect. */
+
+declare name "fuzz -- a simple distortion effect";
+declare author "Bram de Jong (from musicdsp.org)";
+declare version "1.0";
+
+import("music.lib");
+
+dist   = hslider("distortion", 12, 0, 100, 0.1);       // distortion parameter
+gain   = hslider("gain", 3, -96, 96, 0.1);             // output gain (dB)
+
+// the waveshaping function
+f(a,x) = x*(abs(x) + a)/(x*x + (a-1)*abs(x) + 1);
+
+// gain correction factor to compensate for distortion
+g(a)   = 1/sqrt(a+1);
+
+process        = vgroup("dist", (out, out))
+with { out(x) = db2linear(gain)*g(dist)*f(db2linear(dist),x); };