Skip to content

Whisper Face 0.3.0

Choose a tag to compare

@Aiml3ss Aiml3ss released this 27 Jul 18:04
· 17 commits to main since this release
08e88c4

Eleven languages, an update check that tells the truth, and proof that speech stays local.

Fixed

  • "Check for Updates" could say you were current while you were nine commits behind. It compared the checkout on disk instead of the build you were running; anything that moved the checkout without reinstalling — a pull, a script, a rolled-back update — made the two drift apart. It now compares the revision the installer actually provisioned, refuses to "update" a checkout that has its own commits, and rolls back to the last build that installed cleanly rather than the one that just failed. If 0.2.1 ever told you "no updates available" when you knew better, this was why.
  • Dictating twice in a row welded the sentences together. A new dictation now gets one joining space when the text before the cursor needs it — and none after an opening bracket, before punctuation, or in scripts that do not use spaces.
  • The window opened on the second click. Accessory-app activation order; now the first click works.
  • Text that landed perfectly was being reported as a failed paste. A destination that differs only by trimmed edge whitespace is now proven delivery, under its own receipt reason; anything weaker is still a conflict, and conflicts now say how they differed.

New

  • Dictate in eleven languages. English, Spanish, French, German, Italian, Portuguese, Dutch, Russian, Japanese, Korean, and Chinese — pick one in Settings → Controls. This surfaced a real correctness bug: the English-only Parakeet model answers ok for any audio, returning phonetic English mush for Dutch ("Het kwartaalrapport…" came back "At Kartala Portis Marchen Ochten Klai for Bordaling"), and the pipeline would have pasted it at 84% confidence. Non-English now routes around Parakeet entirely, and a dozen English-assuming cleanup rules stand down when they cannot apply — including the hallucination filter that was silently discarding every correct Japanese, Russian, and Korean transcript.
  • Fourteen companions. Frog, Rabbit, Hedgehog, and Penguin join the roster; the picker wraps into two tidy rows.
  • Choose your keys. The capture key and every modifier are now configurable, dictations can be undone, and the sounds can be turned off — Settings → Controls.
  • An uninstaller. Uninstall.command removes exactly what the installer created, from an explicit inventory, and nothing else.
  • Speech-stays-local is now a tested claim. Two independent test layers prove the dictation path opens no connection to anything but local Ollama and the app's own loopback: structurally (exactly one of 43 first-party modules may import a network client — and an aliased import can't hide one) and dynamically (a tripwire drives a synthetic utterance through the real compile path and fails on any non-local target). The evidence-capture tools are proven unable to reach the network at all.
  • Releases carry build provenance. Starting with this release, artifacts published by CI are attested via Sigstore — gh attestation verify WhisperFace-0.3.0-macOS-arm64.dmg --repo Aiml3ss/whisper-face names the workflow, commit, and trigger that produced them. No project signing key exists to leak. (This local preview build documents the mechanism; the attestation lands on CI-published artifacts.)
  • Benchmark honesty is enforced in code, not convention. A synthetic number structurally cannot be published as a physical one; scorecard metrics bind to named hardware and dates or stay explicitly unmeasured; forged summaries are refused for lacking the provenance a real run always carries.
  • Faster and more measurable. Whisper Tiny's speculative pass is cross-checked against Parakeet so agreement earns higher confidence, fixed latency is cut, and per-stage timings are measurable from your own logs.

Honest numbers

The README overstated two things, now corrected and bound by tests so they cannot drift again: the cleanup corpus holds 30 cases (not six), and the proof mediator recovers 27 of them (not five of six). Internal corpora remain synthetic and are still not evidence about real-world accuracy.

Install

Download the disk image, drag the Whisper Face folder (and the app beside it) somewhere writable like Documents, then run Install.command from that copy. The installer refuses to run from the read-only image.

Updating from 0.2.x in the same checkout preserves all personal files; the manifest links back to v0.2.1 for rollback. macOS will still warn that the developer is unverified — signing and notarization remain the top of the roadmap.