Files
2024-01-10 22:08:41 +01:00
..
2024-01-10 22:08:41 +01:00
2024-01-10 21:49:04 +01:00
2024-01-10 21:31:22 +01:00
2024-01-10 21:31:22 +01:00
2024-01-10 21:31:22 +01:00
2024-01-10 21:31:22 +01:00
2024-01-10 22:08:41 +01:00
2024-01-10 22:08:41 +01:00
2024-01-10 21:31:22 +01:00

superdough-wasm

This is just a very early experiment to find out how to run wasm in an AudioWorklet. WASM can be compiled from several languages, which are tested here..

zig

https://dev.to/sleibrock/webassembly-with-zig-part-1-4onm

# (re)compile dsp.zig
brew install zig # prequisite
cd zigsaw
zig build-lib zigsaw.zig -target wasm32-freestanding -dynamic -rdynamic -O ReleaseSmall # build
npx http-server .. -o # run 

wasm file size: 690B

rust

https://developer.mozilla.org/en-US/docs/WebAssembly/Rust_to_Wasm

# https://www.rust-lang.org/tools/install
cargo install wasm-pack # prequisite
cd rustsaw
wasm-pack build --target bundler # build
npx http-server .. -o # run

wasm file size: 653B

c

https://emscripten.org/docs/getting_started/Tutorial.html

# brew install emscripten
cd csaw
emcc -O2 csaw.c -o csaw # build
npx http-server .. -o

wasm file size: 680B

assemblyscript

https://www.assemblyscript.org/getting-started.html#setting-up-a-new-project

cd ascsaw
# npm i
npm run asbuild # build

wasm file size: 122B !