Files
narratio/docs/internal/stage-transcribe.md

37 lines
1014 B
Markdown
Raw Normal View History

2026-05-18 22:03:59 -05:00
# Stage: transcribe
## Purpose
Generate raw per-speaker transcripts from prepared audio using WhisperX.
2026-05-18 22:03:59 -05:00
## Inputs
- `audio/*.flac` from `prepare`
2026-05-18 22:03:59 -05:00
## Outputs
- `transcripts/raw/<speaker>.json`
2026-05-18 22:03:59 -05:00
## Key Behavior
- discovers prepared audio from manifest inputs or canonical audio directory.
- derives speaker ID from `.flac` basename.
- dispatches WhisperX requests through a bounded worker pool.
- validates each output as JSON.
- writes run-local outputs then materializes canonical transcript outputs.
2026-05-18 22:03:59 -05:00
## Invariants
- speaker basenames must be unique.
- output path returned by adapter must match requested output path.
- each successful output is validated before stage success.
## Related Contracts And Tests
- [WhisperX](../integrations/whisperx.md) owns HTTP, retry, timeout, and
cancellation semantics.
- [Configuration](../config.md#pipeline) owns concurrency and other
operator-selected values.
- Implementation and tests: `internal/stage/transcribe.go`,
`internal/stage/transcribe_test.go`