A secure MP3 encoder, powered by Web Assembly. Try it out.
The underlying tech stack is based on the following:
libmp3lame
, a classic C library for encoding audio to MP3emscripten
is used to compilelibmp3lame
and C code to Web Assembly.- Web Assembly runs native code on the client, allowing us to do memory-heavy stuff in the browser.
- All the emscripten web assembly action is done in Docker, for better portability and C lang dependency management.
- Frontend offloads the web assembly operations to web workers for better performance.
- Frontend built with React, Emotion, and Parcel Bundler
- yarn v1.0.0 or higher
- docker
- GNU make
make install
- install docker deps and frontend depsmake build-docker
- builds the docker image, the environment for emscripten to run in, compileslibmp3lame
make build-wasm
- compiles the web assembly + javascript wrapperyarn start
- run the dev server, openhttp://localhost:1234/
to see the app runningyarn build
- build and prerender for prod deployment
If you experience inconveniently long install times, please try running this command before make install
:
export PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true