Blog
Recent Tinkerings
- A template/to-be-tutorial/package for writing audio DSP in Rust, compiled to WASM for use with the Web Audio API as an
AudioWorkletNode
- Quickly getting side-tracked into a granular synthesizer
npm
package because I can’t help it
- Maybe one day spun off as a
wasm
polyfill/alternative to AudioBufferSourceNode
to account for some of its less-than ideal quirks? e.g. limitation around re-using nodes leading to lots of JS object instantiation/GC in the main thread if you’re trying to do something like granular synthesis
WinVaultKeyring.get_credential("service", "<username_dne>")
with a non-existent username would in some cases return credentials of another username.
Published Open Source
- A React component for airport-style infinite smooth-scrolling displays
- demo site
- Available here
- Web-based environment for programming music and visuals.
- Web-based ear training exercises
- Developed in Haskell (Reflex, Relfex-DOM) and JS (Web Audio API)
- JS (Web Audio API) implementation of the Dirt/SuperDirt sound sampler.
Past Projects/Maintenance
- React Native mobile application sends MIDI messages over Bluetooth Low Energy to an Adafruit microprocessor mounted in a 3D-printed euro-rack module.
- A work in progress - development paused when I fried my microprocessor while soldering…
- Web-based music performance interface written in React/Redux (frontend) and Node.js (backend).
- Organization of live-coded musical and visual code snippets into a performance-oriented UI.
- Synchronized state over websockets for collaborative performances and suppporting different form-factors (tablet, desktop, hardware MIDI controller)
- Unfortunately deprecated! Would live to revive this some day, probably as a fresh rewrite in typescript and implementing server synchronization more intelligently…
Other Things
- Small extension for SuperCollider for authoring audio synthesis patches (SynthDef’s) that are responsive to MIDI messages (without all the boilerplate of writing MIDIDefs)
- Silly, rough, and experimental web audio drum machine designed for tablet
- Sounds fetch from freesound.org, forward/backward/sped/slowed-down sequencer, infinite seq duration, etc…
- SuperCollider effects patches for the Pisound
- Prototype Chrome plugin that augments web browsing with mindful and playful audio-visual experiences. Inspired by slowness and the ‘flâneur’
- JavaScript (p5.js, Web Audio API, Jquery), HTML, CSS.