This repo contains a headless yoshimi soft synth for web browsers. Forked from upstream yoshimi, and ported to Web Assembly. My goal was to produce as minimal changes to the original codebase as possible, and manage the port using #ifdefs and stub header dependencies. KissFFT and mxml bitcode files are linked in from the build folder.
building on osx
cd wam/build sh build.sh
The build script produces yoshimi.wasm and yoshimi.js files, and moves them to wam/dist/worklet folder. yoshimi.wasm is the web assembly binary, and yoshimi.js contains its supporting glue code. Build process relies on emscripten wasm toolchain. Be sure to add emscripten tools directory (i.e., the one containing
emmake) to path before running the yoshimi build script.
wam/dist folder contains a pre-compiled distribution. Simply copy the presets from repository root banks folder into wam/dist/banks, serve the files with a localhost, and browse to
wam/dist/index.html for a sweet sonic experience.
- yoshimi / zynaddsubfx contributors : Paul Nasca, Alan Calvert, Will Godfrey and others
- kissFFT : Mark Borgerding
- mxml : Copyright © 2003-2019 by Michael R Sweet
- zlib.js : Copyright © 2012 imaya
- qwerty-hancock : Copyright 2012-14 Stuart Memo
- web audio modules (WAMs) : Jari Kleimola and Oliver Larkin 2015-2019
- audioworklet-polyfill : Jari Kleimola 2017-2019
Yoshimi is GPL-2.0, WAMs and audioworklet-polyfill are under MIT. Please click the links above for other library licenses.