Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@mmalex
mmalex / allpass.md
Last active March 23, 2024 03:14
optimising allpass reverbs by using a single shared buffer

TLDR: if you've got a bunch of delays in series, for example all-pass filters in a reverb, put them all in a single big buffer and let them crawl over each other for a perf win!

recently I was fiddling around with my hobby reverb code, in preparation for porting it onto a smaller/slower CPU. I'd implemented a loop-of-allpass filters type reverb, just like everybody else, and indeed, I basically had the classic 'OOP'ish abstraction of an 'allpass' struct that was, say, 313 samples long, and... did an allpass. on its own little float buffer[313]. (well, short integer, not float, but thats not relevant) I'll write out the code in a moment.

but then I was browsing the internet one night, as you do, and stumbled on this old post by Sean Costello of Valhalla DSP fame - noting the sad passing of Alesis founder and general all-round DSP legend, Keith Barr. https://valhalladsp.com/2010/08/25/rip-keith-barr/

It's worth a read just for his wonderful anecdote about the birth of the midiverb - which spawned the thou

@rogerallen
rogerallen / .emacs
Created June 22, 2019 22:14
Simple, quick .emacs when necessary
;; Roger's Simple .emacs
;; ----------------------------------------------------------------------
;; global variables & settings
(setq auto-save-default t
auto-save-interval 1000
delete-auto-save-files nil
make-backup-files nil
require-final-newline t
compile-command "make -k "
/data/backup/$TODAY#!/bin/bash -e
read -r YESTERDAY TODAY <<<$(
python3 -c '
import datetime
def day_to_slot(n):
return bin(n)[::-1].index("1")
n = datetime.date.today().toordinal()
print(day_to_slot(n - 1))
print(day_to_slot(n))
@TimOverboard
TimOverboard / copy-lwjgl.sh
Last active November 10, 2016 22:01 — forked from Coderlane/copy_lwjgl.sh
Updated for Minecraft 1.10 - Minecraft lwgjl native runtime libs hack.
#! /bin/bash
#
# -SCOPE
# This script will replace the shared library files lwjgl.so and libopenal.so
# contained in the minecraft lwjgl *natives-linux.jar with those in a specified
# directory and update the associated sha1sum.
# The purpose of this is to enable playing of "standard" minecraft
# on non x86 / i386 chipsets running linux. Eg. ARM.
#
# -IMPORTANT
@wangruohui
wangruohui / Install NVIDIA Driver and CUDA.md
Last active April 23, 2024 02:03
Install NVIDIA Driver and CUDA on Ubuntu / CentOS / Fedora Linux OS
@MichaelPote
MichaelPote / himawari.ps1
Created February 3, 2016 19:11
Windows Powershell Script to download the latest image from the Himawari-8 satelite, combine the tiles into a single image, convert to jpg and then set as the desktop background.
#
# Himawari-8 Downloader
#
#
#
# This script will scrape the latest image from the Himawari-8 satellite, recombining the tiled image,
# converting it to a JPG which is saved in My Pictures\Himawari\ and then set as the desktop background.
#
# http://himawari8.nict.go.jp/himawari8-image.htm
#
@briantjacobs
briantjacobs / gist:07595a625c9abb4832a0
Created November 18, 2015 21:50 — forked from sh0rtwave/gist:29773181164ef748cc64
EPIC Daily 'Blue Marble' API for epic.gsfc.nasa.gov
# EPIC Daily “Blue Marble” API
The API URL is: http://epic.gsfc.nasa.gov/api/images.php
This gets you a list of the latest day’s images & metadata.
OR
http://epic.gsfc.nasa.gov/api/images.php?date=YYYY-M-D&w=X&e=Y
@ctford
ctford / deftrack.clj
Created April 12, 2015 22:29
An unhygienic macro for generating the standard template I use for instruments.
(defmacro deftrack
"Defines an instrument with frequency, duration, volume, position and wet pre-defined.
NB: these variables will shadow any instances in a wider scope.
(deftrack simple [vibrato 3]
(* (saw frequency) (sin-osc vibrato)) ; Signal
(adsr)) ; Envelope
(simple :frequency 440 :position -1 :wet 1)
@Coderlane
Coderlane / copy_lwjgl.sh
Last active December 24, 2019 05:27
Copy lwjgl binaries into the linux natives jar file for minecraft.
#!/bin/bash
# This script will copy the newly compiled lwjgl.so and libopenal.so
# from the specified directory into the correct minecraft jar file.
# It will then compute and update the correct sha1sum.
#
# First Arguement (Required):
# Path to the directory containing:
# lwjgl.so and libopenal.so
#
(ns apples.core
(:require [play-clj.core :refer :all]
[play-clj.g2d :refer :all]
[play-clj.math :refer :all]))
(declare apples main-screen)
(def speed 14)
(defn- get-direction []
(cond