WebAssembly, the portable code format for making the web faster, will be extended to digital signal processing with a client-side library now in development.

The WebDSP library features a collection of algorithms for building web applications operating on media data. Methods are written in C++, compiled to WebAssembly (wasm), and exposed as vanilla JavaScript functions.

[ Only on InfoWorld: A beginner's guide to Angular. Get started today! | Keep up with hot topics in programming with InfoWorld's App Dev Report newsletter. ]

"WebDSP outperforms existing client-side DSP libraries, and it suggests an architecture for future JavaScript libraries, which leverage the power of WebAssembly modules," WebDSP co-developer Deep Pulusani said. "With our library, you can easily manipulate video on a scale that would previously freeze the browser."

Holding the dual potential for faster web applications and enabling other languages besides JavaScript to run in the browser, WebAssembly has had the backing of browser vendors, including Apple, Google, Microsoft, and Mozilla. It recently reached minimum viable product status. WebDSP developers are bullish on WebAssembly. "To tackle client-side digital signal processing, it's clear that WebAssembly is the right tool," Pulusani said. "In our performance tests, which you can demo here, we were able to surpass JavaScript performance by at least 200 percent."

WebDSP is currently in beta, and development plans call for adding methods to directly operate on DOM elements as well as audio-specific processing algorithms. For browsers that are not WebAssembly-enabled, WebSDP provides JavaScript equivalents for its algorithms Pulusani said. Developers of WebDSP also have released a build tool for WebAssembly, called wasm-init, that provides a template and tool chain, so users can build their own wasm modules.