Skip to content

Releases: stofll/Sotto

Sotto v0.1.3

Choose a tag to compare

@github-actions github-actions released this 21 Sep 14:14

Sotto 0.1.3

  • Fixed muted glow colors in packaged builds.
  • Improved glow alignment with the overlay’s rounded corners.
  • Processing animation now travels across the full overlay width without lifting at the edges.
  • The Pill overlay’s cancel button now appears above the waveform without shifting it on hover or keyboard focus.

Sotto v0.1.2

Choose a tag to compare

@github-actions github-actions released this 21 Sep 08:38

Sotto 0.1.2 corrects Russian typos without an LLM, keeps macOS permissions across an update, and repairs the interface failures that only appeared in a packaged build. Most of the release is the result of an audit of the recording, saving and formatting paths.

New and improved

  • Typos are corrected offline. Processing → Text → Cleanup → Correct spelling checks lowercase Russian words against a bundled Hunspell dictionary — no LLM, no network, any speech engine, enabled by default. It only acts when a single valid candidate sits one edit away and the change repairs a mechanical error: a repeated letter, transposed neighbours, a trailing «э», or a missing hyphen with «кое-», «-то», «-либо», «-нибудь». It runs when the dictation language is Russian; Auto and other languages leave spelling alone. See Dictionaries.

  • Cleanup no longer edits your code. Backtick spans and fences, email addresses, paths, links and dotted names such as Cargo.toml keep their spaces and letter case through every automatic step. Enabled replacement rules reserve their matches before cleanup runs, so an explicit rule always wins; disabled and invalid rules reserve nothing.

  • Cleanup keeps what it used to swallow. A run that would leave nothing behind returns the original transcription, unless the deletion was explicit. Comma cleanup drops duplicates and a leading comma but keeps commas before conjunctions, «в общем и целом» and «чуть чуть» survive, and a missing space after a period is restored only before a capital letter, so lowercase domain names stay whole.

  • The glow answers a syllable. The voice-reactive overlay ran at the values its source library was authored for — a 0.325 s attack is longer than a syllable, so the level never reached its peak and every layer stayed dim. The envelope now follows speech, and the processing beam takes 1.5 s per pass instead of 2.8 s.

  • Every overlay position is visible. The nine anchor zones on the position picker drew nothing until the pointer was over them. Each now carries a dot in the overlay's own colour, brighter under the pointer and absent where the preview stands.

  • Model cards fill their bars where the answer is known. Sotto asks for the GPU by default while every reference measurement is a processor one, so most cards showed two hatched bars. Speed now borrows the nearest measurement of the same model, draws that bar fainter and names the context it came from. Memory counts a loaded model's own footprint back into the budget and treats Apple Silicon's shared pool as the processor's. Twelve of the twenty-one catalogue models still have no measurement and stay unknown.

  • macOS releases are signed with a stable identity. Previously each build was identified by its code hash, so every update was a new application to the system and both the microphone grant and the paste stopped working. Builds now carry an identity that survives an update. This is not Developer ID and changes nothing about Gatekeeper.

  • Formatting stays off the interface thread. Local formatting and dictionary preparation run on background workers for dictation, file transcription and the preview. On synthetic fixtures the 3000-word word diff went from 274.69 to 0.397 ms, formatting 480 English words against 1000 terms from 296.63 to 35.02 ms, and decoding 120 s at 96 kHz dropped peak live allocations from 83.40 to 10.71 MB. These are fixture measurements, not end-to-end dictation latency.

Fixed

  • Changing the interface language no longer leaves a second tray icon. Rebuilding a tray with the same ID does not replace the existing one, so each switch added a live icon. The original is reused and only its menu is rebuilt.

  • The light theme survives a packaged build. The production minifier shortened colours into a form the interface then rejected, and a failed lazy chunk left History unable to load. History now offers a retry, an unavailable glow animation no longer takes recording cancellation down with it, and startup before CSS is ready is handled.

  • A cloud request is no longer sent twice. A delayed response, a timeout and a cancellation each kept a single request. Inference errors are reported as errors instead of coming back as empty speech, and cancelling a file transcription now also stops optional LLM processing.

  • Saved settings arrive whole. Database migrations and legacy imports are transactional, configuration writers are serialized, and a hotkey whose write fails goes back to the shortcut that actually owns it. The AI page keeps your draft, reports a save only when it succeeded, and applies a locale change after the save rather than before.

  • Short API keys are no longer mostly readable. The long mask reveals six leading and four trailing characters but took effect from eleven, printing ten of them.

  • A file whose sample rate changes is named correctly. It is two recordings joined or a chained Ogg stream, not a damaged file; the message now sends you to re-encoding instead of to corruption.

  • Model downloads notice a stalled network. A connection that stops responding times out instead of hanging, without restarting the request; verification reads in chunks rather than loading the model into memory.

  • Overlay messages keep their order. A stale timer could hide a newer message, and the tray footer stayed visible at its own viewport size.

Update notes

  • macOS asks for the microphone once more on this update. 0.1.1 was identified by its code hash, so the move to a signed identity is still a new application to the system: grant the microphone again, and for the paste remove Sotto from Privacy & Security → Accessibility and add the updated /Applications/Sotto.app — toggling the switch is not enough. Updates from 0.1.2 onward keep both grants.
  • Correct spelling is on by default. It only touches Russian dictation and never invents a substitution, but it does change text a previous version delivered as recognised. Switch it off under Processing → Text → Cleanup, or disable local formatting entirely.
  • A replacement rule now wins over automatic cleanup. If a rule and a cleanup step disagreed before, the result changes in the rule's favour.
  • Windows x64 still requires AVX2, FMA and F16C, unchanged from 0.1.1; see Platforms.

Full changelog

Sotto v0.1.1

Choose a tag to compare

@github-actions github-actions released this 19 Sep 19:45

Sotto 0.1.1 adds a third overlay shape, a new application icon and a reorganized Text page. It also removes a class of startup crashes: published builds were compiled for the CPU of whatever machine produced them, so a binary could execute an instruction your processor does not have.

New and improved

  • A voice-reactive glow overlay. A third shape beside the pill and the bead: a composer with a colored wash along its bottom edge that follows your voice. Live text and errors stay in the same shape. Choose it in Settings → Overlay.

  • Overlay controls you can reach. The cancel control appears on hover — including the first recording on macOS, where it previously needed a click first — and cancels the session when clicked. A new switch hides the recording timer.

  • Overlay settings are their own section. Overlay moved out of Advanced into a section of its own; both start collapsed when Settings opens. Color swatches sit under their caption, and interface color presets moved beside the title.

  • A new application icon. A monochrome ribbon on a dark plate replaces the amber waveform, across the application, the taskbar, the Dock and the Windows installer.

  • The Text page reads as one list. Cleanup, Replacements and Dictionaries are now three cards of the same kind, each with a hint explaining what it does. Dictionaries shows how many terms the enabled sets apply and offers Create without expanding the card first. Opening a set scrolls its term list alone, so the search field stays in place.

  • Faster Parakeet unified streaming. The catalog now ships the 1120 ms buffered export, which cut an 11-second English fixture from about 23.6 s to about 7.3 s on the reference machine. It processes larger chunks, so the first result arrives later and updates are less frequent. See Benchmarks for the measurements and their limits.

  • macOS says when Accessibility is missing. A denied grant used to look like a paste that silently did nothing. Sotto now checks after the text reaches the clipboard, explains how to re-add the installed copy when the toggle is already on, and clears the notice when you return from System Settings — no restart needed.

Fixed

  • Builds no longer fail with an illegal instruction. Whisper was compiled for the build machine's own CPU, so a published binary could hit an instruction the user's processor lacks and die without a handled error. The instruction baseline is now fixed, documented and verified in every build, GPU builds included.

  • Windows paste no longer opens menus. Restoring the target window injected an Alt keypress, which activated menu access keys in editors such as Notepad. Focus is restored without it, and when Windows denies the request Sotto leaves the text on the clipboard rather than pasting into whatever window is in front.

  • Microphone audio no longer carries into the next session. On macOS an explicitly selected microphone kept a disconnect listener alive after its stream was dropped, so its callback could still write into the following recording's buffer.

  • The tray's «Скрыть меню» button works on macOS. It called a Windows-only command and did nothing, which also swallowed the error that should have brought the main window forward.

  • The processing animation is smooth. The overlay's processing beam reversed with a visible kick at each end of its travel and jumped near the rounded corners.

  • A file-transcription resampling failure is now reported in the interface language.

Update notes

  • Windows x64 now requires a CPU with AVX2, FMA and F16C — roughly x86-64 processors from 2013 onward — including for GPU-enabled builds. This fixed baseline is what replaces compiling for the build machine; see Platforms.
  • Parakeet unified must be downloaded again. The catalog pins the 1120 ms export, artifact verification rejects the previous 560 ms encoder, and speed observations from the old revision do not carry over.
  • Recording no longer starts from the tray. The tray shows status and links into settings; start and stop with the global hotkey while the editor you are dictating into has focus, so the text lands where you are typing.
  • Model cards no longer offer manual refresh or measurement reset. Clicking an indicator gives a short plain explanation — a fast/moderate/slow estimate, an approximate requirement and current free memory — instead of benchmark statistics. Unknown values show a hatched bar.

Full changelog

Sotto v0.1.0

Choose a tag to compare

@github-actions github-actions released this 16 Sep 11:03

Sotto 0.1.0 brings a customizable recording overlay, editable dictionaries, and clearer guidance when choosing a speech model. It also improves dictation reliability—from microphone capture and cancellation to text cleanup and automatic paste.

New and improved

  • Make the recording overlay your own. Choose the familiar pill or a compact bead, adjust its size, and position it using nine screen anchors with a configurable edge offset. Pick a preset palette or create a custom color, independently of the app theme. The pill retains live text previews for streaming models; the bead keeps recording compact while expanding to show errors and warnings.

  • Organize your vocabulary into dictionary sets. Create, edit, search, and combine sets for names, brands, and specialist terms. Copy a built-in set to customize it, and choose your preferred spelling when enabled sets contain conflicting capitalization. Existing personal dictionary entries carry over into “My words.”

  • Choose models with speed and memory hints. Model cards now show processing speed and estimated memory headroom. Speed hints use reference benchmarks where available and adapt after five comparable local dictations. Open either indicator to inspect the details or reset measurements. Measurements stay on your device.

  • Control which verbal tics are removed. Inspect the built-in Russian and English sets, disable individual words, and add your own words or phrases. The English word set is opt-in. English filler sounds such as “uh,” “umm,” and “hmm” can also be removed when the dictation language is explicitly set to English.

  • Customize the interface color. Choose a preset or any custom color in Advanced settings. The accent applies to Settings and the tray popup, with text contrast and keyboard focus colors adjusted for light and dark themes.

  • Report problems from Help. Open a GitHub bug report or feature suggestion, review an optional technical summary, and export sanitized logs for manual attachment. A new paste diagnostic lets you test text delivery without recording or transcription.

Fixed

  • More reliable recording and cancellation. Rapid start, stop, and cancel actions no longer let an older session interfere with a newer one. Recoverable recording failures release the session correctly, and model-loading events no longer interrupt an active dictation.

  • Correct audio from 44.1 kHz microphones. Microphone audio is now resampled correctly for speech recognition. Unsupported sample formats produce a clear error instead of silently recording unusable audio.

  • More reliable automatic paste on macOS. Fixed the paste shortcut under Cyrillic keyboard layouts and improved handling of modifier keys still held after stopping a recording. On Windows, cancelled and failed sessions clear their saved paste target.

  • Cloud formatting respects its timeout. The configured LLM timeout now covers the entire operation, including retries. If it expires, Sotto delivers the transcription without cloud formatting. Post-processing can also be cancelled.

  • Text cleanup preserves meaningful words. Default cleanup no longer deletes Russian words such as “да,” “нет,” “вот,” “значит,” and “собственно,” or standalone “а” and “о.” Capitalization also preserves email addresses while correctly handling surrounding sentences.

  • Clearer errors when managing API keys. Validation and save errors appear in the relevant dialog, and failures when replacing or deleting keys are reported visibly.

  • Less unnecessary overlay work. Audio-level updates no longer redraw the entire overlay, and timers stop when they are no longer needed.

Security

  • Updated the TLS dependencies, including rustls 0.23.45, with security fixes.

Update notes

  • Existing personal dictionary entries migrate automatically into “My words.”
  • English verbal-tic removal is disabled by default because words such as “like,” “well,” and “right” can carry meaning. Review the set before enabling it.
  • Model speed and memory indicators are estimates, not recognition-quality ratings or guarantees that a model will fit in memory.

Full changelog

Sotto v0.0.5

Choose a tag to compare

@github-actions github-actions released this 08 Sep 11:54
0d2694b

More choice for local dictation: live multilingual transcription with Nemotron 3.5, broader language coverage with Omnilingual, and built-in punctuation for GigaAM v3.

New and improved

  • Nemotron 3.5 — a new streaming model that shows text as you speak. Supports Russian, English, and other languages, with automatic language detection, punctuation, and capitalization.
  • Omnilingual 300M — a new local model covering more than 1,600 languages in a 348 MB download.
  • GigaAM v3 now adds punctuation and capitalization to Russian dictation without a separate LLM processing step.

All three models run locally on Windows and macOS. Download and select them in Models.

Fixed

  • Streaming transcription no longer cuts off the final word when you stop recording immediately after speaking.
  • The sidebar collapse button stays aligned with the right edge of the sidebar header.

Update notes

If you already use GigaAM v3, download it again from Models after updating. The previous model files will appear as not downloaded; downloading the updated version replaces them without manual deletion.

Full changelog

Sotto v0.0.4

Choose a tag to compare

@github-actions github-actions released this 06 Sep 23:10
c9f10cc

What's new

  • A past dictation can be re-run through the LLM without losing the original. Open an entry in History, pick any saved profile, and press Process with the LLM: the result appears next to the current text and nothing is written until you press Replace the text. Before, the run and the write were one command — the only way to see what a different prompt or model would produce was to overwrite the entry and read the result afterwards, with no way back. The profile you re-run with does not have to be the dictation one: a model good at cleaning up speech is not necessarily the one you want for a second pass.

  • Local LLM servers can now be set up through the wizard. The key step accepts No key needed — the server is local, so LM Studio, Ollama and vLLM go through the normal flow instead of being impossible to configure. A provider with no preset gets a blank of its own rather than someone else's preset to overwrite, the Base URL is asked for on the first screen, and the model list can be fetched before the profile exists — the one moment you most need it. The catalogue is grouped by what an entry is to whoever is choosing it — provider, aggregator, local server — instead of by which adapter serves it.

  • "Providers and keys" asks each question once. Profile and key rows now carry one "…" menu each, always visible, instead of three icons appearing on hover in one list and two sitting permanently in the other. One search box at the top covers both lists and matches provider names. Profile fields save as you make them, so the explicit Save/Cancel and the "unsaved changes" pill in the header are gone. Being active is one green dot beside the provider mark — not a dot, a badge and a disabled button all saying it at once.

  • LLM processing is organised around the route. The mode and the profile are one Processing route card, in that order: the mode decides whether an LLM is called at all, the profile supplies the provider, key and model it is called with. In local-only mode the card says outright that neither the profile nor the prompt is used, rather than showing settings that go nowhere. The threshold, the LLM timeout and the cloud speech timeout — which until now could only be changed by editing config.json by hand — fold into that card, each saying whether it belongs to the profile or to every profile.

  • The three mode cards are a real radio group. Arrow keys move between them, focus is visible, and a screen reader announces one control instead of three unrelated buttons.

Fixes

  • Destructive confirmations were not being asked. In this WebView2, window.confirm returns "yes" without ever drawing a dialog — so Clear the whole history wiped the history and Delete profile deleted the profile the moment the menu item was clicked. Confirmation is now the app's own dialog, and if it cannot be shown the answer is "no".

  • A profile could send its key to another provider's address. An empty Base URL on a profile meant "inherit", but the address belongs to one provider's API: with dictation running on LM Studio, re-running an entry through an Anthropic profile sent the Anthropic key to http://localhost:1234/v1/messages. An empty Base URL is no longer inherited across providers.

  • A profile lost its key when its provider changed, and then requested the model list without one, because the reference pointed at a key slot that never existed.

  • A model picked from the list was not saved. The field showed the new model while the config kept the old one — and opening the list from the chevron or the reload button meant even the blur that usually covered for it never happened.

  • A manual LLM run could land in the wrong entry. Opening a second entry while the first was still running put the first one's text, badge and timings in the second one's panel — and Replace the text wrote them there.

  • A key created together with a profile is now registered properly. Deleting the profile used to throw away the only reference to it and strand the key in Credential Manager, invisible and impossible to delete.

  • A broken Base URL is now caught where it is typed, instead of turning into a profile that quietly processed nothing.

  • A trial request asks before it spends tokens — unless the endpoint is on this machine, where a modal in front of a free request only teaches people to dismiss modals.

  • After switching provider, the model field no longer goes on suggesting the previous provider's models.

  • The preset switch has its caption back, and Plain is now Paragraphs — it was the one English word among Russian captions.

  • In the light theme, choosing a blue accent left several borders orange, and the age of a history entry rendered in an inherited colour.

  • The number fields in the route card were flattened; menus whose options have no icons started 8px in from nothing; disabled buttons changed colour under the cursor while refusing to be pressed; icon-and-label buttons are now centred by the mark you see rather than by its bounding box.

  • The model field no longer uses a native <datalist>, which WebView2 opened on its own terms, and gains a search box of its own once there are more than ten options — OpenRouter returns four hundred.

Under the hood

  • One name per design token. A parallel set of aliases sat on top of the canonical one, which forced the light theme to re-declare all fourteen colours by hand; two lists of colours meant one was always a commit behind. Cards get the same treatment: one component with named padding, instead of every site spelling its own.
  • Dropdowns are one implementation — the model combobox and the last four native selects now draw from the same parts.
  • History previewing and writing are separate backend commands, and an empty result is refused rather than stored.
  • docs/models.md and docs/portable.md are in English, so the documentation is no longer split between two languages with no rule for which a reader gets; README.ru.md carries the Russian landing page and the two READMEs link to each other.
  • Security reports go straight to the repository's private advisory flow. The previous fallback — open a public issue asking maintainers to enable it — invited a public trace of an unpatched issue.

Installation

  • Windows x64Sotto_0.0.4_x64-setup.exe; portable — Sotto-v0.0.4-windows-x64-portable.zip
  • macOS (Apple Silicon)Sotto_0.0.4_aarch64.dmg

The update from 0.0.3 arrives on its own. A portable copy is updated by replacing the files from the new ZIP, keeping the data folder.

Sotto v0.0.3

Choose a tag to compare

@github-actions github-actions released this 05 Sep 22:57
8cf6c18

What's new

  • The model no longer sits in RAM between dictations. After a few idle minutes — five by default — it is unloaded from memory and comes back on its own at the start of your next recording, while you speak. The first press after a long idle takes a little longer than usual: the model is read back from disk; everything after that is as fast as always. The timeout is configurable in Settings; zero means never.

  • A portable version for Windows. Sotto-v0.0.3-windows-x64-portable.zip — unpack it into a writable folder and run; no installer. Settings, history, and models live in a data folder next to the app and travel with it; API keys stay in Windows Credential Manager and have to be re-entered on another computer. Autostart is not registered in portable
    mode, and an installed copy and a portable one cannot run at the same time.

  • On macOS, the same models as on Windows. The Sherpa-ONNX bundles (GigaAM, Parakeet) now run on Apple Silicon; previously macOS only had Whisper.

  • Microphone testing gained an echo mode. Next to the level check there is now an "Echo" mode: you hear yourself with a fraction-of-a-second delay. The sample rate travels with the frames instead of being assumed, so the voice is not distorted even on 44.1 kHz microphones.

  • Microphone selection got more reliable. Two identical USB microphones no longer silently resolve to the first one, and a device that does not report its name is no longer an "Unknown microphone" you cannot select: it appears in the list as "Microphone N".

Fixes and interface

  • The microphone-test indicator and the model card border lied about their state. The border meant memory rather than the selected model; the indicator showed something other than what was happening. Both now tell the truth.
  • The notification toast sizes to its content: a short "Model deleted" no longer stretches to half the width, and the cross on a download cancels the download itself — its tooltip changes with its meaning.
  • The recording-mode hint is split into "Toggle" and "Hold": as a single wall of text the two modes did not read.
  • Statistics: tiles now fill the rows in order instead of in fives.
  • The Text page header: the icon, the title, and the counter are back on one line.
  • Autostart in a portable copy is disabled with the reason shown — the checkbox used to save a value and change nothing.

Under the hood

  • Restoring an unloaded model runs on the engine thread: the load is queued when a recording starts, preview and transcription line up behind it, and a duplicate restore no longer drops a working model.
  • Telemetry is more honest: the model's name and family are reported from the model catalog instead of hard-coded lists.

Installation

  • Windows x64Sotto_0.0.3_x64-setup.exe; portable — Sotto-v0.0.3-windows-x64-portable.zip
  • macOS (Apple Silicon)Sotto_0.0.3_aarch64.dmg

The update from 0.0.2 arrives on its own. A portable copy is updated by replacing the files from the new ZIP, keeping the data folder.

Sotto v0.0.2

Choose a tag to compare

@github-actions github-actions released this 05 Sep 11:26
4343bed

Что нового

Свои файлы моделей теперь удаляются. Модель, положенную в каталог руками, приложение показывало в списке, но убрать её оттуда было нечем — только через файловый менеджер. Теперь удаляется как обычная. Подтверждение говорит разницу честно: каталожную можно скачать заново, свою — вернуть неоткуда.

Окно открывается уже. 1000 px вместо 1310 — ровно минимальная ширина.

Настройки

Мелочи, которые мозолили глаз:

  • «Удерживать» больше не вылезает за рамку переключателя на узком окне
  • соседние ячейки не разъезжаются по вертикали, если у одной есть подсказка
  • в выборе громкости не обрезается вариант «Выключено»
  • «Текст» открывается свёрнутым и остаётся в две колонки
  • шапка свёрнутой карточки снова помещается в одну строку
  • «Пробел в конце» и «Enter после вставки» уехали в «Дополнительно»
  • подсветка в переключателях режимов переезжает, а не перекрашивается
  • счётчики у заголовков — цифрой вместо плашки

Исправления

Ложное предупреждение о ненастроенной LLM. Проверка в интерфейсе смотрела не туда, куда смотрит бэкенд: рабочая настройка выглядела сломанной, а неверный Base URL, наоборот, не выглядел сломанным вовсе. Теперь оба случая называются как есть.

Перетаскивание окна на macOS.

Автозапуск на macOS. При перерегистрации запись сначала обрезалась, и сбой в этот момент оставлял без автозапуска. Теперь она меняется целиком или не меняется вообще.

Приложение переименовано внутри

В доке, «Мониторинге системы» и диспетчере задач процесс назывался whisper-desktop — имя осталось от прежнего названия проекта. Теперь везде Sotto.

Скачанные модели не теряются: кэш переезжает сам при первом запуске, автозапуск перерегистрируется.

Установка

  • Windows x64Sotto_0.0.2_x64-setup.exe
  • macOS (Apple Silicon)Sotto_0.0.2_aarch64.dmg

Обновление с 0.0.1 приедет само.

Sotto v0.0.1

Choose a tag to compare

@github-actions github-actions released this 04 Sep 15:35

Первый публичный релиз. Sotto — диктовка по горячей клавише: нажал, сказал, текст оказался в активном окне.

Что умеет

Распознавание на устройстве. По умолчанию звук не покидает компьютер. Модель скачивается при первом выборе.

Whisper (whisper.cpp) — на обеих платформах, 99 языков: tiny, base, small, medium, large-v3 и turbo (рекомендуемая по умолчанию), плюс английские сборки tiny.enmedium.en.

Движок ONNX (sherpa-onnx) — пока только на Windows, шесть семейств под конкретные задачи:

Модель Языки
GigaAM v3 русский — заметно точнее Whisper на русской речи
Parakeet TDT v3 25 европейских, включая русский и украинский
Parakeet TDT v2, Parakeet unified английский; unified — потоковый
Zipformer, Zipformer small русский; small — потоковый
Canary 180M Flash английский
Moonshine base английский
SenseVoice small китайский, английский, японский, корейский, кантонский

Ускорение на видеокарте. Vulkan на Windows, Metal на macOS. Без подходящего GPU всё работает на процессоре, просто медленнее.

Обработка текста языковой моделью — по желанию. Расставить пунктуацию, убрать слова-паразиты, переписать в другом тоне. Поддерживаются Anthropic, OpenAI, Gemini, Groq, Mistral, DeepSeek, OpenRouter и любой OpenAI-совместимый endpoint, включая локальные Ollama, LM Studio и vLLM. Шаг необязательный: без него текст вставляется как распознан.

Словарь терминов. Замены для имён, названий и жаргона, которые распознавание стабильно портит.

Остальное: оверлей во время записи с отменой, автовставка в активное окно, история с поиском, статистика, транскрибация готовых аудиофайлов, работа из трея, автозапуск, интерфейс на русском и английском.

Самообновление. Обновления подписаны; приложение проверяет их и ставит по кнопке, без автоматической перезагрузки посреди работы.

Установка

  • Windows x64Sotto_0.0.1_x64-setup.exe
  • macOS (Apple Silicon)Sotto_0.0.1_aarch64.dmg.

Сборки пока не подписаны сертификатом издателя, поэтому при первом запуске Windows покажет предупреждение SmartScreen («Подробнее» → «Выполнить в любом случае»), а macOS — предупреждение Gatekeeper.

Что стоит знать

  • Все ONNX-модели (GigaAM, Parakeet, Zipformer, Canary, Moonshine, SenseVoice) пока работают только на Windows: нативный рантайм sherpa-onnx собирается под неё. На macOS доступен Whisper.
  • Ключи облачных провайдеров хранятся в системном хранилище учётных данных, а не в файле конфигурации.