Expand description
scribble — a small, focused transcription library with a pluggable ASR backend.
§Overview
Scribble provides a clean, idiomatic Rust API for audio transcription, designed to work equally well in CLI tools and long-running services.
At a high level, Scribble wires together:
- Media demuxing and audio decoding (via Symphonia)
- Audio normalization and resampling (mono, 16 kHz)
- Backend inference (built-in Whisper backend available)
- Pluggable output encoders (JSON, VTT, etc.)
The library emphasizes:
- Explicit control flow
- Streaming-friendly design
- Clear separation of concerns
- Minimal surprises for callers
Most consumers should start with crate::Scribble.
Structs§
- Opts
- Options that control how a transcription is performed.
- Scribble
- The main high-level transcription entry point.
- Segment
- A single transcription segment produced by an ASR backend.
- Whisper
Backend - Built-in backend powered by
whisper-rs/whisper.cpp.
Enums§
- Error
- Scribble’s crate-wide error type.
- Output
Type - The supported output formats for encoded transcription segments.
Traits§
- Backend
- Pluggable ASR backend used by
crate::Scribble. - Backend
Stream - Streaming transcription interface returned by
Backend::create_stream. - Segment
Encoder - A streaming encoder for transcription segments.
Functions§
- init_
logging - Initialize structured JSON logging.
Type Aliases§
- Result
- Scribble’s crate-wide result type.