In this tutorial we will run through the process of creating a sample based MIDI instrument utilizing both Web Audio and Web MIDI. We will start by broadly addressing the sound design concepts used to create the individual samples and then techniques for increasing download speed using infinite looping and variable speed playback. We will then define the instrument’s basic user interface.
In the second half of the session we will address both real-time audio effects such as non-convolution reverbs and MIDI effects such as a simple arpeggiator and chord generator.
Your laptop, with Node.js installed, headphones and a mood for jamming!
90 minutes
John Ivers, Laurent Le Graverend, Gilles Piou
To start the development server:
npm install
npm start
- Bind keyboard events
- Play sample files
- Connect a gain node
- Pass velocity parameter
- Use pitch-shift formula
- Parse soundbank JSON
- Include crossfade to existing audio buffers
- Use Web Audio loop feature
- Call harmonizer functions when playing notes on the sampler
- Connect freeverb effect node to the sampler output