# Audita Audita takes raw audio transcripts and uses an LLM to identify and fix misheard words, jargon, and domain-specific terms. ## Development This project is set up for `uv`. ```sh uv sync --extra dev uv run pytest ``` ## Usage Set an OpenRouter API key, then process a transcript with a glossary: ```sh export OPENROUTER_API_KEY=... uv run audita process transcript.json --glossary glossary.yaml --output corrected.json ``` From a checked-out repository, you can also use the root launcher: ```sh ./audita process transcript.json --glossary glossary.yaml --output corrected.json ``` For a system-wide command, install the source tree under `/usr/local/src/audita`, sync dependencies there, and symlink the root launcher into your `PATH`: ```sh cd /usr/local/src/audita uv sync --extra dev ln -s /usr/local/src/audita/audita /usr/local/bin/audita audita process transcript.json --glossary glossary.yaml --output corrected.json ``` Without `--output`, Audita writes the corrected transcript JSON to stdout and progress logs to stderr. Useful configuration can be supplied by CLI flag or environment variable: - `AUDITA_MODEL`, default `openrouter/mistralai/mistral-small-3.2-24b-instruct` - `AUDITA_BASE_URL`, default `https://openrouter.ai/api/v1` - `AUDITA_MAX_SECTION_TOKENS`, default `16000` - `AUDITA_CONFIDENCE_THRESHOLD`, default `0.60` - `AUDITA_MAX_RETRIES`, default `3` - `AUDITA_GLOSSARY_MAX_LLM_PASSES`, default `3`, for total glossary correction passes - `AUDITA_WORK_DIR`, default `/tmp/audita` `AUDITA_WORK_DIR` stores per-run diagnostics while processing. Successful runs clean up their run directory unless corrections are skipped for target mismatches; failed runs and skipped-correction runs preserve diagnostics for debugging.