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.3: held notes no longer stolen, controllers move the editor, cleaner resampling and an idle instance that sleeps, Windows 7, and the standalone on clap-wrapper 0.17.0.
This round answers #54 (held notes stolen), #29 (Nuendo and Cubase: typing and unsaved projects), #47 (CPU readout and idle cost), #49 (an empty library on macOS), #19 (big banks) and #40 (FL Studio in another key); rgwan's report of a Cutoff that stood still under the wheel; WouterVanNifterick's crash switching sounds, his keys-to-host pull request (#51) and his pointer to US5744741; mkruselj's (EvilDragon) tests on his own FS1R of the preset pops and the VST2 build target; gentleclockdivider's key sync question; and the reports from Nils (Max/MSP), The Creator 69, pointandclicksystems (REAPER), Chase H. Xealot (Live 11) and quadraf (REAPER).
A note off frees its channel (#54). As the firmware's poly note off (FUN_00011E40) does, a channel is free once no key or sustain pedal holds it. The engine kept it until all sixteen EGs passed -120 dB, up to 73 s on A020 Vox Morph, so releases stole held notes: B029 CP Hard capped at 19 to 25 keyed channels and B031 Clavmann keyed 14 of 16.
Controller destinations 17 to 33 write their part bytes (rgwan). A088 Fat Line's wheel and KN1 swept the filter while the Cutoff shown stood still. The bytes now move as the firmware writes them, and the editor follows the wheel, pitch bend and aftertouch.
Parts 1 and 2 hear every channel from Rcv Ch to Rcv Max, each note bending by its own channel's pitch bend, so Preset C's guitar performances (a string to a channel, 1 to 6) play all six strings.
The operators step an integer phase by the YMP706's measured increment. Three takes on rgwan's unit pinned the increment table; a blind take of twenty predicted increments hit every one to 0.001 of a step. Every operator moves by under a cent, and key sync is exact. Against the forty hardware takes, spectrum shape on 03_fm_1 falls from 0.19 to 0.01 dB and on 11_detune_2 from 0.23 to 0.01.
odd and res shape a 0 Hz operator. odd1, odd2, res1 and res2 passed nothing at 0 Hz (reported on the 2026-10-20 nightly). They are now a window and a carrier read off the operator's phase, as US5610354 builds them; over 04_formant_3's 22 odd and res segments the strongest peak's error falls from 1.51 to 0.57 dB.
Quality / Speed: clean at every step, cheaper below Full. At a 44.1 kHz host a sine carried an alias line at 3900 Hz - f, -25 dBc on C8 at Full. A 64-tap windowed sinc now reaches any host rate at every step, the line under the -101 dBc floor. Fast and Fastest step the EGs in blocks: 23 to 32 % under Full on Vox Morph, Fat Line and Full Tines.
An idle instance sleeps (#47). Silent, it cost 12 % of a desktop core; it now costs 0.1 %. The editor's worker stops recomputing what has not changed, and the CPU readout is busy time over audio time, published twice a second.
Preset switches no longer pop (mkruselj). A performance change cuts the sound and starts the effect section over, and a type change empties the window's own delay block. Over 766 neighbouring factory switches with a note held, sixty stepped more than twice the level either side; none does now. Without a note held, seventeen of 384 stepped over four times; none does now.
The host hears when the instance changes (#29). A pick, program change or anything the processor sets marks the project modified, so Nuendo and Cubase ask to save and the project reopens with what it played. Text entry types in Live, Cubase and REAPER rather than into the DAW (#29, Chase H. Xealot, quadraf, and WouterVanNifterick's #51).
Performances and parts. A performance the host sends plays the voices its parts name (Nils). A part's lamp brings back the voice it held, edits and all (The Creator 69). A bank past PrK loads no voice, and a Device Number change reaches the engine.
Stability. The library rescan runs under its lock and the audio thread no longer reads it, the likely cause of WouterVanNifterick's crash switching sounds. VST3 pitch bend rests at the centre, the likely cause of bent notes in REAPER (pointandclicksystems) and FL Studio's other key (#40), unconfirmed by either. Every row of a bank past 16,384 items loads (#19). A library the app cannot read says so, and on macOS names where to allow FSVR (#49).
Platforms. Windows 7 SP1 loads every format and the standalone from the zips (the installer needs Windows 10), and CI checks every import. The standalone honours the Windows display scale. The standalone builds on clap-wrapper 0.17.0, with ASIO beside WASAPI and its Audio/MIDI Settings window, which the Options page reads and sets on every platform. Every macOS bundle is sealed ad hoc and CI checks both slices and the seals; the install notes name Open Anyway. On Linux the editor hands the keyboard back to the host, and the standalone's window carries its WM_CLASS and icon. fsvr_all builds the VST2 too (mkruselj).
Checks. CI on 7f4c63f passed every leg: the engine on Linux, macOS and Windows, the plug-in on Linux, macOS, Windows and Windows x86, and the installers. The engine selftest gains cases for the freed channel, the controller writes, the receive range, the 0 Hz forms, the increment table, the sleep and the effect clears; check_plugin and check_gui gain the matching plug-in cases. The render regression's reference was rewritten to main's in 0c20a1a, all nineteen cases passing, then moved on eight cases with the odd and res change. Nothing was re-run locally for this tag; CI builds every leg and the installers on it.