██████╗ █████╗ ███████╗███████╗██╗ ██╗███╗ ██╗███████╗ ██╗ ██╗ ██╗ █████╗
██╔══██╗██╔══██╗██╔════╝██╔════╝██║ ██║████╗ ██║██╔════╝ ██║ ██║███║██╔══██╗
██████╔╝███████║███████╗█████╗ ██║ ██║██╔██╗ ██║█████╗ ███████║╚██║╚█████╔╝
██╔══██╗██╔══██║╚════██║██╔══╝ ██║ ██║██║╚██╗██║██╔══╝ ╚════██║ ██║██╔══██╗
██████╔╝██║ ██║███████║███████╗███████╗██║██║ ╚████║███████╗ ██║ ██║╚█████╔╝
╚═════╝ ╚═╝ ╚═╝╚══════╝╚══════╝╚══════╝╚═╝╚═╝ ╚═══╝╚══════╝ ╚═╝ ╚═╝ ╚════╝
MIDI DRIVEN SYNTH RIG IN YOUR BROWSER
- originally written for JSConfEu 2019 Festival X Opening (DOMinator)
Written by Matt McKegg (@mmckegg) & Jan Krutisch (@halfbyte)
- use git-lfs to check out the samples
- run npm i to install the webserver
- trigger stuff with midi! (yes, that easy. OR NOT)
- probably change the code to make it work with your midi setup
- The modules folder contains all of the sound engine parts
- index.js contains the performance related setup
- Each Instrument, which can be one of
- Drum/Oneshot Sampler
- Slicer
- Synth
- is then fed into a Mixer Channel which contains a
- Bitcrusher
- Dual filter (similar to these on DJ Mixers)
- Sends to a Reverb and a Delay
- A ducker (ala sidechain compression)
See LICENSE