Skip to main content

CLI audio transcription via Groq Whisper with optional speaker diarization

Project description

transcribe-all

transcribe-all banner

Python Groq pyannote License

Cloud-first transcription CLI with optional speaker diarization. Built for fast hackathon delivery: simple install, practical output, and clear timestamps.

Why this project

  • Fast transcription via Groq Whisper models
  • Speaker segmentation via pyannote (optional)
  • Clean sentence blocks with timestamp formatting
  • Handles large files by splitting and merging automatically
  • Works from terminal with one command

Pipeline diagram

Quick start

git clone https://github.com/syrex1013/Transcribe.git
cd Transcribe
chmod +x install.sh transcribe
./install.sh

Transcribe:

transcribe recording.mp3 en

Package manager installs

Homebrew

brew tap syrex1013/transcribe-all https://github.com/syrex1013/Transcribe
brew install transcribe-all

APT (apt-get)

echo "deb [trusted=yes] https://hacklabjournal.me/Transcribe/apt ./" | sudo tee /etc/apt/sources.list.d/transcribe-all.list
sudo apt-get update
sudo apt-get install -y transcribe-all

pip

pip install transcribe-all

Optional diarization extras:

pip install "transcribe-all[diarize]"

Full install details and troubleshooting: INSTALLATION.md

Usage

# basic
transcribe input.mp3 en

# expected speaker count
transcribe interview.mp3 en --speakers 2

# disable diarization
transcribe lecture.mp3 en --no-diarize

# local whisper.cpp mode
transcribe input.mp3 en --local

Configuration

The tool reads tokens from environment variables and from:

~/.config/transcribe/config

Required:

  • GROQ_API_KEY

Optional:

  • HF_TOKEN for pyannote speaker diarization
  • WHISPER_MODEL_PATH for --local mode (path to ggml-large-v3.bin)

Use .env.example as reference.

Example output

-- Speaker 1 ----------------------------------------
[00:00]  Welcome to the demo recording.
[00:04]  Today we will test HTTP interception in Burp.

-- Speaker 2 ----------------------------------------
[01:32]  Open the Proxy tab and enable intercept.
[01:38]  Now inspect headers and session cookies.

Project layout

.
|- transcribe              # CLI entrypoint
|- transcribe_groq.py      # Core transcription + diarization pipeline
|- install.sh              # Installer for dependencies and shell setup
|- INSTALLATION.md         # Detailed install and PATH guide
|- .env.example            # Environment variable template
|- CHANGELOG.md
|- RELEASE_CHECKLIST.md
`- assets/
   |- hero-banner.svg
   `- pipeline-diagram.svg

Release notes

Initial release artifacts are prepared:

  • .gitignore for Python, secrets, generated transcripts, and media
  • LICENSE (MIT)
  • CHANGELOG.md
  • RELEASE_CHECKLIST.md

Installation guide

The installer is designed to:

  • Install required dependencies: ffmpeg, ffprobe, Python packages from requirements.txt
  • Install transcribe globally in /usr/local/bin when possible
  • Fallback to user-local install in ~/.local/bin when system install is unavailable
  • Update shell profile so transcribe is available everywhere
  • Persist token config in ~/.config/transcribe/config

License

MIT. See LICENSE.

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

transcribe_all-0.3.0.tar.gz (12.3 kB view details)

Uploaded Source

Built Distribution

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

transcribe_all-0.3.0-py3-none-any.whl (10.8 kB view details)

Uploaded Python 3

File details

Details for the file transcribe_all-0.3.0.tar.gz.

File metadata

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

File hashes

Hashes for transcribe_all-0.3.0.tar.gz
Algorithm Hash digest
SHA256 4e4e719b2b38c1f61071d7c0ce508b499c5031fd5dcc11c305b75de4f54d54cf
MD5 b8b15c3c4337a83fc98659ca42082a29
BLAKE2b-256 f11bb2bc214c359ff54dcaf58a28570ae2e86bf1709ef98ddf02e28e82bf6f7c

See more details on using hashes here.

Provenance

The following attestation bundles were made for transcribe_all-0.3.0.tar.gz:

Publisher: publish-pypi.yml on syrex1013/Transcribe

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

File details

Details for the file transcribe_all-0.3.0-py3-none-any.whl.

File metadata

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

File hashes

Hashes for transcribe_all-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8eb8e910b4034be793316635b6900d31a160a32d2c5de76bb7351adc8f43d325
MD5 27859696cc8a3346f72fd7d0a96425e2
BLAKE2b-256 f5c7a1230e37886c7fe344ea8c3a433734a8530f26a380a7964afe1d615857fb

See more details on using hashes here.

Provenance

The following attestation bundles were made for transcribe_all-0.3.0-py3-none-any.whl:

Publisher: publish-pypi.yml on syrex1013/Transcribe

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