Skip to content

FSVR v0.2.0

Choose a tag to compare

@jameshansen jameshansen released this 15 Sep 05:19
· 208 commits to main since this release

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 .syx files, 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/, and build.bat plugin builds all three formats.

The downloads

  • FS1R.emu-0.2.0-Standalone-win64.zip: the standalone app, FS1R.emu.exe, with the presets/ folder (the .syx voices 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 into C:\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 into C:\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 in fs1r_emu.ini beside the exe; fs1r_emu.exe -l lists 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.zip 1e55c85b3407a09b9e653f637ae17627fc4f1a0f3b0b0eee69a195877ccb47cd
  • FS1R.emu-0.2.0-VST3-win64.zip abbb2d55314bde21605785b157c0a31bbee7ea1393327c866e8b9fb36fd1c8a4
  • FS1R.emu-0.2.0-CLAP-win64.zip 7ef93eaa83db6a3ba9bc47e845e95b38a2bd5c0cfbc9777dfb9487f5b643af07
  • fs1r_emu-0.2.0-console-win64.zip 66f04741f5e3ea3e054dd458c492444b5290d222da18147836a11ab0d772843f