Release v3.7: device-change smoothing, auto-tune spike rejection, wider mic detector, forensic logging

Coalesce capture-engine rebuilds (CompositeCaptureBackend): a swap-triggering
source change now arms a 250ms debounce timer and re-arms on each further
change, so a flap or quick reconfiguration produces ONE rebuild to the final
state instead of a burst (Andre's 16:40 four-rebuilds-in-33s crackle). In-place
updates still apply immediately; a pending rebuild whose target flaps back is
cancelled.

Auto-tune (TickRoute) now keys off the SECOND-highest arrival-gap/render-gap
second in the lookback window instead of the single worst, so a lone ~1s
OS/driver stall no longer balloons the buffer to the 200ms cap (the 16:51
trim burst); sustained jitter still reacts at full speed. Logs both gap-max
(true peak) and gap-used (value acted on).

Mic-privacy detector widened: also catches a per-app Deny aimed at this exe
under ConsentStore\microphone\NonPackaged\<exe>, the HKLM NonPackaged gate,
and the Group-Policy/MDM force-deny (AppPrivacy LetAppsAccessMicrophone=2) —
the block shapes that silence WASAPI capture while ASIO sails past, and that
the old three-value check missed.

Forensic instrumentation so the next log proves what happened: capPeak=
(loudest pre-encode sample, per lane, on the diag line), mic-privacy verdict
logged at startup, ui: capture tick/untick events, and device-event: lines for
Windows endpoint changes.

Docs: mic-privacy + auto-tune sections updated in readme.html, MANUAL.md
regenerated, About-box changelog and RELEASE_NOTES for v3.7.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Ednunp
2026-06-10 22:44:55 +01:00
co-authored by Claude Fable 5
parent 55bdcde0af
commit 9e247112cb
9 changed files with 213 additions and 51 deletions
+23 -17
View File
@@ -1,39 +1,45 @@
# RemSound v3.6
# RemSound v3.7
A reliability release centred on updating. RemSound now installs its own updates instead of handing the job to a Windows script — so updates that used to quietly fail on some machines go through, and a failed update can never leave you half-installed.
A smoothness-and-diagnosis release: changing devices mid-session no longer crackles, a one-off computer hiccup no longer balloons your latency, the microphone-privacy warning catches the hidden kinds of block, and the log now records enough to prove what happened when something goes wrong.
## Updating is far more reliable
## Changing devices mid-session is smoother
RemSound used to finish an update by handing the file-swap to a small Windows batch script. On some machines that step would silently fail — you'd "update" and still be on the old version, sometimes with nothing on screen to say why.
When you change capture devices — ticking sources on or off, or bringing an ASIO driver in or out — RemSound used to rebuild its sound engine immediately on every single change. A quick run of changes meant several rebuilds back to back, each one an audible crackle. Now RemSound **waits a moment for you to finish and rebuilds once**, to the final state. Reconfiguring no longer fights you.
**RemSound now installs updates itself, in its own code:**
## The auto-tuner ignores one-off hiccups
- It runs the install from a fresh copy of the new version in a temporary folder, so nothing in the program folder is locked while the swap happens.
- It waits for the old copy to fully close, then moves the old files aside and copies the new ones in — **retrying** if a file is briefly held open (by a sync app, say) rather than giving up.
- **If anything goes wrong, it puts your previous version back exactly as it was** and reopens it. A failed update can never leave a broken, half-installed RemSound.
- Every step is written to a plain `updater.log` next to the program, so if a problem ever does recur there's a real reason to read, not a blank.
Continuous auto-tune sizes your latency cushion from how late packets are arriving. It used to react to the **single worst moment** it had seen — so one brief stall (the kind a driver or Windows hiccup causes once and never again) could balloon the cushion to its maximum and disrupt audio for far longer than the hiccup itself. It now only raises the cushion when late audio **keeps coming** — sustained jitter still gets a fast response, a lone blip gets ignored.
Your settings, profiles, logs and cue sounds are never touched by any of this.
## The mic-privacy warning catches hidden blocks
## More warnings come to the front
Windows can block an app's microphone in ways that don't show up as the two obvious switches: a per-app block aimed at one program alone, or a block set by an administrator or workplace policy with no visible switch at all. When one of those is in place, the mic silently sends nothing — and RemSound's warning used to miss both kinds. It now **catches them too**, so "my mic sends silence and nothing warned me" should be gone.
Every important notice now surfaces in front with focus, even when RemSound is minimised to the tray. v3.6 adds the last two that didn't: the **"RemSound is already running"** dialog (and its follow-up message), and the **what's-new note shown after an update** that installed while RemSound was tucked away.
## The log can now prove what happened
Four additions to RemSound's diagnostic log, aimed squarely at the questions we couldn't answer from past logs:
- **How loud is what you're sending** (`capPeak` each second) — so silence versus real audio is now a fact in the log, not a guess.
- **The mic-privacy check's verdict** at every startup — whether or not it warned.
- **Every device tick/untick you make**, and **every device change Windows reports** — so when the device set changes mid-session, the log shows exactly what drove it.
- Auto-tune now logs both the worst moment it saw and the value it actually acted on, so you can see when it ignored a one-off spike.
Nothing about these is audible — they just make the next bug report solvable from the first log.
## Compatibility
**v3.6 talks to v3.3, v3.4 and v3.5 with no trouble** — the over-the-network format hasn't changed, so you don't have to update both ends at once. (Everyone still needs to be on **v3.3 or newer**, because that's where end-to-end encryption came in.)
**v3.7 talks to v3.3 through v3.6 with no trouble** — the over-the-network format hasn't changed, so you don't have to update both ends at once. (Everyone still needs **v3.3 or newer**, where end-to-end encryption came in.)
## Install
1. Download `RemSound-v3.6.zip` from this release.
1. Download `RemSound-v3.7.zip` from this release.
2. Close RemSound.
3. Extract the zip **over your existing RemSound folder**, overwriting program files when prompted. The zip is program files only — it won't touch your settings, profiles, logs, recordings, or sounds.
4. Run `RemSound.exe`.
## Upgrading
**From v1.9 onward:** Help → Check for updates works — it will fetch and install v3.6 automatically, and if you've ticked "Check for updates on startup" and "Silently install updates" it installs itself shortly after launch.
**From v3.6:** Help → Check for updates installs v3.7 with the new in-app updater — and if it ever can't finish, it puts v3.6 back exactly as it was.
Note that the hop *to* v3.6 still uses your current version's updater. The new, more reliable in-app installer only takes over **once you're on v3.6**. So on the rare machine where auto-update has been failing — exactly the problem this release fixes — download `RemSound-v3.6.zip` and extract it over your folder by hand, just this once. Every update after that uses the new installer.
**From v1.9v3.5:** Check for updates works, but it uses your current version's older updater for this one hop. If auto-update has been failing on your machine, install by hand using the steps above — every update after that uses the new installer.
**v1.8 and earlier:** the auto-updater in those versions has a fault that prevents it installing updates at all — install v3.6 by hand using the steps above.
**v1.8 and earlier:** the auto-updater in those versions can't install updates at all — install by hand using the steps above.