Skip to content

Instantly share code, notes, and snippets.

import os
import os.path as path
import math
import numpy as np
import sys
from scipy.io import wavfile
def main():
data_dir = sys.argv[1]
let leg a = withEvent (\e -> Event (legArc $ whole e) (legArc $ part e) (value e))
where legArc (Arc s e) = Arc s (s + ((e - s) * a))
scale' r s p = (|+ r) $ scale s p
lock n p = fast (pure (n % len)) p
where len = fromIntegral $ length $ queryArc p (Arc 0 1)
zoomL :: (Integer, Integer) -> Pattern a -> Pattern a
zoomL (s, e) p | s <= e = fast (pure (len % (e' - s))) $ zoom (s % len, e' % len) p
| otherwise = rev $ zoomL (e, s) p
where len = fromIntegral $ length $ queryArc p (Arc 0 1)
e' = e + 1
@tuchella
tuchella / functions.json
Created August 30, 2019 10:13
Tidal function list as json/yaml
[
{
"name": "accelerate",
"help": "`accelerate` turns a number pattern into a control pattern that speeds up (or slows down) samples while they play.",
"cmd": "accelerate :: Pattern Double -> ControlPattern",
"paramTypes": [
"Pattern Double"
],
"returnType": "ControlPattern",
"links": [
linear
in_back
in_bounce
in_circular
in_cubic
in_elastic
in_expoential
in_quadratic
in_quartic
in_quintic
# Using awk we will find the bounding boxes from the detected points.
pushd $INPUT > /dev/null
ls -1 *.txt | \
while read fname; do
TFM=$(awk -F, 'BEGIN {
minX=1000;
maxX=0;
minY=1000;
maxY=0;
3 semitone, [0, 3, 6, 9, 12]
4 semitone, [0, 4, 8, 12]
aeolian, [0, 2, 3, 5, 7, 8, 10, 12]
algerian 1, [0, 2, 3, 6, 7, 8, 11, 12]
algerian 2, [0, 2, 3, 5, 7, 8, 10, 12]
algerian, [0, 2, 3, 6, 7, 8, 11, 12]
altered, [0, 1, 3, 4, 6, 8, 10, 12]
arabian, [0, 1, 4, 5, 7, 8, 11, 12]
augmented, [0, 3, 4, 7, 8, 11, 12]
balinese, [0, 1, 3, 7, 8, 12]
@tuchella
tuchella / Wave.java
Created December 27, 2017 15:45
2D fluid height field
public class Wavey {
private static int DELTA_T = 1;
private static float speed = 0.01F;
private float[] u = new float[20];
private float[] v = new float[u.length];
private float h = 0.1F;
private int frame = 0;
#!/usr/bin/env python
from PyPDF2 import PdfFileWriter, PdfFileReader
import sys, getopt, os
def parse_range(page):
start, end = page.split('-')
start = int(start)
end = int(end)