WebAssembly Brings Real Music Software to Web Browsers
Alex Kraieski
Within my lifetime as a guitarist (my first Stratocaster is from 08) technology has greatly improved the experience of learning guitar, but various AI/tech platforms are also currently undermining human artistry and content. So when there are technologies that can offer something positive, I think it's important to identify and communicate opportunities.
As you've probably already guessed from the title and hero image, this article is about WebAssembly (abbreviated Wasm). Wasm allows programs from various languages to be compiled in a format where they run in web browsers.
The browser is an amazing platform for sharing stuff frictionlessly, but historically it has been dependent on JavaScript for computing. JavaScript has powered a lot of great experiences, but there's a massive universe of software written in other language by human experts in fields like math, engineering, art, data analysis, DSP and more.
When you use a DAW or a plugin with a DAW, that software is the result of compiling code (often C++) for your operating system and architecture. In order to use this software, you have to download and install it. The browser has a lot of super powers, including the fact that you can run "applications" on multiple platforms without anyone having to install anything or go through an app store. Platforms on the web can also let users share projects, content, and more with simple URL links. Music software isn't just a hypothetical example either, so let's dive into an example of browser-based DSP and my thoughts about new kinds of content it enables.
An example: TONE3000's NAM fork
Neural Amp modeler is an industry-standard project for open-source amp modeling that includes deep learning training and DSP components. TONE3000, an online platform for sharing
This really transforms the experience for that platform by letting you try out tones with various DIs before you download. And the magic of this is that NAM is already reputable software that has its place in the DAW workflows of guitar enthusiasts and professionals. This is what makes this "real" and not a toy in my view, it's a friction-reducing extension of an existing ecosystem into the web platform.
For example, I can send friends and family who don't know much about DSP or guitars a link to a capture of my amp, and they can try it out without having to download anything or have NAM installed for a DAW.
The best part of this is that this Wasm NAM player is available with the permissive MIT license on Github, so developers and website owners can use it in their own project and contribute enhancements to the community.
Concluding thoughts: where are the opportunities?
Imagine an online guitar lesson or article with built-in DSP that lets you play along with the same amp simulation as the instructor and try their tone customizations. This is a rapidly emerging area, not science fiction.
For musicians that create online content or offer lessons, I think there's an opportunity to embrace platforms like TONE3000 to add an extra layer of engagement (this is an idea that I've talked about more broadly in a blog post on my personal website). You can also build new types of experiences into your own sites and apps.
Also, the example of running the DSP portion of NAM in the browser demonstrates that plugin makers have various opportunities (marketing, education, etc.) from a technically-feasible path with Wasm. Theoretically, DAW companies can compile their DAWs for browsers with Wasm, but plugins won't work without some sort of recompilation for Wasm (as far as I understand). But the NAM example shows that running standalone DSP in browsers without a DAW is more than viable.
I hope to explore the idea of music articles with built-in DSP examples further, but I think the opportunity here is much more massive than that. I hope this article article inspires some ideas, and I am interested in hearing your thoughts in the comments (through Bluesky).
Thanks for reading!
Comments
Reply on Bluesky to join the conversation.