v4.0: full audio-cue system, cause-aware auto-tune, four-tab Preferences, install-side default sounds

Audio cues
- Cues for send/receive on-off, minimise/restore, checkbox tick/untick, and tab switch
- Soft keyboard clicks while typing, with a distinct passkey sound on password fields
- Per-cue "Choose sound" variant picker; "(none)" silences a cue; front-most missing-sound warning
- Send/receive cues take priority over the generic checkbox sound; programmatic ticks stay silent

Preferences
- Redesigned into four tabs (General, Audio cues, Startup behaviour, Update settings)
- Startup behaviour moved in from the Options menu
- NVDA now announces the dialog on open (focus a real named control, not the quiet tab control)

Auto-tune
- Cause-aware: tells device render-callback stalls (more buffer can't fix) apart from genuine
  network/buffer starvation, so it no longer pins latency high on chunky onboard cards
- Lowering the target eases the buffer down (glide) instead of trimming it, so no clicks while tuning

Sounds layout
- Shipped defaults moved out of the per-user folder into an install-side "default sounds" folder,
  so updates can refresh them; user customs are Browse-picked file paths and are left untouched
- Startup migration removes both legacy sound folders; verified from oldest (v1.0-v3.3) and v3.4 layouts

Quiet automated launches
- New --silent launch flag mutes all cue sounds and suppresses the startup dialogs (migration notice,
  update check, Realtek/mic/missing-sound warnings) so test launches never disturb the user
- run-tests / build-release / SelfTest repointed to the new "default sounds" layout

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Ednunp
2026-06-13 11:57:19 +01:00
co-authored by Claude Opus 4.8
parent 0b7ad49021
commit a408d2b56e
61 changed files with 548 additions and 139 deletions
+23 -25
View File
@@ -1,51 +1,49 @@
# RemSound v3.9
# RemSound v4.0
A reliability release built from real reports: a long-standing cause of one-way silence is fixed, long sessions no longer drift slower, RemSound stops "sending" when nobody is connected, there's a start-up sound, and you can now drive RemSound from the command line.
A big step up for audible feedback and for getting the latency right by itself. RemSound now has a sound for nearly everything you do, can click as you type, has a clearer four-tab Preferences window, and tunes latency more intelligently and more quietly.
## One-way silence is fixed
## A sound for nearly everything
If you sent plain (non-ASIO) audio to someone who had an **ASIO device selected** at their end, your sound — your microphone included — could arrive at their machine and then never be played. They heard nothing, even though everything looked connected and their logs showed audio coming in.
On top of the connect, disconnect and recording cues, RemSound can now play a short sound when you:
This was a routing fault inside the receiver: a plain stream arriving at a receiver running in two-lane (ASIO) mode was being decoded into a buffer that nothing ever played out, so it silently piled up and was dropped. A plain stream now always reaches the speakers, whatever mix of ASIO and standard audio the two of you happen to be using. This is the fix behind "my mic works for me but they can't hear it."
* turn **sending** or **receiving** on or off (a separate sound for each),
* **minimise** to or **return** from the notification area,
* **tick or untick** any box, and
* **switch between tabs**.
## Long sessions stay as tight as they started
Every one is optional. Under **Options → Preferences → Audio cues** you can silence any cue, pick which built-in sound it uses, or **Browse** for your own WAV file. (The receive-audio on/off sounds were a request on the issue tracker — they're here now.)
On the standard (non-ASIO) path the incoming audio buffer used to creep deeper after a network hiccup and never settle back, so a connection that started tight could feel laggy hours later. It now eases itself back to your chosen latency, gently and silently, so a long session stays as tight as it began.
## Hear yourself type
## RemSound no longer "sends into the void"
RemSound can **click softly as you type** into any box, so you get an audible sense of your keystrokes — with a distinct sound in **password fields** so you always know which kind of box you're in. One tick under Audio cues turns it on or off.
If you left a profile open with nobody connected, the status line could still report that it was sending data — and a large running total — which was confusing and looked wrong. RemSound now only sends audio once a peer is genuinely reachable. With no one connected it sits quietly, and the status line reflects that. (Reported on the issue tracker.)
## Preferences, reorganised
## A start-up sound
The Preferences window is now four clear tabs — **General**, **Audio cues**, **Startup behaviour** and **Update settings** — so everything is easier to find. The startup options (start with Windows, start minimised, start with a chosen profile) have moved here from the Options menu.
RemSound now plays a short sound as it starts, so you know it's running even when it opens straight to the notification area. You can turn it off, or choose your own sound, under **Options → Preferences**.
## Smarter, quieter latency tuning
## Run RemSound from the command line
The automatic latency tuning used to treat every tiny audio glitch as "the buffer is too small" and keep adding delay — even when the real cause was the receiving computer's own sound card stumbling, which more buffer can't fix. It now tells the two apart, so it stops piling on delay it can't help. And when it does lower the latency, it eases the buffer down smoothly instead of trimming it, so you no longer hear little clicks while it tunes.
As well as its normal window, RemSound now takes **command-line options** — handy for quick checks, for getting a support report to send, and for starting RemSound a particular way from a shortcut or a script:
## Default sounds that updates can refresh
* `--devices` lists every microphone, output and ASIO driver, with formats and ids.
* `--selftest` runs the whole audio path on the machine on its own and reports PASS or FAIL.
* `--diagnostics` writes one report file (version, system, settings, profiles, devices, mic-privacy check, recent log) to send for help.
* `--profile`, `--connect` and `--minimized` start RemSound straight into a profile, connected to an address, or down in the tray.
Run `RemSound.exe --help` for the full list, or see the new **Command-line options** section in the manual (press F1).
The built-in default sounds now travel with the program itself, so an update can refresh them — if a better default sound ships in a future update, you'll actually get it. Your own chosen sounds are kept exactly as you set them.
## Compatibility
**v3.9 talks to v3.3 through v3.8 with no trouble** — the over-the-network format is unchanged, 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.)
**v4.0 talks to v3.3 through v3.9 with no trouble** — the over-the-network format is unchanged, 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.9.zip` from this release.
1. Download `RemSound-v4.0.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.
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 or recordings.
4. Run `RemSound.exe`.
## Upgrading
**From v3.6, v3.7 or v3.8:** Help → Check for updates installs v3.9 with the in-app updater — and if it can't finish, it puts your old version back exactly as it was.
**From v3.6 or newer:** Help → Check for updates installs v4.0 with the in-app updater — and if it can't finish, it puts your old version back exactly as it was. The first launch tidies your settings into their current home if they aren't there already; nothing is lost.
**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.
**From v1.9v3.5:** Check for updates works, but 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.
**v1.8 and earlier:** the auto-updater in those versions can't install updates at all — install by hand using the steps above.
**v1.8 and earlier:** the auto-updater in those versions can't install updates — install by hand using the steps above.