Generative Audio Playground - https://www.audiomasher.org
- Edit and play Sporth patches (audio scripts) in the browser
- Browse and listen to existing patches
- Add your patches to the collection
- Subscribe to the Atom feed of published patches
While Sporth code may look esoteric at first glance, it's surprisingly easy to write, especially with immediate audio feedback. This readme doesn't cover the Sporth language itself, but resources to learn Sporth are readily available:
- The interactive Sporth tutorial on AudioMasher itself
- The original version of the tutorial by Paul Batchelor
- For more general patch-crafting knowledge, Ableton's excellent Learning Synths tutorial is directly applicable to Sporth programming
- For more in-depth sound programming knowledge, I recommend Sean Luke's free online book Computational Music Synthesis
To get the latest source and build the server using Git and Go:
git clone https://github.com/pac-dev/AudioMasher
cd AudioMasher/
go build
Sporth is already compiled to JS and included in the project, but if you want to compile it yourself, the code glue is here: https://github.com/pac-dev/SporthEm
- Serve the
staticfolder from a static host. - Create your own
config/masher.configbased on the included example config file.- Note: all config variables can also be set in the environment (which takes precedence).
- Run the AudioMasher binary alongside the
templatesandconfigdirectories.
- Files served by the static host might require some HTTP headers:
- access-control-allow-origin set to the server address
- content-type: application/wasm for the wasm file
- Sporth is compiled to WASM using Emscripten
- Scripts and users are stored using Storm
- This project is tested with BrowserStack.