Thanks for your interest in contributing!
- Fork the repo and clone your fork
- Install external tools:
brew install ffmpeg wdiff ollama(macOS) orapt install ffmpeg wdiff+ Ollama (Ubuntu/Debian) - Install in editable mode with dev dependencies:
pip install -e .[dev] - Run tests:
pytest -v
- Create a feature branch from
main - Add tests for new functionality
- Run
pytest -vand ensure all tests pass before submitting - Keep PRs focused — one feature or fix per PR
Source code lives in src/transcribe_critic/:
shared.py— Shared types (SpeechConfig,SpeechData) and utilitiestranscriber.py— Pipeline orchestration, CLI, cost estimation, source survival analysisdownload.py— Media downloading (yt-dlp)transcription.py— Whisper transcription and multi-model ensemblingdiarization.py— Speaker diarization (pyannote)merge.py— Merge/alignment logic (wdiff, chunking, LLM adjudication)slides.py— Slide extraction and vision analysisoutput.py— Markdown generation
Tests are in tests/, organized by module: test_shared.py, test_transcriber.py, test_transcription.py, test_download.py, test_merge.py, test_output.py, test_slides.py, test_diarization.py.
Open an issue with steps to reproduce. For transcription quality issues, include the source URL and which merge path was used (structured vs. flat).