/*
|_ | | | | / \ | \ | | |/ / \ \ / / _ | | | | | | | || | / _ \ | | | ' / \ 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 |