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

Uploaded Python 3

File details

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

File metadata

  • Download URL: geass-0.2.2.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.2.tar.gz
Algorithm Hash digest
SHA256 a2ea857345ece39513f3f8ebd5d9e38b79eeff7b38286ed1530b964dfde1a58a
MD5 1a81393338f2bddc0696bbecaddfea5e
BLAKE2b-256 b839401fe090b8ffadfd0af81691b42346f9651429952b71da90ac6191d62287

See more details on using hashes here.

File details

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

File metadata

  • Download URL: geass-0.2.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 bfec7d8a3a4d9f306f38d6d238920b956dcc0c57a1396fe0f6149998b661ef12
MD5 0b2d89d039c3172e2278ed3530916f54
BLAKE2b-256 dc75bab271ffcf98bf77086db9627b9c0099da994ce373f2accf1332dd7150ab

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