WebAudioAPI
Javascript library to generate music using the Web Audio API
Current Library
- Single-file ECMAScript module: https://hedgecrw.github.io/WebAudioAPI/lib/webAudioAPI.js
- Minified single-file ECMAScript module: https://hedgecrw.github.io/WebAudioAPI/lib/webAudioAPI.min.js
- Full instrument library: https://hedgecrw.github.io/WebAudioAPI/lib/webAudioAPI-instruments.tgz
API Documentation
- https://hedgecrw.github.io/WebAudioAPI/WebAudioAPI.html
Demos
- Live piano demo: https://hedgecrw.github.io/WebAudioAPI/piano
- Score creation demo: https://hedgecrw.github.io/WebAudioAPI/score
- NetsBlox emulation demo: https://hedgecrw.github.io/WebAudioAPI/netsblox
- Live external device demo: https://hedgecrw.github.io/WebAudioAPI/external
- Effects manipulation demo: https://hedgecrw.github.io/WebAudioAPI/effects
- Note modifications demo: https://hedgecrw.github.io/WebAudioAPI/modifications
- Live analysis demo: https://hedgecrw.github.io/WebAudioAPI/analysis
Tools
- Instrument creator: https://hedgecrw.github.io/WebAudioAPI/instrumentcreator
- Instrument decompiler: https://hedgecrw.github.io/WebAudioAPI/instrumentdecompiler
Future Work
- [ ] Allow for nested sequences (function to generate sequences with mods)
- [ ] Fix sustained/looping instrument audio clips to have no silence at end
- [ ] Allow importing Sf2, Sf3, Sfz, or raw audio (WAV, OGG, MP3, etc.) formats for instrument creation
- [ ] Import good quality SoundFonts from https://sites.google.com/site/soundfonts4u/
- [ ] See what other effects can be added from https://github.com/jonathanneels/Audio-Input-Effects and from https://alemangui.github.io/pizzicato/
- [ ] Make library fully General MIDI 2 compliant