Skip to main content

saidby

Offline-first diarized transcription: a command-line tool and Python library that turns any recording into a transcript with speakers, timestamps, glossary-aware spelling and one audio track per speaker.

Status: pre-alpha. Version 0.1.0 runs the core pipeline: transcription with faster-whisper, diarization with Nemotron-3, word-to-speaker alignment and one aligned audio track per speaker. People identification, glossary correction and review arrive in later 0.x releases.

Install

uv tool install saidby

For machines without an NVIDIA GPU, avoid downloading the CUDA build of PyTorch:

uv tool install saidby --index https://download.pytorch.org/whl/cpu --index-strategy unsafe-best-match

Requirements: ffmpeg on the PATH and, for GPU use, an NVIDIA driver 580 or newer.

Quick start

saidby models pull --all          # one-time download, the only step that uses the network
saidby process call.m4a --out out/ --language es

Each recording gets its own folder under out/:

File Content
manifest.json Engines, models and versions per stage, speakers, timings
transcript.txt [HH:MM:SS] Speaker: text
transcript.vtt WebVTT with <v Speaker> voice tags
transcript.words.json Word-level transcript with timestamps and speaker labels
diarization.rttm Standard "who spoke when"
speakers/<id>.flac One track per speaker, same length as the original, silent elsewhere
logs/run.log, logs/telemetry.jsonl Local log and closed-field telemetry

A failed run keeps .work/ so the next run resumes from the last finished stage; --keep-intermediates keeps it on success too. See docs/cli.md.

Models

Models are never bundled and are only downloaded by an explicit command:

saidby models list
saidby models pull --all

Processing always runs offline (HF_HUB_OFFLINE=1). A Hugging Face token (HF_TOKEN) is needed only for gated models such as pyannote/speaker-diarization-community-1; if the conditions have not been accepted, the error shows the URL where to accept them.

Privacy

  • No telemetry leaves the machine. Logs and telemetry are written locally and never contain transcript text, names, glossary terms or voiceprints.
  • A test suite blocks any non-loopback network access during processing.

License

Apache-2.0. See LICENSE, NOTICE and MODEL_LICENSES.md. Contributions are accepted under the Developer Certificate of Origin.

Metadata

Release files for saidby 0.1.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 saidby 0.1.0
File Size Uploaded
saidby-0.1.0.tar.gz 35.3 kB Details

Built distribution (wheel)

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

Total release size: 89.2 kB

Release files / saidby-0.1.0.tar.gz

Download URL saidby-0.1.0.tar.gz
Size 35.3 kB
Tags Source
SHA-256 checksum
How to use checksums
35b5f0ffc2fa064418073c2f5f8e1d399cde65b242c4f9b8fee01182ed5b26b0
BLAKE2b-256 checksum
How to use checksums
e4a7848e0e0cbc3dc05dfa5bd5b160bdd9be818b8c28d0f18f2f3ab3291104ce
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / saidby-0.1.0-py3-none-any.whl

Download URL saidby-0.1.0-py3-none-any.whl
Size 53.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3c87fe6fdc85d03fae93b0009adc1904966ad9ad72217d5f516d6b7d6ff19cd8
BLAKE2b-256 checksum
How to use checksums
37edcdf221973c83579d04709b6d81862a8d7ed870b995bafdddb1d355678d0f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

0.4.4

2 release files

0.4.3

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

This release

0.1.0 This release

2 release files

0.0.1

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