FSVR v0.2.0
FSVR v0.2.0: the Yamaha FS1R as a plugin and a standalone with the front panel as its GUI, its firmware logic rewritten from the decompiled ROM. Thanks to rgwan/fs1r_firmware_RE for the firmware and ROM dumps everything here is built on.
New since v0.1.0
- The plugin: VST3, CLAP and a standalone (JUCE), with the FS1R front panel and its editor pages as the GUI. Every control is a sysex parameter change into the engine and the engine's echo is what moves the control, so the plugin and the console always agree. 893 parameters with host automation, MIDI learn, a patch browser for
.syxfiles, the EPROM banks and DX7 voices, and host state stored as the FS1R's own bulk dumps. - Everything v0.1.0 lacked: the per-voice filter, the three effect blocks (reverb, variation, insertion) in the XG topology with the master EQ, pan, LFO2, Fseq scratch mode and every loop mode.
- Five CPU-side formulas that had been read but not confirmed are settled against the firmware, and the formant operator is checked against the firmware's own frequency formula as part of
build.bat test. - The engine costs a third of what it did: one note on the four-part "Everybody" performance went from 30% of a core to 9%, sixteen notes from 254% to 61%. Chords on multi-part performances no longer stutter.
- Builds land in
bin/, andbuild.bat pluginbuilds all three formats.
The downloads
FS1R.emu-0.2.0-Standalone-win64.zip: the standalone app,FS1R.emu.exe, with thepresets/folder (the.syxvoices and the index the patch browser reads). Unzip anywhere and run it. Options > Audio/MIDI Settings picks the audio and MIDI devices; with the default Windows Audio device type the buffer is the driver's 10 ms, so choose Windows Audio (Exclusive Mode) or DirectSound if you want to set a size. Press EPROM... and point it at a 2 MB v1.20 dump for the 1408 preset voices and 360 performances; the dump is not shipped.FS1R.emu-0.2.0-VST3-win64.zip:FS1R.emu.vst3, a bundle folder. Copy the whole folder intoC:\Program Files\Common Files\VST3\and rescan in the DAW.FS1R.emu-0.2.0-CLAP-win64.zip:FS1R.emu.clap, one file. Copy it intoC:\Program Files\Common Files\CLAP\and rescan.fs1r_emu-0.2.0-console-win64.zip: the command-line console from v0.1.0,fs1r_emu.exe, on the same engine: MIDI in and out over WinMM, offline WAV rendering, the self checks. It asks once for a MIDI input and remembers it infs1r_emu.inibeside the exe;fs1r_emu.exe -llists the ports.
All four are 64-bit Windows builds of the same commit. The plugins read presets/index.csv from the folder next to their binary or any folder above it. CI attaches fs1r_emu-plugin-linux.zip and fs1r_emu-plugin-macos.zip (the same three formats built on those platforms, not tested here) and its own Windows bundles as the workflow finishes.
Not yet: calibration against a real unit. The chip-side models (EG shape, formant window, filter, effect algorithms) are inferred, and every constant behind them sits in namespace cal so that calibrating is one table edit. The panel is drawn as vectors, not a photographed skin.
SHA-256
FS1R.emu-0.2.0-Standalone-win64.zip1e55c85b3407a09b9e653f637ae17627fc4f1a0f3b0b0eee69a195877ccb47cdFS1R.emu-0.2.0-VST3-win64.zipabbb2d55314bde21605785b157c0a31bbee7ea1393327c866e8b9fb36fd1c8a4FS1R.emu-0.2.0-CLAP-win64.zip7ef93eaa83db6a3ba9bc47e845e95b38a2bd5c0cfbc9777dfb9487f5b643af07fs1r_emu-0.2.0-console-win64.zip66f04741f5e3ea3e054dd458c492444b5290d222da18147836a11ab0d772843f