Skip to main content

Transcribe any audio or video via OpenAI STT. Supports diarisation and cleaned rendering.

Project description

otranscribe

otranscribe is a tiny command line interface for turning any audio or video into text. It primarily wraps the OpenAI speech-to-text API, but also includes two offline backends so you can avoid network calls and API costs entirely. The CLI handles all of the boilerplate: it extracts audio from arbitrary input, normalises it, runs the transcription on your chosen engine and optionally renders a cleaned transcript with timestamps and speaker labels.

Quick start

pip install otranscribe
export OPENAI_API_KEY="sk-..."
otranscribe -i audio.mp3

See INSTALLATION.md for detailed setup including offline engines.

Features

  • Any input format – as long as ffmpeg can read it, it can be transcribed.
  • Diarisation support – by default it uses the gpt-4o-transcribe-diarize model and requests diarized_json output so that speakers are labelled. When you don't need diarisation or want to avoid API costs, you can select the local Whisper engine.
  • Clean rendering – remove filler words, collapse whitespace and insert timestamps every N seconds and on speaker change.
  • Raw output – choose --render raw to write the exact response from the engine (JSON, text, SRT, VTT, etc.).
  • Choice of engine – use the OpenAI API (--engine openai) for high-quality diarised transcripts or choose one of the offline backends when you want to work without an internet connection:
    • Local Whisper (--engine local) – runs the reference openai-whisper model on your machine. This backend produces accurate transcriptions but can be relatively slow on CPU and does not assign speaker labels.
    • faster-whisper (--engine faster) – uses the faster-whisper reimplementation based on CTranslate2. It is up to four times faster than the original open source Whisper implementation and uses less memory, with optional quantisation and GPU acceleration for even greater speed. Since diarisation is not available locally, the engine assigns all words to a single speaker (Speaker 0).
  • Minimal dependencies – uses requests instead of the heavy openai client when talking to the API. The local engine only imports Whisper if you choose --engine local. The faster engine pulls in the faster-whisper package only when selected.

Documentation

Contributing

Contributions are welcome. See CONTRIBUTING.md for PR workflow and DEVELOPMENT.md for setup instructions.

Maintenance

This project is maintained by Ines. For governance, branch protection rules, and release workflow, see MAINTAINERS.md.

License

Released under the terms of the MIT license. See LICENSE for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

otranscribe-0.1.1.tar.gz (43.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

otranscribe-0.1.1-py3-none-any.whl (30.8 kB view details)

Uploaded Python 3

File details

Details for the file otranscribe-0.1.1.tar.gz.

File metadata

  • Download URL: otranscribe-0.1.1.tar.gz
  • Upload date:
  • Size: 43.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for otranscribe-0.1.1.tar.gz
Algorithm Hash digest
SHA256 4435c46b8a53f35db66604baa990bc0e9fa06dc6d13577f9a3fac994d9c73c10
MD5 da864a9c4507f52adc92c669465fa2ac
BLAKE2b-256 dea4de2b9754fbfc5d1a450614790e23eddb6db6a2e7713b613dd99bb0370256

See more details on using hashes here.

Provenance

The following attestation bundles were made for otranscribe-0.1.1.tar.gz:

Publisher: publish.yml on ineslino/otranscribe

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file otranscribe-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: otranscribe-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 30.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for otranscribe-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 62aa217811bf553f2caee37b4ff81f99dea60969550d8a09917815e4182d363d
MD5 420aac1e6d85b4682f36a6f8417e32c0
BLAKE2b-256 b47b38345efb36068acaf5a57e24c195a40e1bf4a3cf70a5cc74356519c580a1

See more details on using hashes here.

Provenance

The following attestation bundles were made for otranscribe-0.1.1-py3-none-any.whl:

Publisher: publish.yml on ineslino/otranscribe

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page