/*
|_ | | | | / \ | \ | | |/ / \ \ / / _ | | | | | | | || | / _ \ | | | ' / \ V / | | | | | | | | | _ |/ ___ | |\ | . \ | || || | || | || || |// __| _||_\ || _/ _/
500,000 DAMN SUBSCRIBERS ON THE SYNTHDEF CHANNEL
/*
|_ | | | | / \ | \ | | |/ / \ \ / / _ | | | | | | | || | / _ \ | | | ' / \ V / | | | | | | | | | _ |/ ___ | |\ | . \ | || || | || | || || |// __| _||_\ || _/ _/
500,000 DAMN SUBSCRIBERS ON THE SYNTHDEF CHANNEL
| // Ivo Ivanov ripoff: https://www.youtube.com/shorts/1uukKdBGsY0 | |
| ( | |
| SynthDef(\kick, { | |
| var snd; | |
| snd = SinOsc.ar(Env.perc(0.001, 0.3, curve: -8).ar.linexp(0, 1, 30, 400)); | |
| snd = snd + (SinOsc.ar(XLine.ar(4000, 100, 0.01)) * Env.perc(0.001, 0.01).ar); | |
| snd = snd + (BPF.ar(Hasher.ar(Sweep.ar), 8000, 0.5) * 3.dbamp * Env.perc(0.01, 0.03).ar); | |
| snd = snd * Env.perc(0.001, 0.2, curve: -1).ar(Done.freeSelf); | |
| snd = snd * 5.dbamp; |
| ( | |
| SynthDef(\kick, { | |
| var snd; | |
| snd = SinOsc.ar(Env([400, 70, 50], [0.05, 0.2]).ar); | |
| snd = snd + (Hasher.ar(Sweep.ar) * Env.linen(0.001, 0.001, 0.001).ar); | |
| snd = snd * Env.perc(0.001, 1).ar(Done.freeSelf); | |
| snd = snd ! 2; | |
| snd = snd * \amp.kr(-10.dbamp); | |
| Out.ar(\out.kr(0), snd); | |
| }).add; |
| ( | |
| SynthDef(\kick, { | |
| var snd; | |
| snd = SinOsc.ar(50 * (1 + (8 * Env.perc(0.001, 0.05).ar) + (2 * Env.perc(0.001, 0.3).ar))); | |
| snd = snd + (SinOsc.ar(200 * (1 + (3 * Env.perc(0.001, 0.05).ar))) * Env.perc(0.001, 0.05).ar); | |
| snd = snd + (Hasher.ar(Sweep.ar) * Env.perc(0.001, 0.01).ar); | |
| snd = snd.tanh; | |
| snd = snd * Env.perc(0.001, 1.0).ar(Done.freeSelf); | |
| snd = snd ! 2; | |
| snd = snd * \amp.kr(1); |
| import numpy as np | |
| import scipy.special | |
| f0 = scipy.special.jn_zeros(0, 1)[0] | |
| print([list(scipy.special.jn_zeros(n, 10) / f0) for n in range(10)]) |
| ( | |
| SynthDef(\cybernetic, { | |
| var snd, index, divide, cutoff; | |
| var freq; | |
| index = MouseY.kr(1, 7000, 1); | |
| freq = MouseX.kr(0.01, 40, 1); | |
| divide = 1; | |
| cutoff = 1; | |
| snd = LocalIn.ar(4); | |
| snd = Latch.ar(snd, PulseDivider.ar(snd.reverse, LPF.ar(snd, 10 * cutoff) * 1e5 * divide)); |
| import sys | |
| import subprocess | |
| proc = subprocess.Popen( | |
| ["sclang", "-i", "scqt"], | |
| stdin=subprocess.PIPE, | |
| stdout=subprocess.PIPE, | |
| stderr=subprocess.STDOUT, | |
| ) |
| /* | |
| MiniPond is a tiny variant of the LilyPond note entry syntax. | |
| cdefgab - note name | |
| s - sharp | |
| f - flat | |
| ' - octave up | |
| , - octave down | |
| 4 - quarter note | |
| 2 - half note |