Skip to main content

Opinionated CLI for generating transcripts to use with LLMs

Project description

Geass

CLI tool for audio transcription using faster-whisper. Supports local and remote transcription (via Modal), caching, and multiple output formats.

PyPI License Python Version wakapi.dev

Features

  • Transcribes audio files using faster-whisper models (e.g., base, large-v3).
  • Local transcription with CPU/GPU support or remote via Modal with GPU options (T4, A100, etc.).
  • Output formats: plain text, JSON, SRT.
  • Aggregates segments into larger chunks with --interval.

Installation

pip install geass

Requires Python 3.10+. For local GPU use, ensure CUDA and PyTorch are set up.

Usage

List Available Models

geass list-models

Shows all faster-whisper models (e.g., tiny, large-v3-turbo).

Transcribe Audio

geass transcribe audio.wav

Transcribes audio.wav with default settings (base model, text output).

Options

  • -m, --model: Specify model (e.g., -m large-v3).
  • -f, --format: Output format (text, json, srt). Default: text.
  • -s, --save: Save transcription to database.
  • -r, --remote: Use Modal for remote transcription.
  • -g, --gpu: GPU type for remote (e.g., -g A100). Default: A100.
  • -i, --interval: Aggregate segments into intervals (e.g., -i 10 for 10s chunks).

Examples

Transcribe with a specific model and JSON output:

geass transcribe audio.mp3 -m large-v2 -f json

Remote transcription with saving:

geass transcribe audio.wav -r -s

Multiple files with SRT output:

geass transcribe file1.wav file2.mp3 -f srt

Database

Transcriptions are cached in ~/.geass.db. Tables:

  • transcripts: Stores file metadata (path, duration, timings).
  • segments: Stores transcription segments (start, end, text).
  • cache: Maps file hashes to transcript IDs.
  • defaults: Stores settings (model, etc.).

Notes

  • Local GPU transcription uses float16 on CUDA, int8 on CPU.
  • Remote transcription requires a Modal account and setup.
  • The output is wrapped in XML <transcript> tags.

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

geass-0.2.0.tar.gz (843.9 kB view details)

Uploaded Source

Built Distribution

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

geass-0.2.0-py3-none-any.whl (9.8 kB view details)

Uploaded Python 3

File details

Details for the file geass-0.2.0.tar.gz.

File metadata

  • Download URL: geass-0.2.0.tar.gz
  • Upload date:
  • Size: 843.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for geass-0.2.0.tar.gz
Algorithm Hash digest
SHA256 612bbc4251aa65535f0ffbe8e991410c0a81be769bf133298d146a0b79675053
MD5 b1a284e781a2cad5ea1903f18bb74911
BLAKE2b-256 52a5a346291e6665691756bdd855d6bb766d9cd09377aa53610d0c88eb77b737

See more details on using hashes here.

File details

Details for the file geass-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: geass-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 9.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for geass-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ae2a6cd1496772d3c183ee90b0d5d5620a32513d9b1b5d802f09d7c8b791d634
MD5 49bd5dc8f8825859ff5d5a834ac214bf
BLAKE2b-256 ec454caca4bbde56370ade3ed8eb00141e0d24dcc3dc45042d33cd0028c6901f

See more details on using hashes here.

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