A local pipeline for turning tabletop RPG recordings into accurate, timestamped transcripts and AI-assisted session summaries.
Designed for long-form tabletop sessions such as Delta Green campaigns.
- Convert session recordings into high-quality transcripts
- Support both single-track and multi-track recordings
- Preserve timestamps and recording context
- Produce portable transcript formats
- Keep processing modular and tool-agnostic
- Provide optional AI-assisted analysis (future)
- Python project setup with uv
- Typer CLI
- Rich logging and progress output
- TOML configuration system
- FFmpeg audio extraction
- Audio validation
- Audio chunking with overlap
- Faster-Whisper transcription backend
- Configurable transcription models
- CPU inference
- Timestamped transcript segments
- Initial prompt support
- Basic progress reporting
Phase 1 — Artifact System
- Define artifact directory structure
- Define JSON schemas
- Audio artifact
- Chunk manifest
- Chunk transcript
- Final transcript
- Add artifact versioning
- Add artifact loading/saving
Goal:
Have a reliable machine-readable transcript that every other feature consumes.
Support real-world tabletop recording setups.
- Track metadata
- Stream index
- Channel information
- Speaker label
- Transcribe tracks independently
- Compile transcripts chronologically
- Preserve speaker information
Supported workflows:
- OBS recordings
- Discord recordings
- Craig multi-track exports
- Standard video files
Convert transcript artifacts into usable formats.
- JSON export
- Markdown export
- Plain text export
- Export templates
- Human-readable formatting
- Speaker formatting
Examples:
[00:12:42] Marcus:
You arrive at the Macallistar Building...
[00:12:55] Morgan:
I check the apartment.
Improve transcript accuracy.
-
Prompt template system
- Game system terminology
- Campaign terminology
- Character/NPC names
- Locations
- Language-specific hints
-
Configurable transcription parameters
-
Rolling context prompts
-
Transcript cleanup/post-processing
-
Better handling of slang and proper nouns
Future:
- GPU acceleration
Make Dossier usable as a repeatable processing tool.
- Independent pipeline stages
- Resume interrupted jobs
- Skip completed stages
- Cache completed stages
- Re-run individual stages
- Support for multiple transcriptions of the same file (for testing parameters, for ex)
Examples:
dossier audio session.mkv
dossier transcribe session/
dossier export session/
dossier analyze session/- Batch processing
- Job manifests
Optional AI-powered features.
- Short recap
- Detailed recap
- Scene breakdown
- Important events
- Character moments
- Player decisions
- Characters/NPCs
- Locations
- Organizations
- Items
- Clues
- Important terminology
- Unresolved threads
- Chronological events
- Key moments with timestamps
- Decisions and consequences
Improve long-term usability.
- Better error handling
- Logging system
- Performance benchmarks
- Documentation
- Example configurations
- Test suite
- Full-text transcript search
- Semantic search
- Local RAG over sessions
- HTML transcript viewer
- PDF export
- Audio ↔ transcript synchronization
- JSON should be the source of truth.
- Each pipeline stage should be independent.
- Transcription, export, and analysis should remain separate.
- LLM usage should be optional.
- Configuration should be preferred over hardcoded behavior.
- External integrations (Obsidian, databases, etc.) are outside the scope of Dossier.
- Multi-track recordings should be preferred over automatic diarization when available.