Skip to content

Releases

Syllivra 2.7.0

Choose a tag to compare

@enrzh enrzh released this 20 Oct 17:00

This release keeps the same bundle identifier, settings, downloaded models, transcripts, saiity:// links and Sparkle update feed, so existing installs update in place. When installing from the DMG, quit the older version and replace its app bundle with Syllivra; keep only one installed copy.

Highlights

  • Dictation from the shortcut. Hold the dictation shortcut to speak and release to insert. Settings and setup are redesigned around it. Modifier-only shortcuts are held back briefly so other shortcuts never open the microphone, and the shortcut is only listened for with full key access.
  • Paste into more apps. Dictation now inserts into browser and Electron text fields, including Chrome's focused text field, and adds a space after dictated text when a word follows.
  • Clearer dictation feedback. The bubble says when it heard near-silence, silent stretches are skipped before recognition, and cancelled presses log why. Bubble states are translated.
  • More local model options. Pinned local runtimes and catalogue options for Gemma 4 E2B/E4B cleanup, TranslateGemma 4B translation and the Granite Speech 5.0 470M English recognizer. Existing choices and downloads are kept.
  • Faster and more stable. Capture starts immediately, dictation delivery work is bounded, warm models are reused, and native work drains before cleanup. The caption bubble hides without the system fade on Stop.
  • Language handling. Japanese/Korean/Han text stays in coherent phrases, cleanup preserves unhandled languages and guards numbers, dates, currency and negation, translation validates batch slices, and mixed-language transcripts offer a summary-language choice.
  • Reliability. Captions stay busy until stopping finishes, saved-session retranslation only publishes unchanged input, final translations update all retained rows, and Save confirms beside the action and opens the saved transcript.
  • New controls are localized in German, French, Spanish and Japanese.

Verification

  • Notarized and stapled ZIP and drag-to-Applications DMG (Developer ID Application: Xianjie Zhan), Gatekeeper: accepted, Notarized Developer ID.
  • Sparkle appcast signed for Syllivra-2.7.0.zip (build 244).
  • Release GUI self-test passed.
  • Quality gate passed: 35 fixture/model/configuration/preview cases on the current en/de corpus (Nemotron segmented decode, live captions at 1120/2240 ms, rules-cleanup release-to-insertion with preview off/on). Model cleanup, Hy-MT2/MADLAD translated runs and the 12-language natural-speech tier are not yet gated.

DMG SHA-256: 71cbb32a91c055f3db8c419694ed68559bb5c6a30825d9cf582c4da9a0403cad

ZIP SHA-256: ae104c82c329c637472d02169b060b2d3da39688f582c0d76d27ec7274020483

sAiity 2.6.6

Choose a tag to compare

@enrzh enrzh released this 07 Oct 11:00

Highlights

  • Open a saved session, then choose Summarize in its viewer for a local recap, decisions, and action items.
  • Summarize Again replaces that preface; Remove Summary deletes only the summary, keeping spoken lines and exports.
  • Session rows keep the date, line count, and one secondary-action menu. The reading sheet is resizable.
  • Summaries share the saved-transcript busy state with retranslation, hold cancellation until native work drains, and refuse changed or missing input before publishing.
  • Summaries still use the Gemma cleanup model already installed for dictation. They can miss or invent details; spoken lines and SRT/WebVTT stay unchanged.

Build 2 fix

  • Setup and SelfCapture windows use the same opaque settings surface as Settings, so the native titlebar stays a solid system chrome instead of sampling whatever is behind the window.

Verification

  • Verified 636 tests across 80 suites.
  • Notarized and stapled ZIP and drag-to-Applications DMG (Developer ID Application: Xianjie Zhan).
  • Sparkle appcast signed for sAiity-2.6.6.zip (build 224).
  • Quality gate passed: 25 fixture/model/preview cases.

DMG SHA-256: 6077db29f7f8c5d1a22dc5e45c89d7671269cdbce869def211c8687fc865a546

ZIP SHA-256: cb738bb296bfafe0c81017740fff1192441c33d7459867f423ef3865d1f39fcc

sAiity 2.6.5

Choose a tag to compare

@enrzh enrzh released this 04 Oct 22:12

Highlights

  • On the Transcripts page, Summarize writes a local recap, decisions, and action items for one saved session.
  • It uses the Gemma cleanup model already installed for dictation. It does not download a model, and it does not run while captions or dictation are using that model.
  • Spoken lines stay unchanged. SRT and WebVTT remain the words that were said. Markdown export prints the summary once, above the transcript.
  • A long session keeps the latest portion that fits and says how many earlier lines were left out.

Verification

  • Verified 628 tests across 79 suites.
  • Notarized and stapled ZIP and drag-to-Applications DMG (Developer ID Application: Xianjie Zhan).
  • Sparkle appcast signed for sAiity-2.6.5.zip (build 220).
  • Quality gate passed: 25 fixture/model/preview cases.

DMG SHA-256: 99fb2557d24de19bd602ce3f5206519e058dfa9a57adca131a28d2d93573e334

ZIP SHA-256: a7b79d3b5278f4d2a84ea03410d07f8b212c0c0bc2e8674442d9f287f2446cc0

sAiity 2.6.4

Choose a tag to compare

@enrzh enrzh released this 03 Oct 18:03

Highlights

  • Nemotron captions offer Realtime (1.12 s) or Balanced (2.24 s) subtitle timing, with a download control when the selected model is missing.
  • Translation timing → Realtime translates interim words as the sentence grows. Requests coalesce, and only the final sentence translation is saved.
  • Interim translation updates less often in Low Power Mode, under thermal or memory pressure, or after sustained slow decoding. Final translations stay first.
  • After cleanup, translation, or an approved correction, Copy Original copies the recognition text without pasting it.
  • Names and terms and explicit whole-phrase Corrections live in one shared local dictionary. Nothing is learned automatically.
  • Scrolling up in the caption bubble pauses follow. Jump to latest, or scrolling back to the bottom, resumes it.

Verification

  • Verified 619 tests across 77 suites.
  • Notarized and stapled ZIP and drag-to-Applications DMG (Developer ID Application: Xianjie Zhan).
  • Sparkle appcast signed for sAiity-2.6.4.zip (build 218).
  • Quality gate passed: 25 fixture/model/preview cases.

DMG SHA-256: ef3e393f2f2b67c3c2443fb6a3332c377fa85f110e67c39c7f6cb20d9c8a8e3e

ZIP SHA-256: fa8db3780edb4cd8665c1a61208322efba1c12ddd98d3f3095e3b3e9f3dfd62b

sAiity 2.6.3

Choose a tag to compare

@enrzh enrzh released this 02 Oct 16:29

Highlights

  • Automatic insertion requires the press-time app and accessibility field to stay focused; otherwise the result is copied.
  • Clipboard write failures keep the complete result in a persistent bubble whose action is Retry Copy; retry copies the retained text without pasting.
  • Caption first-text / first-final cold reporting uses the inverse of prepared-model state.
  • Release-quality logs fingerprint corpus and model bytes (no transcript contents) and reject inconsistent evidence.
  • Setup reopening restores the persisted automatic-update preference.

Verification

  • Verified 604 tests across 76 suites.
  • Notarized and stapled ZIP and drag-to-Applications DMG (Developer ID Application: Xianjie Zhan).
  • Sparkle appcast signed for sAiity-2.6.3.zip (build 216).
  • Quality gate passed: 25 fixture/model/preview cases.

DMG SHA-256: 6186afb35c409af2e476e56bf78e6b6fdbbd9b96e3ca7a9abed29489432bd785

ZIP SHA-256: 5a2d5fd5845b71dd7cb330fe0be3fe4cac791643749436d83475898f2268f8ea

sAiity 2.6.2

Choose a tag to compare

@enrzh enrzh released this 02 Oct 11:14

Highlights

  • Failed caption pumps become terminal instead of silent, so a stuck recognition path surfaces instead of looking healthy with no new text.
  • Qwen3-ASR keeps a fixed PCM bound through silence, and local cleanup/translation share one generation budget with a real deadline.
  • Speaker labels ride confirmed audio only, so provisional segments cannot invent speakers.
  • Translation output is validated the same way on every engine, including mixed-language preservation checks when translation is off.
  • The release script will not notarize until a clean-source quality matrix clears its accuracy and latency budgets on the verified fixture corpus.

Verification

  • Verified 590 tests across 75 suites.
  • Notarized and stapled ZIP and drag-to-Applications DMG (Developer ID Application: Xianjie Zhan).
  • Sparkle appcast signed for sAiity-2.6.2.zip (build 214).
  • Quality gate passed: 25 fixture/model/preview cases.

DMG SHA-256: c886d4069b004b09fc3ff0ec4df27185ba0c576674ccc0856cad9e84d8a0bc7a

ZIP SHA-256: ca89d4778cc2c735b38ac683704b1ebceb0e852057326bcb7e425388f35dc873

sAiity 2.6.1

Choose a tag to compare

@enrzh enrzh released this 30 Sep 21:43
6e69ede

Highlights

  • Qwen3-ASR is a selectable caption engine alongside Nemotron. Probing showed it ahead on the project fixtures; the language row now reflects what the chosen engine can actually do instead of offering languages the active path cannot recognise.
  • Dictation shows realtime text while you are still speaking when Streaming is selected. An optional preference turns the live draft on even with cleanup or translation in the path, so the raw words appear as they arrive and the finished text replaces them.
  • Cleanup is a model selector with an explicit Off, and dictation finally has its own model picker in Quick controls. The translation engine sits beside the language it translates to; Captions can start from its own pane; realtime text sits with the streaming model it belongs to.
  • The app icon is the Dictus voice mark — three white bars on a blue auto-gradient — rebuilt from a checked-in Icon Composer source so it can be regenerated. Glass stops being the default for every settings row button, so emphasis means something again.
  • The ship DMG keeps its volume icon. Finder was deleting .VolumeIcon.icns during the layout AppleScript; both DMG scripts now restore it after layout and re-set the custom-icon flag before detach.

Verification

  • Notarized and stapled ZIP and drag-to-Applications DMG (Developer ID Application: Xianjie Zhan).
  • Sparkle appcast signed for sAiity-2.6.1.zip (build 211).

DMG SHA-256: be5e2667c867d063a4473150ebb1f822095535f420fbfb60dd264bf8e489b5c2

ZIP SHA-256: 9c2b6cec68488ac3f9a3ea41414df5f7c7a5e830cc2a2691ac2a502cff9cf6dc

sAiity 2.6.0

Choose a tag to compare

@enrzh enrzh released this 29 Sep 19:56
74071eb

Highlights

  • Hy-MT2 is available again as a second translation engine, under Settings →
    Advanced. It is a translation specialist that runs on CPU: 1.1 GB instead of
    MADLAD's 1.9 GB, for the 37 languages it was trained on. It is a second
    opinion rather than a replacement, and if it ever fails at runtime the app
    falls back to MADLAD automatically.
  • A failed translation no longer looks like the model refusing. Engines reported
    "declined" and "failed" as the same value, so a real error surfaced as your
    caption quietly staying untranslated with nothing in the log. They are separate
    now: a genuine failure is logged and retires a broken engine after three tries
    in a row, and a line the model declines no longer retires anything.
  • Press-to-talk no longer fires on an ordinary Control press. The default
    shortcut is now ⌥⌘Space, a chord must contain a real key and not only
    modifiers, and dictation starts switched off on a new install. An install that
    has run before keeps press-to-talk switched on, because in 2.5.5 it was on by
    default and those users never wrote a preference for it to be read from.
  • Exported subtitles are now readable rather than merely short. Nothing governed
    speed: an 83-character sentence spoken in 1.4 seconds exported at 89
    characters per second, and its trailing fragment — being small — inherited a
    proportionally small slice of the same span and lasted 0.135 seconds, which a
    player draws as a single frame. Translated captions were the worst case at 126
    characters per second. Every cue now stays up long enough to read at 17
    characters per second, shares the slack with the cues around it, never overlaps
    what follows, and leaves speech that was already readable exactly as it was.
  • Dictation is roughly 78x faster to clean up — it was rebuilding about thirty
    regular expressions and three language recognizers on every utterance — and
    caption language analysis about 1.8x faster on a typical line.
  • Holding the dictation key past a minute now says the recording was cut, instead
    of showing "Transcribing" and returning a shorter sentence with no explanation.
  • Loading a model that is deleted mid-dictation no longer leaks it, searching
    transcripts no longer recomputes its cache accounting on every keystroke, and
    both a data race on caption cue timings and a hotkey permission retry loop
    that never backed off are fixed.
  • Recognition, translation, and dictation remain on-device.

Release verification: 547 tests across 69 suites passed. The Developer ID-signed ZIP and styled drag-to-Applications DMG were notarized, stapled, and validated.

Downloads

  • sAiity-2.6.0.dmg — recommended installer
  • sAiity-2.6.0.zip — app bundle archive

sAiity 2.5.5

Choose a tag to compare

@enrzh enrzh released this 25 Sep 16:50

Highlights

  • Reworked local settings for captions, dictation, model management, and transcript library into clearer, task-focused pages.
  • Improved model readiness and download-state reporting, with safer refresh and cleanup of interrupted downloads.
  • Added caption performance diagnostics and vocabulary protection for names and technical terms.
  • Continued the live-caption reliability work with bounded processing, adaptive overload handling, language-aware merging, and more stable bubble updates.
  • Recognition, translation, and dictation remain on-device.

Release verification: 410 tests across 53 suites passed. The Developer ID-signed ZIP and styled drag-to-Applications DMG were notarized, stapled, and validated.

Downloads

  • sAiity-2.5.5.dmg — recommended installer
  • sAiity-2.5.5.zip — app bundle archive

sAiity 2.5.3

Choose a tag to compare

@enrzh enrzh released this 21 Sep 03:52

Highlights

  • Adaptive speech activity and natural pause handling make live captions settle more naturally.
  • Stable cumulative ASR reconciliation reduces duplicated or missing words around recognizer revisions.
  • Bounded ASR processing, sample-clock timestamps, backlog diagnostics, and generation-safe translation keep long caption sessions responsive.
  • Script-aware joining preserves readable Latin spacing and spaceless scripts.
  • All recognition and translation remains local to the Mac.

This release includes the signed, notarized, and stapled DMG and ZIP installers.