Skip to content

Releases: millZach/Sotto

Sotto 3.3.4

Choose a tag to compare

@millZach millZach released this 04 Aug 19:12

Sotto 3.3.4

Fix

  • The recording wave now means "I hear you." The widget's seven-bar visualizer animated the whole time a session was open, even in silence. It now follows your voice: the staggered ripple runs while the microphone registers speech and settles flat about a third of a second after you pause — riding through ordinary gaps between words. With reduced motion on, the bars step between a resting row and a mid-height row instead of animating.

macOS (Apple Silicon)

Sotto-3.3.4-arm64.dmgApple silicon only; Intel Macs are not supported.

The Mac build is ad-hoc signed and not notarized, so the first launch may be blocked by Gatekeeper. Either:

  • open System Settings → Privacy & Security and choose Open Anyway, or
  • run xattr -dr com.apple.quarantine /Applications/Sotto.app in Terminal.

Windows install note

The Windows installer is unsigned, so SmartScreen may prompt — choose More info → Run anyway. Installs per-user; no admin rights needed.

Checksums

SHA-256 checksums for the installer and disk image are in SHA256SUMS.txt.

Sotto 3.3.3

Sotto 3.3.3 Pre-release
Pre-release

Choose a tag to compare

@millZach millZach released this 04 Aug 17:22

Sotto 3.3.3

A new look

  • New icon. Sotto's mark now sits on a warm burnt-amber gradient — in the taskbar, the tray, the installer, and inside the app. (If a pinned shortcut still shows the old purple icon after installing, unpin and re-pin it; Windows caches shortcut icons.)
  • One widget, refined. The floating widget is the pill again — and only the pill; the widget style setting introduced in 3.3.2 is gone. While recording, the pill leads with the Sotto mark and animates seven teal bars on a staggered loop, with the capsule rim tinted teal for as long as the mic is live or a transcript is being typed. With reduced motion on, the bars hold as a steady row.

macOS (Apple Silicon) support

Sotto now runs on Apple silicon Macs (macOS 11+), delivered as Sotto-3.3.3-arm64.dmg. Apple silicon only — Intel Macs are not supported.

The Mac build is ad-hoc signed and not notarized, so the first launch may be blocked by Gatekeeper. Either:

  • open System Settings → Privacy & Security and choose Open Anyway, or
  • run xattr -dr com.apple.quarantine /Applications/Sotto.app in Terminal.

License

Sotto now ships with an explicit freeware license (LICENSE.md): free to install and use, share it only via unmodified official installers or a link to the official releases, no distribution of modified versions. The source remains public for inspection.

Windows install note

The Windows installer is unsigned, so SmartScreen may prompt — choose More info → Run anyway. Installs per-user; no admin rights needed.

Checksums

SHA-256 checksums for the installer and disk image are in SHA256SUMS.txt.

Sotto 3.3.2

Sotto 3.3.2 Pre-release
Pre-release

Choose a tag to compare

@millZach millZach released this 01 Aug 10:04

Sotto 3.3.2

The Aurora orb — and your choice of widget

  • The floating dictation widget is now a translucent blue orb with a mic at its center. A dim aurora core sleeps inside while idle; the hotkey wakes it into a slow swirl whose brightness and outer halo follow your voice, with the timer and controls on a compact chip beside it.
  • Recording is unmistakable: a blue sonar ring ripples off the glass and a pulsing beacon sits beside the timer whenever the mic is live. (Red stays reserved for errors.) With reduced motion on, both hold as a steady glow.
  • Prefer the old look? Settings → Appearance → Widget style now offers Orb (default) and Pill — the classic capsule with its pulse dot and 12-bar voice visualizer. The widget swaps live when you change it.

Fixes

  • Your first words are no longer cut off. The microphone opened before the audio capture pipeline was ready, so everything said in between — seconds of speech on a cold start — was silently discarded. This is why the first dictation after launching the app was reliably the worst. The capture pipeline is now fully built before the microphone opens, so recording starts the instant the mic does.

  • AI formatting is far more reliable, in three ways. A cold-started primary model could consume the entire cleanup deadline, so the fast fallback model never ran and the raw transcript (fillers and all) was delivered — the primary now reserves budget for the fallback. The cleanup deadline scales with transcript length: long dictations previously timed out on every model because the budget was fixed regardless of how much text had to be regenerated. And the deadline floors are much more generous (6–8 s instead of 2.5–4.5 s), because real-world provider latency spikes were beating the old floors even on short transcripts — a healthy model still responds in well under a second, so typical dictations stay fast.

  • Formatting diagnostics now record why each cleanup attempt failed and the audio level of every transcription segment, making silent failures attributable from the local log.

Checksums

SHA-256 checksums for the installer are in SHA256SUMS.txt.

Sotto 3.2.0

Sotto 3.2.0 Pre-release
Pre-release

Choose a tag to compare

@millZach millZach released this 31 Jul 22:06

Sotto 3.2.0 simplifies the model lineup and fixes the two worst dictation-quality bugs.

Highlights

  • Two models instead of four. The lineup is now Standard (the fast English Moonshine model, bundled and ready offline) and Multi-lingual (an optional Whisper download for non-English speech). The Balanced and Accurate Whisper models are gone; installs that had them selected switch to Standard automatically. The installer is smaller because the bundled model changed.
  • Inference is always CPU/WASM. The Auto / Prefer WebGPU / CPU-WASM selector is removed — measured WebGPU inference was slower than WASM on typical hardware and the packaged runtime never shipped a WebGPU build.
  • Lists finally survive to your clipboard. The whitespace tidy pass was flattening the AI formatter's multi-line lists into one run-on line. Line breaks are now preserved, and the formatting prompt recognizes announced lists ("I want a list of things...") spoken as plain comma enumerations.
  • No more silent word loss on short segment tails. Sub-second audio segments were given a zero-token decode budget by the speech library — a guaranteed empty transcription, silently dropped. Sotto now sets an explicit budget scaled to audio length.
  • Repetition hallucinations are repaired. When the on-device model gets stuck repeating a word ("no, no, no, ..."), the loop is collapsed before the text reaches formatting, history, or paste — and the truncation guard measures against the repaired text so legitimate cleanups aren't rejected.

Install

Download and run Sotto-Setup-3.2.0.exe. Quit any running Sotto from the tray first, then install; settings, history, and downloaded models are preserved. The Standard speech model is bundled and works offline.

This build is not Authenticode-signed, so Windows may display an Unknown publisher or SmartScreen warning.

Verification

  • 1,068 unit and integration tests passed; 4 environment-gated tests were intentionally skipped.
  • TypeScript typecheck and ESLint passed.
  • Bundled Moonshine model, ONNX runtime, resources, third-party notices, and installer contents were verified, including a packaged smoke launch.

See SHA256SUMS.txt for artifact checksums.

Sotto 3.1.3

Sotto 3.1.3 Pre-release
Pre-release

Choose a tag to compare

@millZach millZach released this 31 Jul 05:44

Sotto 3.1.3 protects long dictations from silent truncation in the AI formatting pass.

Highlights

  • The formatting pass can no longer eat your words. Some users saw long dictations intermittently lose a large portion of their content. The AI cleanup's sanity check only rejected outputs that were suspiciously long — a truncated response was accepted silently. Now, if a polished result loses more than half the words of a 20+ word dictation, it is rejected and the raw transcript is delivered instead.
  • Loss diagnostics. The app records word-count-only metadata (never transcript content) per formatting pass to polish-diagnostics.jsonl in its data folder, so any remaining word loss can be pinpointed to the exact pipeline stage.
  • Verified pipeline. The investigation benchmarked the streaming segmentation and on-device Moonshine transcription against a 51-second reference recording (lossless), plus a 12-run adversarial pass over the cloud formatting models on fragmented input.

Install

Download and run Sotto-Setup-3.1.3.exe. Quit any running Sotto from the tray first, then install; settings, history, and downloaded models are preserved. The Balanced speech model is bundled and works offline.

This build is not Authenticode-signed, so Windows may display an Unknown publisher or SmartScreen warning.

Verification

  • 1,056 unit and integration tests passed; 4 environment-gated tests were intentionally skipped.
  • TypeScript typecheck and ESLint passed.
  • Packaged model, runtime, resources, and installer contents were verified, including a packaged smoke launch.
  • Installer SHA-256: 191DC71A7B90EC709C74C4CF76D64194FD08A2CCF5410B98C6C1522E2BBE31EE

See SHA256SUMS.txt for all uploaded artifact checksums.

Sotto 3.1.2

Sotto 3.1.2 Pre-release
Pre-release

Choose a tag to compare

@millZach millZach released this 30 Jul 23:33

Sotto 3.1.2 fixes the dictation pill sinking behind other windows.

Highlights

  • The pill stays on top again. Recent Windows 11 builds silently ignore the always-on-top request Electron applies when creating a window, so the recording/transcription pill lost its topmost status and could be covered by any focused window. Sotto now reasserts always-on-top through a code path Windows still honors, verified at the OS level (WS_EX_TOPMOST) across the full dictation lifecycle — including with a focused window placed directly over the pill.
  • Regression coverage. A new end-to-end test asserts the pill's native window actually carries the topmost style, not just Electron's flag, so this can't quietly regress.

Install

Download and run Sotto-Setup-3.1.2.exe. Quit any running Sotto from the tray first, then install; settings, history, and downloaded models are preserved. The Balanced speech model is bundled and works offline.

This build is not Authenticode-signed, so Windows may display an Unknown publisher or SmartScreen warning.

Verification

  • 1,052 unit and integration tests passed; 4 environment-gated tests were intentionally skipped.
  • TypeScript typecheck and ESLint passed.
  • Packaged model, runtime, resources, and installer contents were verified, including a packaged smoke launch.
  • Installer SHA-256: 5B91F70D3D8BFECBC1A7AAF626CE3AA82EF36F6A2092958B86820F706A42116B

See SHA256SUMS.txt for all uploaded artifact checksums.

Sotto 3.1.1

Sotto 3.1.1 Pre-release
Pre-release

Choose a tag to compare

@millZach millZach released this 30 Jul 23:13

Sotto 3.1.1 fixes 3.1.0's over-aggressive filler removal: transcript cleanup no longer strips hedges, qualifiers, or emphasis from what you say.

Highlights

  • Your hedges survive. 3.1.0 treated "kind of", "sort of", "maybe", "probably", "actually", "honestly", and approximations like "like eighty percent" as removable fillers, flattening "kind of cluttered" into "cluttered". These now always survive cleanup; when the model is unsure whether a word is filler, it keeps it.
  • Verbal tics still vanish. "um", "uh", stutters, and repeated words are always removed; "like" / "you know" / "I mean" are removed only when the sentence reads identically without them.
  • Cleaner lists. Trailing additions ("oh and one more thing...") now join the list as items instead of leaking as a stray sentence.

Validated against all three quality-tier models with new benchmark fixtures designed to catch over-filtering (scripts/llm-bench).

Install

Download and run Sotto-Setup-3.1.1.exe. It upgrades an existing Sotto installation in place; settings, history, and downloaded models are preserved. The Balanced speech model is bundled and works offline.

This build is not Authenticode-signed, so Windows may display an Unknown publisher or SmartScreen warning.

Verification

  • 1,051 unit and integration tests passed; 4 environment-gated tests were intentionally skipped.
  • TypeScript typecheck and ESLint passed.
  • Packaged model, runtime, resources, and installer contents were verified, including a packaged smoke launch.
  • Installer SHA-256: CD3F56F55AE0D10CC95546D23A5F929D675BB485DFD12280D506B18915EB63BF

See SHA256SUMS.txt for all uploaded artifact checksums.

Sotto 3.1.0

Sotto 3.1.0 Pre-release
Pre-release

Choose a tag to compare

@millZach millZach released this 30 Jul 19:32

Sotto 3.1.0 makes LLM transcript cleanup noticeably smarter and puts the real app icon in the titlebar. Dictation remains private, local, and offline-first; LLM formatting stays opt-in.

Highlights

  • Aggressive filler removal. The cleanup pass now strips conversational fillers — "like", "you know", "I mean", "sort of", "basically", sentence-starting "so"/"well" — whenever they carry no meaning, along with stutters and repeated words ("the the"). Meaningful uses ("I like this plan") are kept.
  • Spoken enumerations become lists. Saying "first... second... third" or "we need X, we need Y, we need Z" now formats as a dash list, one item per line.
  • Better readability. The formatter may now add paragraph breaks and light structure for readability, while still never summarizing, adding content, or dropping information.
  • Titlebar icon. The window titlebar shows the caret-and-wave app icon instead of a letter "S" placeholder.

Install

Download and run Sotto-Setup-3.1.0.exe. It upgrades an existing Sotto installation in place; settings, history, and downloaded models are preserved. The Balanced speech model is bundled and works offline.

This build is not Authenticode-signed, so Windows may display an Unknown publisher or SmartScreen warning.

Verification

  • 1,051 unit and integration tests passed; 4 environment-gated tests were intentionally skipped.
  • TypeScript typecheck and ESLint passed.
  • Packaged model, runtime, resources, and installer contents were verified, including a packaged smoke launch.
  • Installer SHA-256: 34BBF12614FF67801779322C0E3AC83B6CAA03EFA3FDF323414000C1BE0DB5B6

See SHA256SUMS.txt for all uploaded artifact checksums.

Sotto 3.0.0

Sotto 3.0.0 Pre-release
Pre-release

Choose a tag to compare

@millZach millZach released this 24 Jul 19:03

Sotto 3.0.0 renames the app (formerly TalkType) and gives it a new visual identity. Dictation behavior is unchanged: private, local, offline-first.

Highlights

  • New name: Sotto. From sotto voce — "under the voice." The name now matches what the app is for: speaking quietly to your own computer, with nothing leaving it.
  • New icon. A text caret with a sound wave, drawn in the app's violet palette, with crisp sizes for the taskbar, tray, and installer. Icon sources now live in the repo as SVG masters with a generation script.
  • Automatic data migration. On first launch, Sotto carries over your TalkType settings, dictation history, widget placement, and downloaded models into its new profile folder.
  • Consistent internals. Application ID, IPC channels, and resource protocols were renamed for a clean identity going forward.

Install

Download and run Sotto-Setup-3.0.0.exe. The Balanced speech model is bundled and works offline.

Because the application identity changed, Sotto installs alongside an existing TalkType installation instead of upgrading it. After confirming Sotto works (your data migrates automatically on first launch), uninstall TalkType from Windows Settings > Apps.

This build is not Authenticode-signed, so Windows may display an Unknown publisher or SmartScreen warning.

Verification

  • 1,051 unit and integration tests passed; 4 environment-gated tests were intentionally skipped.
  • TypeScript typecheck and ESLint passed.
  • Packaged model, runtime, resources, and installer contents were verified, including a packaged smoke launch.
  • Installer SHA-256: 5076E7C9B21CC54FC05158F3A6BE01BCE78F03CA864BAF3F4E1EFBBB2F4A813F

See SHA256SUMS.txt for all uploaded artifact checksums.

TalkType 1.1.0

TalkType 1.1.0 Pre-release
Pre-release

Choose a tag to compare

@millZach millZach released this 22 Jul 17:34

TalkType 1.1.0 improves window chrome and makes the dictation pill reliable across multiple monitors and DPI configurations.

Highlights

  • One consistent title bar. TalkType now uses a single frameless custom title bar in loading, onboarding, unavailable, and normal application states, while preserving minimize-to-taskbar and close-to-tray behavior.
  • Reliable multi-monitor pill. The pill follows the monitor containing the cursor while idle, listening, processing, or showing a result, and pauses automatic relocation only during an active drag.
  • Predictable edge placement. Dragging selects the nearest top, bottom, left, or right edge. The pill is centered on that edge with a fixed 16-DIP work-area inset and remembers only the edge between launches.
  • Mixed-DPI correctness. Native widget geometry now uses Electron content-coordinate APIs so the pill keeps its intended footprint and inset across displays with different Windows scaling values.
  • Hardened drag lifecycle. Pointer cancellation, lost capture, Alt-Tab, hiding, renderer recovery, rapid hide/show cycles, delayed IPC, and overlapping gestures cannot leave drag ownership stuck or terminate a newer gesture.
  • Minimum-size accessibility. Onboarding controls remain reachable and clickable at the supported 820x560 minimum window size.

Install

Download and run TalkType-Setup-1.1.0.exe. The Balanced speech model is bundled and works offline.

This build is not Authenticode-signed, so Windows may display an Unknown publisher or SmartScreen warning.

Verification

  • 1,023 unit and integration tests passed; 4 environment-gated tests were intentionally skipped.
  • 31 Electron end-to-end tests passed; 6 design-capture tests remained intentionally gated.
  • Packaged model, runtime, resources, preload boundary, worker, worklet, and normal application launch were verified.
  • Installer SHA-256: A5413FE4EE102F44FA4AC48EC92E4AEE49BC8D877405D7A828530EB9F9F8D6D9

See SHA256SUMS.txt for all uploaded artifact checksums.

🤖 Generated with Claude Code