Some simple WebAudio building blocks and a web app to experiement and (kind of) live code with them.
Metro
class to do time interval based AudioNode playback (using WebAudio timing)Simple
a sample node generatorNoise
a noise node generatorMidiFreq
functions to translate between MIDI note numbers and frequencies
- More node generators (saw/square osc, filters, etc)
- Composite nodes (graphs)
- mstoBPM() and BPMtoms() functions
- Port five limit scale code from Max JS
- Control of sample playback rate
- Envelopes
- Connect gain nodes and gain control to the generated nodes for playback
- Create a Tempo object wrapped around Metro to provide a more traditional musical interface (BPM, time signature)
- Use a worker to schedule from a different thread
- Evaluate what needs to be async
- Do something better with static asset management