Full blown VCV Rack in browser

Use VCV Rack in browser !



VCV Rack + Emscripten



Pretty impressive!

Firefox Nightly really smooth performance… indeed impressive.
If only it had URL encoded .vcv file :slight_smile: would be really neat way to quickly share ideas.

I wonder if @Vortico’s license agreement allows for him to basically sell Rack, as that is what he intends to do, apparently.

That’s pretty cool emscripten is very powerful.

Lol, that guys plays Dwarf fortress ! no wonder he created such an amazing thing such as Vcv in browser, that game is so hard to play! I never managed to fully get into Dwarf fortress but it’s one of my favourite games ever :smile:

This is very exciting. One issue off the bat is that I get dropouts whenever i plug/unplug a cable, or when I interact with any other tab in my browser. I suspect its a resource issue, as opening another program I also get dropouts.

Anyone have access to the source code? I’m trying to find it, as I’d love to help improve it! I’ve got a project coming up that’d really benefit from it as well :slight_smile:

This is why browser-based DAWs won’t really catch on, unless serious changes are made to allow real-time DSP with Javascript and Web Audio in the browser.

Vitaly doesn’t release the source for his projects, which is why he’s stuck with a Rack v0.5 fork instead of v1 due to the GPLv3 relicense.

What, again?? miRack source code (apart from iOS-specific one) is and has always been available. Copying from here:

All the code is in this repo. To build, you need to set WEB environment variable and just run make dep / make, like so (on osx/linux) “WEB=1 made dep”. There may be some paths to emscripten needed to be set, I’m not sure. I believe it is compiling into WebAssembly.

Unfortunately when working on the web version, I discovered that audio processing in web browsers still had issues, and I was experiencing audio artefacts even with simple patches. I remember discussions that audio processing in browser is not running at high/realtime priority (at least in browser/os combinations I was using). This is why I stopped developing the web version. Maybe this issue (and some other smaller ones) has already been resolved in current versions of browsers, I don’t know.

If anyone wants to continue this work, feel free to ask any specific questions about the build process or the code, I’ll help with what I still remember.

Good to hear.

I guess people can’t find “web version code” just because there’s no such. It’s the same code with a few #ifdef WEB's (and a different audio output implementation of course).

I know this is old, but I just found this which is not only Rack (Cardinal) but Rack 2, and is still being updated.

yeah I maintain that one :blush: There is also the mini version at https://minicardinal.kx.studio/ if you want to try it without having to download ~90Mb of data. (though there is browser-side caching active, so only first page load takes a bit more time, or whenever I update it)

The official discussion area for this web-assembly build is at Discussion and development of web/wasm version · Issue #287 · DISTRHO/Cardinal · GitHub

Let me know if you have any questions!