Sottola for Mac
Version 1.0.10 (build 14)

Live captions for system audio, with optional translation and speaker labels.

This update fixes Apple On-Device audio timing that could stop recording and
close captions. Quiet audio now shows Listening — waiting for system audio
without a misleading permission warning. Recording continues through silence.

Requires an Apple Silicon Mac running macOS 15 or later. Xcode and Python are
not needed. Apple On-Device speech and Apple Translation additionally require
macOS 26 or later and support for the selected language on your Mac.

Install

1. Move Sottola.app to your Applications folder.
2. Open Sottola from Applications. The Quick Start Guide walks you through
   preparing your chosen engine, allowing audio and restarting, explicitly
   starting a trial, and displaying your first caption. Its everyday controls
   appear in the menu bar; there is no Dock icon.

Sottola captures system audio using ScreenCaptureKit. Its display stream also
includes minimal video, so macOS places it in the screen/system-audio permission
category. Only you can grant this permission; Sottola can request and report it.
It does not ask for microphone access on launch.

Uncheck Show this guide at startup to hide the welcome window next time.
Reopen it anytime from the waveform menu > Quick Start Guide. You can also
change the startup choice in Settings > Display.

First recording

1. Choose a speech engine in the guide:
   - Nemotron (Local Streaming) works on macOS 15 or later and is the default.
     Speech needs about 760 MB on a new installation. Optional speaker models
     bring speech and speaker downloads together to approximately 1 GB.
   - Apple On-Device uses Apple's Speech framework on macOS 26 or later.
     Choose an explicitly supported spoken language and region; this engine
     cannot auto-detect the language. macOS manages its speech assets and may
     need to download them. Download size is not shown. Apple speech does not
     use Nemotron weights, speaker labels, or Nemotron vocabulary boosting.
2. Click Prepare Selected Models and wait for Ready. Model weights are not
   included in the app. Missing assets need an internet connection; subsequent
   preparation reuses available files. Local speech recognition runs on your
   Mac. Changing engines or preparing models does not start the trial.
3. Click Request Audio Access. In System Settings > Privacy & Security >
   Screen & System Audio Recording, enable Sottola. If it is missing, use + to
   add /Applications/Sottola.app.
4. Quit Sottola completely and reopen it from Applications after enabling
   access. Closing the guide is not enough. The guide returns automatically
   so you can continue; downloaded models do not need to be downloaded again.
5. Click Start Seven-Day Trial, or activate an existing license or tester code.
   Trial start is explicit and does not start recording.
6. Play speech from a meeting or video on your Mac, then click Start Recording.
   Your first caption appears in the guide and, if enabled, the floating overlay.

The guide's optional Share Setup Counts choice is off by default. If enabled,
it sends basic setup successes and failures to Sottola until your first caption.
It sends no audio, captions, license IDs, or error details. You can turn sharing
off in the guide, and setup works without sharing. Details: https://sottola.com/#privacy-details

For translation, choose Apple Translation and install the desired language pair
in Sottola's settings, or choose Local Translation to use TranslateGemma.
Apple speech assets are separate from Apple Translation language packs and
Apple Intelligence meeting notes. TranslateGemma 4B downloads approximately
2.2 GB on first preparation; the optional 12B model is about 6.7 GB. The model
weights have their own terms, available from their model pages:

https://huggingface.co/mlx-community/nemotron-3.5-asr-streaming-0.6b-8bit
https://huggingface.co/mlx-community/diar_streaming_sortformer_4spk-v2.1-fp16
https://huggingface.co/mlx-community/translategemma-4b-it-4bit
https://huggingface.co/google/translategemma-4b-it

Captions show the spoken language first, followed by the matching translation.
Use the sun/moon button in the floating captions header to switch light/dark
appearance, or choose System in Settings > Display > Caption appearance.
The setting is saved. With Nemotron, optional speaker badges use a consistent
color for each voice. Labels can arrive a few seconds later and identify up to
four anonymous voices per recording. A phrase with a speaker change or
overlapping voices can be marked Multiple speakers. Accuracy depends on the
audio and language; Armenian is not supported by Nemotron. Apple speech's
available languages are shown in its spoken-language picker on your Mac.

Stopping finishes pending captions and translations before saving the transcript,
when automatic transcript saving is enabled. The default folder is
~/Documents/MeetingWhisper/Transcripts/. That folder retains the app's former
name so existing transcripts remain together.

Updating from MeetingWhisper

Sottola uses its own permanent app identity. Recognized preferences migrate on
first launch where no Sottola preference exists. Existing model caches, saved
credentials, and transcript locations retain their original storage names.
Old MeetingWhisper permission entries do not authorize Sottola; grant Sottola
access separately. Unrelated app permissions do not need to be reset.

Silence between speakers is normal. If expected speech never appears, confirm
audio is playing and check the app's system-audio permission status. Quit and
reopen the installed app after changing permission. If model
preparation fails, check the connection and retry; the app shows the error.
For short phrases, selecting the spoken language explicitly can improve
translation setup. Previously saved engine choices are preserved; choose the
desired speech engine explicitly when upgrading.

Third-Party Notices.txt accompanies the app and contains the native libraries'
licenses and attribution notices. Keep it with this distribution.
