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.
Features
- Transcribes audio files using
faster-whispermodels (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 10for 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
float16on CUDA,int8on 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3e3ebb01db293fc76c1d4f900272b78a5c313beb5a7a19fb96d1a3e20b4a5a99
|
|
| MD5 |
7a4554fbcbac630e0caef74ae6b40cac
|
|
| BLAKE2b-256 |
94ce85b95ab95ca9a9dc3a6051ac5a49fde3982281a34717c85da7cb9dca5e5f
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8743a49f81eab9d55b7766969431f931d73fbf3dc5027bc5fcd991aa851fbea0
|
|
| MD5 |
e90479ecdd1353f2880c005fb3e235c6
|
|
| BLAKE2b-256 |
db4559ce9575f0ef1f53644c6ca9fea206e74c9fb3e8139f8f3c69a327006a56
|