whisper.cpp/examples/command.wasm
Daniel Bevenius 9791647653
wasm : add note about worker.js file generation [no ci] (#3133)
This commit updates the documentation for the WASM examples to include a
note about the generation of the `worker.js` file. As of Emscripten
3.1.58 (April 2024), separate worker.js files are no longer generated
and the worker is embedded in the main JS file.

The motivation for this change is to inform users about the new behavior
of Emscripten and why the `worker.js` file may not be present.

Refs: https://github.com/ggml-org/whisper.cpp/issues/3123
2025-05-09 15:42:45 +02:00
..
CMakeLists.txt stream.wasm : add HEAPU8 to exported runtime methods (#3130) 2025-05-08 16:58:34 +02:00
emscripten.cpp whisper : add context param to disable gpu (#1293) 2023-11-06 11:04:24 +02:00
index-tmpl.html ci : add github pages workflow for wasm examples (#2969) 2025-03-31 11:34:40 +02:00
README.md wasm : add note about worker.js file generation [no ci] (#3133) 2025-05-09 15:42:45 +02:00

command.wasm

This is a basic Voice Assistant example that accepts voice commands from the microphone. It runs in fully in the browser via WebAseembly.

Online demo: https://ggerganov.github.io/whisper.cpp/command.wasm

Terminal version: examples/command

Build instructions

# build using Emscripten (v3.1.2)
git clone https://github.com/ggerganov/whisper.cpp
cd whisper.cpp
mkdir build-em && cd build-em
emcmake cmake ..
make -j libcommand

The example can then be started by running a local HTTP server:

python3 examples/server.py

And then opening a browser to the following URL: http://localhost:8000/command.wasm/

To run the example in a different server, you need to copy the following files to the server's HTTP path:

cp bin/command.wasm/*       /path/to/html/
cp bin/libcommand.js        /path/to/html/
cp bin/libcommand.worker.js /path/to/html/

📝 Note: As of Emscripten 3.1.58 (April 2024), separate worker.js files are no longer generated and the worker is embedded in the main JS file. So the worker file will not be geneated for versions later than 3.1.58.