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.1.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.1-py3-none-any.whl (9.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: geass-0.2.1.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.1.tar.gz
Algorithm Hash digest
SHA256 3e3ebb01db293fc76c1d4f900272b78a5c313beb5a7a19fb96d1a3e20b4a5a99
MD5 7a4554fbcbac630e0caef74ae6b40cac
BLAKE2b-256 94ce85b95ab95ca9a9dc3a6051ac5a49fde3982281a34717c85da7cb9dca5e5f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: geass-0.2.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8743a49f81eab9d55b7766969431f931d73fbf3dc5027bc5fcd991aa851fbea0
MD5 e90479ecdd1353f2880c005fb3e235c6
BLAKE2b-256 db4559ce9575f0ef1f53644c6ca9fea206e74c9fb3e8139f8f3c69a327006a56

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