View on GitHub

Opusenc.js

JavaScript opus encoder

Download this project as a .zip file Download this project as a tar.gz file
Opusenc.js is a JavaScript port of the opusenc tool, which in turn is part of the opus-tools collection, created with Emscripten. To say it in simple words, one could download all the static files making up this page and running them offline in a modern browser. No server side processing is required. Together with the sound recording API of contemporary browsers, one can not only build powerful audio editing solutions but also sound recording tools.
What is Opus and why is Opus great:

Opus is a totally open, royalty-free, highly versatile audio codec. Opus is unmatched for interactive speech and music transmission over the Internet, but is also intended for storage and streaming applications. It is standardized by the Internet Engineering Task Force (IETF) as RFC 6716 which incorporated technology from Skype's SILK codec and Xiph.Org's CELT codec.

opus-codec.org
They are humble enough not to mention those fairly high compression rates while still preserving a superior audio quality.

Demo

Try Opusenc.js, right here, right now. Clicking run will prompt for a WAV, FLAC, OGG, AIFF, or RAW* file.

Browser support

In order to run Opusenc in a browser, there has to be support for a couple of HTML5 features.

JavaScript PostMessage WebWorkers Blob constructor WebAssembly (optional)

Additional command line switches

encoder@rillke.com$ opusenc infile.[wav|flac|aiff] encoded.opus
 

Borrow sample audio files

  • Loading ...

Ways to give

Opusenc made your day?

Comments

JavaScript error: Either JavaScript is still loading, it is disabled or something went terribly wrong. The demo will most likely not work. Please report this issue so it can be fixed.

Running from file:/// When running from file:/// protocol, it might be impossible to load the worker code due to security restrictions. Chrome and Opera can be started with the --allow-file-access-from-files command line argument to bypass this kind of protection. However, if access from files is granted, the browser should not be used to browse other sites.

JavaScript error: Either JavaScript is still loading, it is disabled or something went terribly wrong. The demo will most likely not work. Please report this issue so it can be fixed.

Running from file:/// When running from file:/// protocol, it might be impossible to load the worker code due to security restrictions. Chrome and Opera can be started with the --allow-file-access-from-files command line argument to bypass this kind of protection. However, if access from files is granted, the browser should not be used to browse other sites.

Drop your file here!