From 0106a129c9e78e5462bc1c4c65eb5bf65c6d3cc0 Mon Sep 17 00:00:00 2001 From: Felix Roos Date: Wed, 10 Jan 2024 17:04:10 +0100 Subject: [PATCH 01/10] add minimal zig wasm testing ground --- packages/zig/README.md | 10 ++++++++++ packages/zig/add.wasm | Bin 0 -> 6436 bytes packages/zig/add.zig | 3 +++ packages/zig/index.html | 10 ++++++++++ packages/zig/main.js | 11 +++++++++++ 5 files changed, 34 insertions(+) create mode 100644 packages/zig/README.md create mode 100755 packages/zig/add.wasm create mode 100644 packages/zig/add.zig create mode 100644 packages/zig/index.html create mode 100644 packages/zig/main.js diff --git a/packages/zig/README.md b/packages/zig/README.md new file mode 100644 index 000000000..66e38cf1b --- /dev/null +++ b/packages/zig/README.md @@ -0,0 +1,10 @@ +# zig testing ground + + + +```sh +# (re)compile add.zig +zig build-lib add.zig -target wasm32-freestanding -dynamic -rdynamic +# run server +npx http-server -o +``` diff --git a/packages/zig/add.wasm b/packages/zig/add.wasm new file mode 100755 index 0000000000000000000000000000000000000000..ad6f38d4b284843d1f1d79c91f4967bd887d7bc4 GIT binary patch literal 6436 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 + + + ZIG / WASM Demo + + +

check the console

+ + + diff --git a/packages/zig/main.js b/packages/zig/main.js new file mode 100644 index 000000000..7540c86c0 --- /dev/null +++ b/packages/zig/main.js @@ -0,0 +1,11 @@ +async function run() { + let res = await fetch('./add.wasm'); + res = await res.arrayBuffer(); + res = await WebAssembly.instantiate(res, { + env: {}, + }); + const { add } = res.instance.exports; + console.log(add(3, 5)); +} + +run(); From 93cfe9802c85af2514f7d15ccde5333ed8cafad0 Mon Sep 17 00:00:00 2001 From: Felix Roos Date: Wed, 10 Jan 2024 18:11:05 +0100 Subject: [PATCH 02/10] zig dsp poc --- packages/zig/README.md | 4 ++-- packages/zig/add.wasm | Bin 6436 -> 0 bytes packages/zig/add.zig | 3 --- packages/zig/dsp.wasm | Bin 0 -> 368308 bytes packages/zig/dsp.zig | 5 +++++ packages/zig/index.html | 2 +- packages/zig/main.js | 26 ++++++++++++++++---------- packages/zig/worklet.js | 37 +++++++++++++++++++++++++++++++++++++ 8 files changed, 61 insertions(+), 16 deletions(-) delete mode 100755 packages/zig/add.wasm delete mode 100644 packages/zig/add.zig create mode 100755 packages/zig/dsp.wasm create mode 100644 packages/zig/dsp.zig create mode 100644 packages/zig/worklet.js diff --git a/packages/zig/README.md b/packages/zig/README.md index 66e38cf1b..759945eb6 100644 --- a/packages/zig/README.md +++ b/packages/zig/README.md @@ -3,8 +3,8 @@ ```sh -# (re)compile add.zig -zig build-lib add.zig -target wasm32-freestanding -dynamic -rdynamic +# (re)compile dsp.zig +zig build-lib dsp.zig -target wasm32-freestanding -dynamic -rdynamic # run server npx http-server -o ``` diff --git a/packages/zig/add.wasm b/packages/zig/add.wasm deleted file mode 100755 index ad6f38d4b284843d1f1d79c91f4967bd887d7bc4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6436 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%0Ac!HDZJjvGIN~y zGLKxQ%?2ho-^p1U-S=BXz_j~xlQX+0ABgk`UAp*>L}L?@*h`(_0?7+9NF^G@(--h; z_+gxB^Yuk}20if`g&yY_=2u9X7{EUz>}(?J3@X`okCOG~(|k^DVskX4n`Qg7y!k}t z^#r(CI{ngknUaKY2Xb7c$AqE(p9n@yzqT--`iQ2lqlrsa83^GJ&kfwi!C4nkvV*f-axk=Us&sadjgN&nD%(HL}M3Y zr}d5`&Tdnj#V-$F#Z}m|%IlMr@&TKolgt8oc2SOe0*C?8?5zf{v;XW((FtZPeK2d7 zAy*P!@rZdE0jAy~e5S+<0h9ZR4j9uzU{f#zxCd&61IM^ELtqP=Mf1q__cV*Wt8<$j z3AjpnBp8bCX7ujx1D)G76!I%XT{44Vxk~96&D|OfTNn<733fav9+~mLhO4ImvE2=b zxX8e`6K<99(atBVIx6D?9qwdw{VLO@|8~4Ef!2-}b26A7FIc5AUNm`|6WK1EYyD;e zW4wCc;6~9*ZDddG=5sJJ+u{-93AlP(by2*qFe4sbjz@nh9>FQWLR`*;VLEGsURPU~ z-yD65pCw^Y?7pUAwvukPZ`zMx=7yhnTT?TBnKIr_s^03kp?6UC6>PbOGf4Dh3&zsj z*^c*{l6b%ZKI+6MVU771<7sBJ3OM37AoiZb|7&R5r#WAt${p-aXR=c{N7Es_`#6aF2j0HIWZ4$&WzRw z(rbglkK#j#D7N=Z5EpdtyDag@Xey_u(OLZBL^PS5VYH(7OY$AXtANK)O>4}Ne6cp$ z#?Kw7#sKaUiW}xN?D(0XNfSU_S-cS*eM?JjpgxBz1ER6*H>o~f$x?kH`3E-?#V9}R z#&u2o6f@qIjDB_icJ%MbnZx*pS+e6H`{G^anokDxG`6?LeJ@XjHiPe^&3@J1?MJqm zqE3)bvrEwl9zVO=k88qko7p4JC5|79ODJeCvoWuk;?FUMX$*2?VP-k(;uht!>Y>iU zW@b72+=e!?zvM>8w6o%Pky|R=rInFZ*s+#7EGk(tn~4jn5nEfoTr)T|S+y})F)t*m zWh(60WK}cxIv9$Cr_}mJ(+>KWb#C=2<8uj`p7zk}#1W?^1rAr|XwpFGuB;B^+-ybg z)2EKc**Mmvz2K;bywn(=ESG+!`P1KIMj%~0nsB*;@8l~(nFuj$`x~b4;t}kNs8mlcX*8`91&t^ZcPXd+jy6YkH^ku6L~s z;Ku}5pGpJXqZC+5fq#d!?Ib**W{zfo2Hgkaqlbsmw?dPDXsF?TG{#~bu*kpO!|>y+(5H zu>!jkdlxDKwf{t_@`u@^aR~eqyoEmO%I=nq6fFY&6&qrRt1qN9prGb2ri{brcGYyk zIZ$X`^tSQLYl81$baVbHSxLdnZTKXyu9%+n%TO)vr||4`pe7kYRJ#exI~mOT2NTD< z4D%Xh_`8eQ8fN&Ldwq)}7CMSJAEtx*gJ5HD0Xs%;Ky8tj%0RQYB+kV7IhyT@IBkQz z9r!B|N(>%!^%$r++utEhstuN}30uLd93eCIKPVi2bPF8$p(^Tn*wP;&{bBG2WcxCe z3#s)=v%f0b)5ilzdQ^P;K_U2KV!%7d0d7BDg`A_Ne;00lQwx*($PR9QJ;d#M`E&&{ z{Z!Rn0d3KY!@_mR$6|EGV+7rO z1`=`>()*w2x!ve#()+|jGr!cK?uongxhqhno;!dfzPYzrZ{U?a#j+5bI-h+OhpG#A z`sbVey%;<_*97tsQ`J^Ec?^Fp(KN1S)Sa5E3gyejWr2#3}kRa-t02dx63S}+`p%A6K8~i=AbE$&z|M|qduYVHZp*C|Bzgh zALBo^@Ttw4*k2*Q2dpFwfcP@@ajmEc{#mB-W5fMMe;xEb(=Kp4Zb5OsDDz7aLRjSpVaaZPl@US{B&{XtIfkiC(DNCz)e%6`h<}DL*i&txxq^hr z{;9jztch}*I^wS|647E5t=0B8(OT&^(m=GUE7J8Xg)cf*{Y@^k15=?4&y;~(LQx{!_kBw^#`uP8kDg_f`%yaBv_K}yEIuu^>i z`eS?XgEtJ5N)P!kMa~}tL*Ii5#t;p<=Q?wcz*`-X#hV>g{iT8|-sJG=6+_xL3d>&! zvHTWS;D0K}0$&SN@mDLbRR#VU7KoLZa9ay0|9e#qMLCO)0(Na){^Szgr%b<50wvy$IG81` z{9kPu=4CZcE`(Z*8LJZbFNSh zd;KPNXC6{}Ygp`FEA}MC?p3iTDR%FcW}b>LhWTx+ChlP@kWt@N&+ZmIKO>R%DRMy0 zyG-O=5H!^OJ~%Wpe?|=-pEM)lbFqxO!)c7amW=)9Eo`zbWw50(o~U;|{{ky!XeVUm z8`8fU&gOR9rstg*;LeEX50`R1k?;DHs_(3#qVO2ozeVZnp1B-9s>;_AIBJ7iT^iVXHfmAxU}zZSKTGB zvCsi~pcd-xfXuVZ3SgOvW0*33!#0B*aDGHLeWd`EDgm8jfO^deQvnH=iUbm$N5o-c z@386(*0q_&s?6!&K-eIp1cMN@$e+SZ-98^X;q#8D3+L|^Tbm8s+78#%+NR1TA`<9p zKC`^a4P~ghik7w(Es_MI|f~ga0&v@Vg9Am$NE$hJA z^K3<3U1K{2+i?`A{xlK?v+r>AJyrhqy=LCofVb~J*KA|YL@?<3{8BC2!ex7+>`c#w zrs~gBvF6UBOO^x&C}TxCSuwFh1qxCLr)xj0@JwoA5;jP1VYtYvE_$^PVqCe}Y9awT zvc?gd5;l-vL#k*4Mg0vrH$rGT?Mgyn>%St!;&f!y!&+xNgu96rHUu%i5ac3rDSP5+ zOUSs2j7y0*$MqIy8QQP|0lXnw)@9crZ0p_*S{t^gJPSRd15dENZ!|a~fj%Bl&9{?y z)a1n`ZXG8H1!SapyUotzY{tGw^x0@~XI9^&vm^f8Z1rc!;lF-|yK4R3D1#r(K3~8q z6@%&5^G&J^!-E7|fpt4HGza=KOE%8_wcFhM+tjEhYGn=D6d3TCDrSITm3>8Xjb5W2 zw=lwn*gtBugL}<(_dcf-zBjq|V+4kVz9Dyeh%Gi8@QVa3GV`j�%9;?wmhywaW}w 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�n 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 Gf&T;N6MM!0 literal 0 HcmV?d00001 diff --git a/packages/zig/dsp.zig b/packages/zig/dsp.zig new file mode 100644 index 000000000..74a946cbb --- /dev/null +++ b/packages/zig/dsp.zig @@ -0,0 +1,5 @@ +const std = @import("std"); + +export fn saw(t: f64) f64 { + return ((@mod(110.0 * t, 1.0)) - 0.5) * 2.0; +} diff --git a/packages/zig/index.html b/packages/zig/index.html index 0f3d67c36..d9af426e5 100644 --- a/packages/zig/index.html +++ b/packages/zig/index.html @@ -4,7 +4,7 @@ ZIG / WASM Demo -

check the console

+ diff --git a/packages/zig/main.js b/packages/zig/main.js index 7540c86c0..fda63ac84 100644 --- a/packages/zig/main.js +++ b/packages/zig/main.js @@ -1,11 +1,17 @@ -async function run() { - let res = await fetch('./add.wasm'); - res = await res.arrayBuffer(); - res = await WebAssembly.instantiate(res, { - env: {}, - }); - const { add } = res.instance.exports; - console.log(add(3, 5)); -} +let ac; +document.getElementById('play').addEventListener('click', async () => { + ac = ac || new AudioContext(); + await ac.resume(); + await ac.audioWorklet.addModule('./worklet.js'); + const node = new AudioWorkletNode(ac, 'saw-processor'); -run(); + let res = await fetch('./dsp.wasm'); + const buffer = await res.arrayBuffer(); + node.port.onmessage = (e) => { + if (e.data === 'OK') { + console.log('worklet ready'); + } + }; + node.port.postMessage({ webassembly: buffer }); + node.connect(ac.destination); +}); diff --git a/packages/zig/worklet.js b/packages/zig/worklet.js new file mode 100644 index 000000000..3470d23b0 --- /dev/null +++ b/packages/zig/worklet.js @@ -0,0 +1,37 @@ +class SawProcessor extends AudioWorkletProcessor { + constructor() { + super(); + this.t = 0; // samples passed + this.port.onmessage = (e) => { + const key = Object.keys(e.data)[0]; + const value = e.data[key]; + switch (key) { + case 'webassembly': + WebAssembly.instantiate(value, this.importObject).then((result) => { + const exports = result.instance.exports; + this.api = result.instance.exports; + this.saw = exports.saw; + this.port.postMessage('OK'); + }); + break; + } + }; + } + + process(inputs, outputs, parameters) { + if (this.api) { + const output = outputs[0]; + for (let i = 0; i < output[0].length; i++) { + let t = this.t; + let out = 0; + out = this.api.saw(t / 44100, 220); + output.forEach((channel) => { + channel[i] = out; + }); + this.t++; + } + } + return true; + } +} +registerProcessor('saw-processor', SawProcessor); From 7c4ed7e05f22d01aef564d0aa02aa785476ad76d Mon Sep 17 00:00:00 2001 From: Felix Roos Date: Wed, 10 Jan 2024 18:14:49 +0100 Subject: [PATCH 03/10] cleanup --- packages/zig/worklet.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/packages/zig/worklet.js b/packages/zig/worklet.js index 3470d23b0..d4709ccef 100644 --- a/packages/zig/worklet.js +++ b/packages/zig/worklet.js @@ -8,9 +8,7 @@ class SawProcessor extends AudioWorkletProcessor { switch (key) { case 'webassembly': WebAssembly.instantiate(value, this.importObject).then((result) => { - const exports = result.instance.exports; this.api = result.instance.exports; - this.saw = exports.saw; this.port.postMessage('OK'); }); break; From 26793aec910ad17e53a6b8bd7bb8158708bbc51d Mon Sep 17 00:00:00 2001 From: Felix Roos Date: Wed, 10 Jan 2024 18:27:40 +0100 Subject: [PATCH 04/10] frequency control (bad) --- packages/zig/dsp.wasm | Bin 368308 -> 368313 bytes packages/zig/dsp.zig | 4 ++-- packages/zig/index.html | 1 + packages/zig/main.js | 4 ++++ packages/zig/worklet.js | 5 ++++- 5 files changed, 11 insertions(+), 3 deletions(-) diff --git a/packages/zig/dsp.wasm b/packages/zig/dsp.wasm index 67e9a5c2da122dd1cd36f64c6bc43b8af16b9ba7..b90185a38f5965613b76e1c2bea8001a7d561c75 100755 GIT binary patch delta 568 zcmb`DODKd<6vywm=YBI^7$%QNZ0^t`M9S%0&_W)xItkBPcK?ovp z#v;Wf-6@U7z=|O)2q7wy@=(bf1v7Yy-9X7DjvGRX(sZ$%9-(+>Dw0C7I%FhJhq?sG zB8#&iwsolG_C&&(Su->|XpXwayd%EEN)H+k+n&H>iz`O`;+~21O0w{U1#c~k*?EK= zlKy7;Sy4KhcV;MO1`PQi9u3dH7Cfr@Ss=H`Xk!XG;8rc9U>6`6Zg>UN@XAM~>E?zX zt4L1#SV8jgEzSTQP<9tcpXHlrX*RK!imN8JlAN1JgH-1fUd)H$WVMj?CW%I(i|~@; zX(CLl5jRAFcqV@0pZbhH2S(qMc&9d>&;{!94a>9iuhA*8qOL!%Peg5T)Ro63jDKnP5@aQcZ4^&yq168l5^9Ao#G30zH{vGgTscZ73EfSUuW* z0<&E{T@g$u(fJv`y{|g%ynVD~)dc(djDhaK(NOqyHGn$A4+d~WD~nSJ<%!{DC1)&+ zhF2P6P9C+Nl9D&)bx5xRf?>FhEltBdyvc?cpb-A3rJslDYGdLP3gz}YtN|nz zd`XbLBo9qd(oO`cNG>8+L6Z6r?*yKZ_cW2YD>5jpNF+!;tcW&0%F%vsko zX9+FOL->exVw}b`iA7?AcpzSgB=Kwilvnz9LwWjv{#-5HEX8A6_t++%ztE}3p&aF0 r%`4LEyK1gos2=XmSF2=eff7EWuN~bf?kFVWWmsLNt;yh++FAV#Sdfn` diff --git a/packages/zig/dsp.zig b/packages/zig/dsp.zig index 74a946cbb..c9b4fb8c0 100644 --- a/packages/zig/dsp.zig +++ b/packages/zig/dsp.zig @@ -1,5 +1,5 @@ const std = @import("std"); -export fn saw(t: f64) f64 { - return ((@mod(110.0 * t, 1.0)) - 0.5) * 2.0; +export fn saw(t: f64, f: f64) f64 { + return ((@mod(f * t, 1.0)) - 0.5) * 2.0; } diff --git a/packages/zig/index.html b/packages/zig/index.html index d9af426e5..35c23f255 100644 --- a/packages/zig/index.html +++ b/packages/zig/index.html @@ -5,6 +5,7 @@ + diff --git a/packages/zig/main.js b/packages/zig/main.js index fda63ac84..3feefcf9d 100644 --- a/packages/zig/main.js +++ b/packages/zig/main.js @@ -14,4 +14,8 @@ document.getElementById('play').addEventListener('click', async () => { }; node.port.postMessage({ webassembly: buffer }); node.connect(ac.destination); + + document.getElementById('freq').addEventListener('input', async (e) => { + node.port.postMessage({ frequency: e.target.value }); + }); }); diff --git a/packages/zig/worklet.js b/packages/zig/worklet.js index d4709ccef..b926bdb4b 100644 --- a/packages/zig/worklet.js +++ b/packages/zig/worklet.js @@ -2,6 +2,7 @@ class SawProcessor extends AudioWorkletProcessor { constructor() { super(); this.t = 0; // samples passed + this.f = 110; this.port.onmessage = (e) => { const key = Object.keys(e.data)[0]; const value = e.data[key]; @@ -12,6 +13,8 @@ class SawProcessor extends AudioWorkletProcessor { this.port.postMessage('OK'); }); break; + case 'frequency': + this.f = value; } }; } @@ -22,7 +25,7 @@ class SawProcessor extends AudioWorkletProcessor { for (let i = 0; i < output[0].length; i++) { let t = this.t; let out = 0; - out = this.api.saw(t / 44100, 220); + out = this.api.saw(t / 44100, this.f); output.forEach((channel) => { channel[i] = out; }); From a7726e2334df5bfbd9b055dbf913f0e66bfb31ba Mon Sep 17 00:00:00 2001 From: Felix Roos Date: Wed, 10 Jan 2024 21:31:22 +0100 Subject: [PATCH 05/10] add rust + shrink zig wasm file --- packages/superdough-wasm/.gitignore | 1 + packages/superdough-wasm/README.md | 27 ++++ packages/{zig => superdough-wasm}/index.html | 2 +- packages/{zig => superdough-wasm}/main.js | 3 +- packages/superdough-wasm/rustsaw/Cargo.lock | 123 ++++++++++++++++++ packages/superdough-wasm/rustsaw/Cargo.toml | 13 ++ packages/superdough-wasm/rustsaw/src/lib.rs | 6 + packages/{zig => superdough-wasm}/worklet.js | 0 packages/superdough-wasm/zigsaw/zigsaw.wasm | Bin 0 -> 690 bytes .../zigsaw/zigsaw.zig} | 0 packages/zig/README.md | 10 -- packages/zig/dsp.wasm | Bin 368313 -> 0 bytes 12 files changed, 173 insertions(+), 12 deletions(-) create mode 100644 packages/superdough-wasm/.gitignore create mode 100644 packages/superdough-wasm/README.md rename packages/{zig => superdough-wasm}/index.html (82%) rename packages/{zig => superdough-wasm}/main.js (85%) create mode 100644 packages/superdough-wasm/rustsaw/Cargo.lock create mode 100644 packages/superdough-wasm/rustsaw/Cargo.toml create mode 100644 packages/superdough-wasm/rustsaw/src/lib.rs rename packages/{zig => superdough-wasm}/worklet.js (100%) create mode 100755 packages/superdough-wasm/zigsaw/zigsaw.wasm rename packages/{zig/dsp.zig => superdough-wasm/zigsaw/zigsaw.zig} (100%) delete mode 100644 packages/zig/README.md delete mode 100755 packages/zig/dsp.wasm diff --git a/packages/superdough-wasm/.gitignore b/packages/superdough-wasm/.gitignore new file mode 100644 index 000000000..4f0e5318e --- /dev/null +++ b/packages/superdough-wasm/.gitignore @@ -0,0 +1 @@ +rustsaw/target \ No newline at end of file diff --git a/packages/superdough-wasm/README.md b/packages/superdough-wasm/README.md new file mode 100644 index 000000000..b55e54e53 --- /dev/null +++ b/packages/superdough-wasm/README.md @@ -0,0 +1,27 @@ +# 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 + + + +```sh +# (re)compile dsp.zig +cd zigsaw +zig build-lib zigsaw.zig -target wasm32-freestanding -dynamic -rdynamic -O ReleaseSmall +# run server +npx http-server .. -o +``` + +## rust + + + +```sh +# cargo install wasm-pack +cd rustsaw +wasm-pack build --target bundler +npx http-server .. -o +``` diff --git a/packages/zig/index.html b/packages/superdough-wasm/index.html similarity index 82% rename from packages/zig/index.html rename to packages/superdough-wasm/index.html index 35c23f255..9b4002c4a 100644 --- a/packages/zig/index.html +++ b/packages/superdough-wasm/index.html @@ -1,7 +1,7 @@ - ZIG / WASM Demo + WASM AudioWorklet Demo diff --git a/packages/zig/main.js b/packages/superdough-wasm/main.js similarity index 85% rename from packages/zig/main.js rename to packages/superdough-wasm/main.js index 3feefcf9d..4b76fb418 100644 --- a/packages/zig/main.js +++ b/packages/superdough-wasm/main.js @@ -5,7 +5,8 @@ document.getElementById('play').addEventListener('click', async () => { await ac.audioWorklet.addModule('./worklet.js'); const node = new AudioWorkletNode(ac, 'saw-processor'); - let res = await fetch('./dsp.wasm'); + let res = await fetch('./zigsaw/zigsaw.wasm'); + //let res = await fetch('./rustsaw/pkg/rustsaw_bg.wasm'); const buffer = await res.arrayBuffer(); node.port.onmessage = (e) => { if (e.data === 'OK') { diff --git a/packages/superdough-wasm/rustsaw/Cargo.lock b/packages/superdough-wasm/rustsaw/Cargo.lock new file mode 100644 index 000000000..b5a16f217 --- /dev/null +++ b/packages/superdough-wasm/rustsaw/Cargo.lock @@ -0,0 +1,123 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "bumpalo" +version = "3.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec" + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "log" +version = "0.4.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" + +[[package]] +name = "once_cell" +version = "1.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" + +[[package]] +name = "proc-macro2" +version = "1.0.76" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95fc56cda0b5c3325f5fbbd7ff9fda9e02bb00bb3dac51252d2f1bfa1cb8cc8c" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quote" +version = "1.0.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "rustsaw" +version = "0.1.0" +dependencies = [ + "wasm-bindgen", +] + +[[package]] +name = "syn" +version = "2.0.48" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "unicode-ident" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" + +[[package]] +name = "wasm-bindgen" +version = "0.2.89" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ed0d4f68a3015cc185aff4db9506a015f4b96f95303897bfa23f846db54064e" +dependencies = [ + "cfg-if", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.89" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b56f625e64f3a1084ded111c4d5f477df9f8c92df113852fa5a374dbda78826" +dependencies = [ + "bumpalo", + "log", + "once_cell", + "proc-macro2", + "quote", + "syn", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.89" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0162dbf37223cd2afce98f3d0785506dcb8d266223983e4b5b525859e6e182b2" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.89" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0eb82fcb7930ae6219a7ecfd55b217f5f0893484b7a13022ebb2b2bf20b5283" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.89" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ab9b36309365056cd639da3134bf87fa8f3d86008abf99e612384a6eecd459f" diff --git a/packages/superdough-wasm/rustsaw/Cargo.toml b/packages/superdough-wasm/rustsaw/Cargo.toml new file mode 100644 index 000000000..a59f89234 --- /dev/null +++ b/packages/superdough-wasm/rustsaw/Cargo.toml @@ -0,0 +1,13 @@ +[package] +name = "rustsaw" +version = "0.1.0" +authors = ["Your Name "] +description = "A sample project with wasm-pack" +license = "MIT/Apache-2.0" +edition = "2018" + +[lib] +crate-type = ["cdylib"] + +[dependencies] +wasm-bindgen = "0.2" diff --git a/packages/superdough-wasm/rustsaw/src/lib.rs b/packages/superdough-wasm/rustsaw/src/lib.rs new file mode 100644 index 000000000..6f119c68e --- /dev/null +++ b/packages/superdough-wasm/rustsaw/src/lib.rs @@ -0,0 +1,6 @@ +use wasm_bindgen::prelude::*; + +#[wasm_bindgen] +pub fn saw(t: f64, f: f64) -> f64 { + return (((f * t * 1.0) % 1.0) - 0.5) * 2.0; +} diff --git a/packages/zig/worklet.js b/packages/superdough-wasm/worklet.js similarity index 100% rename from packages/zig/worklet.js rename to packages/superdough-wasm/worklet.js diff --git a/packages/superdough-wasm/zigsaw/zigsaw.wasm b/packages/superdough-wasm/zigsaw/zigsaw.wasm new file mode 100755 index 0000000000000000000000000000000000000000..c2928a3e4b4eaf6197aa24349c5a6856fbae9f93 GIT binary patch literal 690 zcmZvY!A{#i5Qb-V*K5;Fl-zTf^)qlMYZZY|52c8lp;a$M5uzNRlEFrxh{uT1Lr**c zqL0!?;KnihYsV2tUCHb9&dmRR{^|I9%0$E|AE~nBQfoz&Xr`gv;EF?C|0S0Wm7RW{ zp8ou$NS_~H5Pf(tYM+FJ7dd}~0M_%?@TRV7%4vNuU!U4i99UfueH*Qg|DNVK3(wuc z7<~=bYgMVS8Vf(>s^D3!Kld>x{1q>H%uTU*|0gU5XL*8sr_XK$BK&*cFlXYB6+Mal zYrh4$aJfGkI8mL1PaCIX8?B~Twky3Y@FQ_$cV73PZ;IZ`>p(tJV?7pK&_SOi3;e@p z_+k`$gaoq_@*6Yai1zc~ELt^W~yGUc) zO&%Taq=}_^A4_AJ1=@qD4#@2!lHa${>W=-gl - -```sh -# (re)compile dsp.zig -zig build-lib dsp.zig -target wasm32-freestanding -dynamic -rdynamic -# run server -npx http-server -o -``` diff --git a/packages/zig/dsp.wasm b/packages/zig/dsp.wasm deleted file mode 100755 index b90185a38f5965613b76e1c2bea8001a7d561c75..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 368313 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 BdrJTS From 3cd49065c81d3ce41730b3bda12ce701ebc7a99f Mon Sep 17 00:00:00 2001 From: Felix Roos Date: Wed, 10 Jan 2024 21:32:20 +0100 Subject: [PATCH 06/10] prettierignore superdough-wasm --- .prettierignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.prettierignore b/.prettierignore index f4b94613c..13e1a47d4 100644 --- a/.prettierignore +++ b/.prettierignore @@ -10,3 +10,4 @@ paper pnpm-lock.yaml pnpm-workspace.yaml **/dev-dist +superdough-wasm From 9fd86458e6ed161fb62e98f0de8553aa1d7b7114 Mon Sep 17 00:00:00 2001 From: Felix Roos Date: Wed, 10 Jan 2024 21:44:16 +0100 Subject: [PATCH 07/10] add csaw --- packages/superdough-wasm/csaw/.gitignore | 1 + packages/superdough-wasm/csaw/csaw.c | 7 +++++++ packages/superdough-wasm/csaw/csaw.wasm | Bin 0 -> 1538 bytes packages/superdough-wasm/main.js | 3 ++- 4 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 packages/superdough-wasm/csaw/.gitignore create mode 100644 packages/superdough-wasm/csaw/csaw.c create mode 100755 packages/superdough-wasm/csaw/csaw.wasm diff --git a/packages/superdough-wasm/csaw/.gitignore b/packages/superdough-wasm/csaw/.gitignore new file mode 100644 index 000000000..69d4d83ec --- /dev/null +++ b/packages/superdough-wasm/csaw/.gitignore @@ -0,0 +1 @@ +csaw \ No newline at end of file diff --git a/packages/superdough-wasm/csaw/csaw.c b/packages/superdough-wasm/csaw/csaw.c new file mode 100644 index 000000000..6cc7594fb --- /dev/null +++ b/packages/superdough-wasm/csaw/csaw.c @@ -0,0 +1,7 @@ +#include +#include + +EMSCRIPTEN_KEEPALIVE +double saw(double t, double f) { + return fmod((f * t * 1.0), 1.0) - 0.5 * 2.0; +} diff --git a/packages/superdough-wasm/csaw/csaw.wasm b/packages/superdough-wasm/csaw/csaw.wasm new file mode 100755 index 0000000000000000000000000000000000000000..6edaa2d1a413fcadbde539f5ac88064b0eeac24e GIT binary patch literal 1538 zcma)+L2nyH6vyA2nVsEu?0Oy2mWCW=);?Hpt$?1$SQH^tA!rNYwszeOxOVJx?NE^1 z?4m?b4v6nSIB=l{u1FDIi6flCn@KhV;R7pcXXd?mzxluSW(|Y+E&>3)8TA2+J{Hgi zpn>LWxx{53mw3?UMd2*GI4JOd-@e6!2mpb(NE$eDpq~hE4-o^2ShAAI+oC{QmO{}0 z*IwZd?1tRUc4zsw3|eXWf<&al!DNyS7qfg0z~_S(fOpb#G<`bCv*9A$*`E#gd$0U2Qfsy{2n1GwL5xT`OJx(KP6QfFQv$Bem>+ZZy@ef{6oGux+-j@ho9IJWlv0 z4bT{Kk^yH)(7Su`vpsJAQMWbt%i@&~T5F7C-b&y^Q;2spYHQ-Qyz<*5abXCq^jOv!mZtK&?De68vW_ zY0*I?pp9zXn>yTrZ9cPm&pS+o(1tb}J3n_XDjK+79qdslVr5V0uOhlw)MM4nbcH`J#k-EgI>M;1}y{-Bt*jin5@Ug}2$3h911bV?QvVng8&dSl { await ac.audioWorklet.addModule('./worklet.js'); const node = new AudioWorkletNode(ac, 'saw-processor'); - let res = await fetch('./zigsaw/zigsaw.wasm'); + //let res = await fetch('./zigsaw/zigsaw.wasm'); + let res = await fetch('./csaw/csaw.wasm'); //let res = await fetch('./rustsaw/pkg/rustsaw_bg.wasm'); const buffer = await res.arrayBuffer(); node.port.onmessage = (e) => { From cb59d632a808a2c7bfcbd34370391128f1b725e1 Mon Sep 17 00:00:00 2001 From: Felix Roos Date: Wed, 10 Jan 2024 21:45:21 +0100 Subject: [PATCH 08/10] add c info to readme --- packages/superdough-wasm/README.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/packages/superdough-wasm/README.md b/packages/superdough-wasm/README.md index b55e54e53..19b1585da 100644 --- a/packages/superdough-wasm/README.md +++ b/packages/superdough-wasm/README.md @@ -25,3 +25,14 @@ cd rustsaw wasm-pack build --target bundler npx http-server .. -o ``` + +## c + + + +```sh +# brew install emscripten +cd csaw +emcc csaw.c -o csaw +npx http-server .. -o +``` From 700f0be0ba0154dfafcf4c4f1ee27f178d8d12fc Mon Sep 17 00:00:00 2001 From: Felix Roos Date: Wed, 10 Jan 2024 21:49:04 +0100 Subject: [PATCH 09/10] optimize c output --- packages/superdough-wasm/README.md | 2 +- packages/superdough-wasm/csaw/csaw.wasm | Bin 1538 -> 678 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/superdough-wasm/README.md b/packages/superdough-wasm/README.md index 19b1585da..c14acca70 100644 --- a/packages/superdough-wasm/README.md +++ b/packages/superdough-wasm/README.md @@ -33,6 +33,6 @@ npx http-server .. -o ```sh # brew install emscripten cd csaw -emcc csaw.c -o csaw +emcc -O2 csaw.c -o csaw npx http-server .. -o ``` diff --git a/packages/superdough-wasm/csaw/csaw.wasm b/packages/superdough-wasm/csaw/csaw.wasm index 6edaa2d1a413fcadbde539f5ac88064b0eeac24e..5e77520bf66d78fc556188bbd136d14581a98aad 100755 GIT binary patch literal 678 zcmb7B&2G~`5S|(D+NPU|azcp9+VBXyV@JRtH(G??v@ym=k)61;4HY7dEj5aAR&^HKUI}y1ulI_`@neS%|Q8`5bz=v`SSdRh5G@s*qj5Y9swdL4I0G1FE z&k#}Chz&JlyIc*wt%Y*Fy7n}g=EWC+2gY15qKTs{GjWv{C6AWT1>hrNCbJKdB8e;W z@zX4>Ci%=%(fcexI5H+Fidk;5JdWA|(7m#X;`B87oPagx@{^=wyadEScMLOb26^zu zvI*2Li>S61G}oZ<+K1o1Jv?6j3^(`Bed6~^5ombMJ~{55af5~*160}`;>wr9rjNS~ zyxnUAxMsNh>Z`{*L<>zXL=b{UJU>|ZVhHaw2A1lWx@k;Xo6d+C`QwrL4;*&X zlJ1nf;SC5+vfO<~TS?-zXZ8Lh^IDxj3SlG`|MuiwYPuO7ua;8F-ut>;^cJCM>Z|3g h+Wm{$?@B`0xJtkiP&PY!3hIb+4QY6G?(3)8TA2+J{Hgi zpn>LWxx{53mw3?UMd2*GI4JOd-@e6!2mpb(NE$eDpq~hE4-o^2ShAAI+oC{QmO{}0 z*IwZd?1tRUc4zsw3|eXWf<&al!DNyS7qfg0z~_S(fOpb#G<`bCv*9A$*`E#gd$0U2Qfsy{2n1GwL5xT`OJx(KP6QfFQv$Bem>+ZZy@ef{6oGux+-j@ho9IJWlv0 z4bT{Kk^yH)(7Su`vpsJAQMWbt%i@&~T5F7C-b&y^Q;2spYHQ-Qyz<*5abXCq^jOv!mZtK&?De68vW_ zY0*I?pp9zXn>yTrZ9cPm&pS+o(1tb}J3n_XDjK+79qdslVr5V0uOhlw)MM4nbcH`J#k-EgI>M;1}y{-Bt*jin5@Ug}2$3h911bV?QvVng8&dSl Date: Wed, 10 Jan 2024 22:08:41 +0100 Subject: [PATCH 10/10] add assemblyscript version --- packages/superdough-wasm/README.md | 33 +++++++++--- packages/superdough-wasm/ascsaw/asconfig.json | 22 ++++++++ .../superdough-wasm/ascsaw/assembly/index.ts | 3 ++ .../ascsaw/assembly/tsconfig.json | 6 +++ .../superdough-wasm/ascsaw/build/.gitignore | 2 + .../superdough-wasm/ascsaw/package-lock.json | 54 +++++++++++++++++++ packages/superdough-wasm/ascsaw/package.json | 25 +++++++++ packages/superdough-wasm/main.js | 3 +- 8 files changed, 140 insertions(+), 8 deletions(-) create mode 100644 packages/superdough-wasm/ascsaw/asconfig.json create mode 100644 packages/superdough-wasm/ascsaw/assembly/index.ts create mode 100644 packages/superdough-wasm/ascsaw/assembly/tsconfig.json create mode 100644 packages/superdough-wasm/ascsaw/build/.gitignore create mode 100644 packages/superdough-wasm/ascsaw/package-lock.json create mode 100644 packages/superdough-wasm/ascsaw/package.json diff --git a/packages/superdough-wasm/README.md b/packages/superdough-wasm/README.md index c14acca70..75a2e9c0c 100644 --- a/packages/superdough-wasm/README.md +++ b/packages/superdough-wasm/README.md @@ -9,23 +9,28 @@ WASM can be compiled from several languages, which are tested here.. ```sh # (re)compile dsp.zig +brew install zig # prequisite cd zigsaw -zig build-lib zigsaw.zig -target wasm32-freestanding -dynamic -rdynamic -O ReleaseSmall -# run server -npx http-server .. -o +zig build-lib zigsaw.zig -target wasm32-freestanding -dynamic -rdynamic -O ReleaseSmall # build +npx http-server .. -o # run ``` +wasm file size: 690B + ## rust ```sh -# cargo install wasm-pack +# https://www.rust-lang.org/tools/install +cargo install wasm-pack # prequisite cd rustsaw -wasm-pack build --target bundler -npx http-server .. -o +wasm-pack build --target bundler # build +npx http-server .. -o # run ``` +wasm file size: 653B + ## c @@ -33,6 +38,20 @@ npx http-server .. -o ```sh # brew install emscripten cd csaw -emcc -O2 csaw.c -o csaw +emcc -O2 csaw.c -o csaw # build npx http-server .. -o ``` + +wasm file size: 680B + +## assemblyscript + + + +```sh +cd ascsaw +# npm i +npm run asbuild # build +``` + +wasm file size: 122B ! diff --git a/packages/superdough-wasm/ascsaw/asconfig.json b/packages/superdough-wasm/ascsaw/asconfig.json new file mode 100644 index 000000000..fab108684 --- /dev/null +++ b/packages/superdough-wasm/ascsaw/asconfig.json @@ -0,0 +1,22 @@ +{ + "targets": { + "debug": { + "outFile": "build/debug.wasm", + "textFile": "build/debug.wat", + "sourceMap": true, + "debug": true + }, + "release": { + "outFile": "build/release.wasm", + "textFile": "build/release.wat", + "sourceMap": true, + "optimizeLevel": 3, + "shrinkLevel": 2, + "converge": false, + "noAssert": false + } + }, + "options": { + "bindings": "esm" + } +} \ No newline at end of file diff --git a/packages/superdough-wasm/ascsaw/assembly/index.ts b/packages/superdough-wasm/ascsaw/assembly/index.ts new file mode 100644 index 000000000..2e8ca7b02 --- /dev/null +++ b/packages/superdough-wasm/ascsaw/assembly/index.ts @@ -0,0 +1,3 @@ +export function saw(t: f64, f: f64): f64 { + return (((f * t * 1.0) % 1.0) - 0.5) * 2.0; +} diff --git a/packages/superdough-wasm/ascsaw/assembly/tsconfig.json b/packages/superdough-wasm/ascsaw/assembly/tsconfig.json new file mode 100644 index 000000000..e28fcf257 --- /dev/null +++ b/packages/superdough-wasm/ascsaw/assembly/tsconfig.json @@ -0,0 +1,6 @@ +{ + "extends": "assemblyscript/std/assembly.json", + "include": [ + "./**/*.ts" + ] +} \ No newline at end of file diff --git a/packages/superdough-wasm/ascsaw/build/.gitignore b/packages/superdough-wasm/ascsaw/build/.gitignore new file mode 100644 index 000000000..d6b7ef32c --- /dev/null +++ b/packages/superdough-wasm/ascsaw/build/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/packages/superdough-wasm/ascsaw/package-lock.json b/packages/superdough-wasm/ascsaw/package-lock.json new file mode 100644 index 000000000..d808c9688 --- /dev/null +++ b/packages/superdough-wasm/ascsaw/package-lock.json @@ -0,0 +1,54 @@ +{ + "name": "ascsaw", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "ascsaw", + "version": "1.0.0", + "license": "ISC", + "devDependencies": { + "assemblyscript": "^0.27.22" + } + }, + "node_modules/assemblyscript": { + "version": "0.27.22", + "resolved": "https://registry.npmjs.org/assemblyscript/-/assemblyscript-0.27.22.tgz", + "integrity": "sha512-6ClobsR4Hxn6K0daYp/+n9qWTqVbpdVeSGSVDqRvUEz66vvFb8atS6nLm+fnQ54JXuXmzLQy0uWYYgB8G59btQ==", + "dev": true, + "dependencies": { + "binaryen": "116.0.0-nightly.20231102", + "long": "^5.2.1" + }, + "bin": { + "asc": "bin/asc.js", + "asinit": "bin/asinit.js" + }, + "engines": { + "node": ">=16", + "npm": ">=7" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/assemblyscript" + } + }, + "node_modules/binaryen": { + "version": "116.0.0-nightly.20231102", + "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-116.0.0-nightly.20231102.tgz", + "integrity": "sha512-aPU9tlKdw/gcXx6u4PxtDgOtGjg/ZKnYdk23ctYb70GxZgPhWnGWmnBt01aV5dt5yFFo2V4rbB7SzpSFhViFQA==", + "dev": true, + "bin": { + "wasm-opt": "bin/wasm-opt", + "wasm2js": "bin/wasm2js" + } + }, + "node_modules/long": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz", + "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==", + "dev": true + } + } +} diff --git a/packages/superdough-wasm/ascsaw/package.json b/packages/superdough-wasm/ascsaw/package.json new file mode 100644 index 000000000..27371a3c1 --- /dev/null +++ b/packages/superdough-wasm/ascsaw/package.json @@ -0,0 +1,25 @@ +{ + "name": "ascsaw", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "test": "node tests", + "asbuild:debug": "asc assembly/index.ts --target debug", + "asbuild:release": "asc assembly/index.ts --target release", + "asbuild": "npm run asbuild:debug && npm run asbuild:release", + "start": "npx serve ." + }, + "author": "", + "license": "ISC", + "devDependencies": { + "assemblyscript": "^0.27.22" + }, + "type": "module", + "exports": { + ".": { + "import": "./build/release.js", + "types": "./build/release.d.ts" + } + } +} \ No newline at end of file diff --git a/packages/superdough-wasm/main.js b/packages/superdough-wasm/main.js index 62768819e..0206df915 100644 --- a/packages/superdough-wasm/main.js +++ b/packages/superdough-wasm/main.js @@ -6,7 +6,8 @@ document.getElementById('play').addEventListener('click', async () => { const node = new AudioWorkletNode(ac, 'saw-processor'); //let res = await fetch('./zigsaw/zigsaw.wasm'); - let res = await fetch('./csaw/csaw.wasm'); + // let res = await fetch('./csaw/csaw.wasm'); + let res = await fetch('./ascsaw/build/release.wasm'); //let res = await fetch('./rustsaw/pkg/rustsaw_bg.wasm'); const buffer = await res.arrayBuffer(); node.port.onmessage = (e) => {