sttop
sttop transcribes your mic and system audio locally, right in your terminal. It labels who's speaking and writes a Markdown transcript as you talk.
Start recording now
uvx sttop
It runs on Linux and macOS and downloads models on the first run. An animated progress bar shows the current loading stage. Recording starts as soon as audio devices are ready; speech is buffered in memory while models load, then the transcript catches up automatically. The TUI shows buffering, catch-up, and live transcription states. Quitting stops capture and finishes buffered speech before exiting. Later starts reuse cached models and load transcription and speaker identification concurrently. You don't need API keys. On macOS 13+, give your terminal permission in System Settings → Privacy & Security → Screen & System Audio Recording, then restart the terminal to capture system audio.
Installation options
On Linux, use CPU-only PyTorch wheels for a smaller download:
uvx --index https://download.pytorch.org/whl/cpu sttop
To install permanently:
uv tool install sttop
Usage
uvx sttop -t "standup" # name the session
uvx sttop ls # list transcripts in a folder tree
uvx sttop read # open the latest transcript
uvx sttop read standup # find a session by name
uvx sttop follow # stream the live transcript, e.g. to an agent
uvx sttop devices --test # check audio sources
uvx sttop doctor # troubleshoot setup
uvx sttop --help # all commands and options
| Key | Action |
|---|---|
q |
Name the session and quit |
ctrl+c |
Quit without naming |
space |
Pause / resume |
r |
Rename a speaker throughout the transcript |
y |
Copy the transcript so far |
sttop saves each line to ~/.local/share/sttop/sessions/ as it's transcribed.
It labels your mic as "you" and assigns speaker labels to the system audio.
Customize
Run uvx sttop config to create ~/.config/sttop/config.toml. The comments
explain the settings for audio sources, models, speaker labels, themes, and storage.
sttop uses Parakeet for transcription: MLX on Apple Silicon Macs, ONNX on CPU
on Linux and Intel Macs. Apple Silicon installations include MLX automatically.
Choose explicitly with sttop --backend mlx or sttop --backend onnx, or set
backend = "mlx" / "onnx" under [stt] in your config. The default is "auto";
it falls back to ONNX if MLX dependencies are missing. Explicit MLX requests and
model-loading failures report an error instead.
Both engines download weights from Hugging Face on first use and reuse the
local cache. ONNX uses istupakov/parakeet-tdt-0.6b-v3-onnx; MLX uses
mlx-community/parakeet-tdt-0.6b-v3.
Switching engines requires a separate model download. The existing default
model name and the v2 ONNX alias map to their MLX equivalents automatically;
other custom ONNX models continue to use ONNX in auto mode.
The built-in v2/v3 downloads are pinned to specific Hugging Face commits and
limited to the required ONNX or Safetensors weights and configuration files.
These are community conversions of NVIDIA weights, not NVIDIA-owned download
repositories. The ONNX conversion is published by the onnx-asr maintainer;
the MLX conversion is published by mlx-community. No Python code from model
repositories is loaded. Custom --model overrides select your own source and
are not covered by these built-in revision pins. Python dependencies are
resolved with artifact hashes in uv.lock for uv sync --locked installs.
Encrypted backup
uvx sttop sync
The first run sets up a private Git remote and a vault passphrase. sttop keeps Markdown files on your machine and syncs encrypted copies after each recording. Use the same remote and passphrase on another machine to share your transcripts.
Keep a copy of the passphrase. You can't recover the remote backups without it.
Set storage.encrypt = "always" to encrypt local transcripts too.
Updates
sttop checks PyPI in the background and shows an update command when a newer
stable release is available. Checks are cached for six hours; offline checks
never delay recording. Use uvx sttop@latest to run the latest release, or
uv tool upgrade sttop for a permanent installation.
Development
git clone https://github.com/v4rgas/sttop
cd sttop
uv sync --extra dev
uv run sttop
uv run pytest
License
MIT
Release files for sttop 0.11.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| sttop-0.11.0.tar.gz | 217.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| sttop-0.11.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 294.4 kB
Release files / sttop-0.11.0.tar.gz
| Download URL | sttop-0.11.0.tar.gz |
|---|---|
| Size | 217.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
38238e16205c7e92fc2dd42b954e0b3b44d889f62d83801f5527ff1da7c4e895
|
|
BLAKE2b-256 checksum How to use checksums |
6d0a3d925e333fda78aa2c80a4302589d766a16464f35b0f0b72cddbef30c863
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 26, 2026.
Transparency logRelease files / sttop-0.11.0-py3-none-any.whl
| Download URL | sttop-0.11.0-py3-none-any.whl |
|---|---|
| Size | 77.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
38fa8a3e40c7d1a7e629ccd661a300325a30998a1362f614b3656cdf2de8bfdd
|
|
BLAKE2b-256 checksum How to use checksums |
de5ee410b46269f204e1279ea1e7e5e6af6f3dd26f47e50c9d617a3d687fa38f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 26, 2026.
Transparency log