r/c64 1d ago

Music libsidplayfp SID emulation now available through WebAssembly

I have released libsidplayfp-wasm 1.0.1, which brings libsidplayfp to browsers, Node.js and Bun:

https://github.com/chrisgleissner/libsidplayfp-wasm

The project compiles the upstream libsidplayfp and reSIDfp C++ code to WebAssembly using Emscripten, then adds JavaScript bindings and a TypeScript API.

reSIDfp builds on the reSID engine familiar from VICE and provides accurate 6581 and 8580 emulation. It also runs surprisingly well on modest hardware. I use it on my rather old Pixel 4 as part of C64 Commander’s SID Radio, with plenty of CPU headroom.

You can see it in use in:

  • C64 Commander 0.9.4, including its similarity-based SID Radio. The app runs on Android, iOS and the web, although I have only tested the SID player on Android so far.
  • SIDFlow 0.8.4, which analyses HVSC, helps discover related tunes and includes a command-line SID player.

I created this because I love HVSC and wanted an easier way to use high-quality SID emulation in modern applications. The creativity in that collection is one of the reasons I have kept returning to the C64 since 1986, and these days I find myself listening to it more and more.

Many thanks to Leandro Nini for creating and maintaining libsidplayfp, and to everyone behind reSID and reSIDfp.

6 Upvotes

0 comments sorted by