Repository navigation
Download
| Installer | ||
|---|---|---|
| Windows | FSVR-Windows-Installer.exe | Run it; it asks for admin rights to install into Program Files |
| macOS | FSVR-MacOS-Installer.zip | Unzip and open FSVR-MacOS-Installer; it is not signed, so on macOS 15 and later click Open Anyway under System Settings > Privacy & Security after the first try, and on earlier versions right-click it and choose Open |
| Linux | FSVR-Linux-Installer | chmod +x FSVR-Linux-Installer, then run it |
The installer puts every format in place (VST3, CLAP, VST2, the 32-bit VST2 with its DXi, AU and the standalone) and can keep FSVR up to date. To install one format by hand instead, take its own zip from the list below, FSVR-<OS>-<format>.zip. FSVR-MacOS-Update is for the updater, not for downloading.
FSVR v0.8.4: the open items measured on the unit and fixed, true digital silence, the Bonus and Templates banks, copy and paste, and WouterVanNifterick's browser filter, zoom keys, Fseq level controls and .fs1 import.
This round answers #56 (TheBreathalyzer's zippery breath-controlled filter), #57 (urbient: no PipeWire output on openSUSE Tumbleweed), #72 (Op1's FM matrix amount) and #79 (OP Att and the modulation index); rgwan's twenty-five plain-MIDI takes of 2026-10-26 and the silence and cutoff takes beside them; and WouterVanNifterick's pull requests #60, #61, #62, #63, #83, #86, #89 and #90.
The open items, measured and fixed. Twenty-five takes off rgwan's S/PDIF tap, each read against render_capture's render of the same file. OP Att sent as an edit reaches a modulator until the algorithm changes, as FUN_00032624 skips the carrier test; CARRIER_DB measures 1.5 (6.03 and 12.05 dB). A key-sync-off operator starts where its generator ran on to, and a mono part takes back its own channel. A modulated formant grain keeps reading its window past its end (US5610354), so a 0 Hz formant under a sine matches at 21 settings within 0.3 dB, where it lost 4 to 23. The frequency EG holds its start 3 samples and plays rates 57/58 and 61/62 swapped, 326 settings to 0.026 cycle rms. The pitch EG's first step waits for the next tick, which was most of Teck Hook's level (PrA Hook within 0.6 dB at every step). The filter loop costs nothing (FLT_LOSS 1.0, was 0.8681), and a performance load starts portamento from 0x53AA.
Detune and fine as the unit plays them. A part's detune band now comes from the key played, before any note shift, so Teck Hook's layers beat at 3.27, 0.48 and 2.76 Hz on note 72 against the unit's 3.22, 0.46 and 2.73, where FSVR's moved at about 0.9 Hz. A fine of 100 or more plays as the next coarse step, as one sine on the unit shows to four places; 27 factory operators store it, and Tech Lead no longer plays 9 cents flat.
Fixed operators take their frequency EG (WouterVanNifterick, #62), so A123 Drum Kit 3's kick has its pitch sweep. Formant grains, the channel pitch and the noise centres run off the phase generator (WouterVanNifterick, #61). A part's notes stop when its receive changes (WouterVanNifterick, #60), as the firmware does, rather than hanging when the part is turned off.
Silence is digital zero. On rgwan's unit a voiced operator is digital zero from register 237 (89.2 dB) and a noise operator from 252 (94.8 dB); the engine played output level 0 at -96 dB and now cuts where the chip does. After any note the output sat on -1 DAC step for good where the unit is zero; it now returns to 0.0. The note phase, part pan 0 and the S&H LFO draw on a generator per instance instead of the C library's rand(), so renders match on every platform and one instance's notes leave another's bit for bit the same.
A controller on filter cutoff glides (#56, TheBreathalyzer). The unit steps a semitone per byte, measured on rgwan's unit (the filter opens in 1.1 to 1.9 ms there, 0.8 to 2.0 in the engine's step); FSVR now glides the cutoff over 10 ms, listed in docs/Differences.md. Breath control on the WX5 bank's performances no longer zippers.
The Yamaha FS1R (Bonus) and Templates banks. Yamaha's Bonus Tool Pack, recovered from the web archive: Best of DX Voice, Popular, Cyber and Jan Beiling's WX5 soundbank, 512 performances with the voices they play. Templates holds Init Patch, two silences, FM Pair, Additive, Formant and Noise. Both are read only and sit under the factory bank.
Copy and paste, and editor fixes. Right-click menus copy and paste an operator, an envelope and a part. Fseq speeds 0.5 to 9.9, which played nothing, are skipped and the clock settings read MIDI 1/4 to MIDI 4/1. The frequency readout repaints when Fine moves. A double-click on Op1's FM matrix amount sets it to 0 (#72). OP Att's tooltip says it is the carrier level correction (#79).
The library browser (WouterVanNifterick). A filter box in the header narrows the list as you type, in any column, keeps the loaded row lit, and clears with its cross or on another bank (#90). The column titles lose their leading bars (#83). Ctrl+Minus, Ctrl+Plus and Ctrl+Period step the window's scale (#89).
.fs1 files and drag and drop (WouterVanNifterick, #63). Kirill M. Katnelson's FS1R Editor format imports, by Import, by the library folder or dropped on the window; several files dropped at once share one bank, each performance with its own voices.
The Fseq greys the level it overrides (WouterVanNifterick, #86). An operator the Fseq drives takes its level from the frame, so Level, Amp Vel and the level key scaling take no input then.
Linux. The standalone has PipeWire again (#57, urbient), as the v0.8.3 build had JACK alone. A bank the processor opens after an import starts with the filter box empty, and Ctrl shortcuts no longer type into a text field.
Checks. On main at 7814667, built from a clean tree on Linux: the engine selftest, dsp_check, check_plugin and check_gui pass. The Linux standalone was driven under Xvfb with real X input: the filter, its cross, the zoom keys, the Fseq level controls, and .fs1 drops over XDND (one file, two with a stray .txt, a .txt alone refused). A drag from a real file manager was not tried. CI builds every leg and the installers on this tag.