Skip to main content

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

sttop recording a standup

It runs on Linux and macOS and downloads models on the first run. An animated progress bar shows the current loading stage. 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 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.

Use --pipe 'your-command' to stream utterances and speaker renames as JSON lines to another program's stdin.

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.10.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sttop 0.10.0
File Size Uploaded
sttop-0.10.0.tar.gz 213.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for sttop 0.10.0
File Interpreter ABI Platform
sttop-0.10.0-py3-none-any.whl Python 3 none any Details

Total release size: 287.8 kB

Release files / sttop-0.10.0.tar.gz

Download URL sttop-0.10.0.tar.gz
Size 213.2 kB
Tags Source
SHA-256 checksum
How to use checksums
9b4224ae867f68c3dbb7286b4959f8d9c74c048ccd49130826b03a20a69a171a
BLAKE2b-256 checksum
How to use checksums
178883f46512fcfb076ff572a054777491095ce0e1b45287b81aecca5ce711b6
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 16, 2026.

Transparency log

Release files / sttop-0.10.0-py3-none-any.whl

Download URL sttop-0.10.0-py3-none-any.whl
Size 74.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
047e93052111c5f68162203e251d38e84829b9f5b120c429acdec14586e7b133
BLAKE2b-256 checksum
How to use checksums
7b8c4524433ff82ab2fd71e7e9c2da20b42dd44509f2f8b21918a5cbe026d06f
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 16, 2026.

Transparency log

Release history Release notifications | RSS feed

0.11.0

2 release files

0.10.1

2 release files

This release

0.10.0 This release

2 release files

0.9.0

2 release files

0.8.0

2 release files

0.7.0

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page