Skip to content

Instantly share code, notes, and snippets.

postln("stereoize hello");
s = Server.default;
s.waitForBoot {
r = Routine {
// note that the bands here are not phase-corrected...
SynthDef.new(\splitDelay, {
@catfact
catfact / Engine_AmpPollTest.sc
Last active April 1, 2024 18:33
norns amplitude poll test
Engine_AmpPollTest : CroneEngine {
var <synth;
*new { arg context, doneCallback;
^super.new(context, doneCallback);
}
alloc {
synth = SynthDef.new(\amp_poll_test, {
arg out=0, amp=0.125, which = 0;
@catfact
catfact / chimes.scd
Last active April 3, 2024 03:04
sines and noise windchimes
s = Server.default;
s.waitForBoot {
r = Routine {
SynthDef.new(\sine_pair_perc, {
var hz = \hz.kr(200);
var beatrate = \beatrate.kr(2);
var beatrate_2 = beatrate/2;
var amp = \amp.kr(-30.dbamp);
@catfact
catfact / timbertest.lua
Last active January 19, 2024 22:48
timber loop mode test
local timber = include("timber/lib/timber_engine")
engine.name = "Timber"
local sample_paths = {
_path.audio .. "/common/808/808-BD.wav",
_path.audio .. "/common/808/808-SD.wav"
}
function init()
@catfact
catfact / noise_vs_buf.scd
Last active January 13, 2024 00:18
noise_vs_buf
n = 1000;
m = 20;
d = 0.1;
a = 0.1 / n;
h = Array.newClear(m);
s.waitForBoot { Routine {
i = 0;
@catfact
catfact / SimpleInputCapture.sc
Created January 5, 2024 00:51
simple input capture class for SuperCollider
SimpleStereoCapture {
classvar <bufSize;
classvar <synth;
classvar <buf;
classvar <oscFunc;
*initClass {
var s = Server.default;
@catfact
catfact / gist:5ed463d82701330c96024fa17aa9f39c
Created December 28, 2023 21:46
ji / 12tet pulse demo
s = Server.default;
s.waitForBoot { Routine {
SynthDef.new(\pan_pulse, {
var pos = Line.ar(\pos.kr(0), 0, \dur.kr(5));
var snd = Pulse.ar(\hz.kr(110));
snd = Pan2.ar(snd * \amp.kr(0.1), pos);
Out.ar(\out.kr(0), snd);
}).send(s);
@catfact
catfact / distributions.c
Last active December 12, 2023 00:49
approximating some distributions in C
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
// generate uniformly distributed random number in [0, 1]
float rand_float() {
return (float)rand() / RAND_MAX;
}
const int NORM_APPROX_STAGES = 12;
@catfact
catfact / main.c
Created December 10, 2023 04:08
weighted random sampling with replacement
// demo: weighted random sampling from a discrete distribution, with replacement
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef int value_t; // value
typedef double weight_t; // probability weight
struct bin_data {
engine.name = 'PolyPerc'
local sync_first = true
function key(n,z)
if n == 3 and z == 1 and not transport_running then
print("starting link")
clock.link.start() -- start Link clock
elseif n == 3 and z == 1 and transport_running then
print("stopping link")