musica.studiodiscord.

← all software

FSVR

Formant Synthesizer Virtual Rack, the Yamaha FS1R rebuilt from its firmware

The 1998 Yamaha FS1R as a plugin and a standalone, its firmware logic rewritten in C++: four parts, 32 channels, the filter, both LFOs, the effects, the factory banks and Fseq playback, with an editor for every parameter the unit has.

James HansenZhiyuan WanWouter van Nifterick

EvilDragonDezzo

v0.8.0free and open sourceWindows, macOS, LinuxVST3, CLAP, VST2, AU or standalone

download. source Discord

The standalone on its Parts page: all four parts side by side, the operator column on the right and the keyboard below.
The standalone on its Parts page: all four parts side by side, the operator column on the right and the keyboard below.

downloads. v0.8.0

v0.8.0 on GitHub, with checksums and older versions →

what it has.

why it exists.

I have always loved the sound of FM synthesis. It defined the SEGA Genesis/Mega Drive, one of my favourite gaming consoles. I first saw an FS1R in musictrackjp's demo and review in 2010 and have wanted one since. It was made for two years, its YMP706 tone generator was never documented and went into exactly two products, and a working one now costs more than most people want to spend on a box with a two-line display.

In 2025 Zhiyuan Wan (rgwan) started taking a real FS1R apart, reading the SH7044's 256 KB internal flash out through a hooked UART, dumping the 2 MB EPROM and the PLG150-DX ROM, capturing the board's own UART traffic, and publishing all of it as rgwan/fs1r_firmware_RE, with a Ghidra project that already had the boot, loader, flash and LCD code named. Progress went up along the way on the yamahamusicians.com forum. None of this exists without that work.

I found it just over a year later, in September 2026, and started reading the decompiled firmware to see whether the CPU side could be rewritten rather than emulated. It could, so I built FSVR on top of rgwan's material. We are working on it together now: Zhiyuan runs a patched firmware on the unit to poke memory and read registers back, and records the measurements the engine is calibrated against, and Wouter van Nifterick (WouterVanNifterick) built the emulated VOP3 core the filter and effects run on. Hardware analysis is still running.

It is a rewrite, not an emulation of the board. The note-on path, the 192.3 Hz tick pipeline, the parameter conversion tables and the 88-algorithm routing table are read straight out of the decompiled firmware and ported to C++. Nobody has register documentation for the YMP706 tone generator, so it stays a model, and every constant behind it sits in one namespace in the source where calibrating against a recording of a real unit is a single table edit. The two VOP3 DSPs, the filter and the effects, are the exception: since 0.8.0 they run the firmware's own microcode on an emulated YSS236, its instruction set measured on Zhiyuan's unit, and compiled to native code at run time.

The tooling is a large part of why this is possible at all. The first working recreation was written with Claude Fable 5.1, and the analysis has carried on with each frontier model since, reading decompiled 1998 firmware at something close to source level. Anyone working on the project can use the same tools through the Discord.

Next is rewriting the effects in C++, each one checked against the emulation, which stays the exact reference. Until then FSVR ships the emulation itself, compiled with AsmJit to x86-64 or arm64, which runs both chips in about a fifth of one x86-64 core.

the community.

There is a FSVR channel on the musica.studio Discord. Bug reports, feature requests, questions, and screenshots of what you made with it all go there, and it is the fastest way to reach me about this project.

join the discord.

good to know.

An installer for Windows, macOS and Linux, or each format as its own zip, with no dependencies. The installer uninstalls from Settings > Apps on Windows, and its updater only ever reads musica.studio.

Free and open source under the GPLv3. No Yamaha firmware or ROM image ships in the repository, and the tools that regenerate every extracted table from a dump you make yourself are in it.

Yamaha and FS1R are trademarks of Yamaha Corporation. This project is not affiliated with, endorsed by, or connected to Yamaha in any way.