Updated the normalize command to correct common errors in WhisperX-generated input transcripts
All checks were successful
ci/woodpecker/tag/release Pipeline was successful

This commit is contained in:
2026-05-16 23:05:42 -05:00
parent 6dbb7ab17e
commit b20438acf0
7 changed files with 357 additions and 66 deletions

View File

@@ -142,16 +142,16 @@ Global flags:
- Top-level object with a `segments` array.
- Bare top-level array of segment objects (for example, Audita-style output).
`normalize` required segment fields:
- `start`
- `end`
- `speaker`
- `text`
`normalize` behavior:
- Validates `start >= 0`, `end >= start`, and non-empty `speaker`.
- Repairs missing timing fields deterministically:
if one of `start`/`end` is present, sets both to that value;
if both are missing, uses midpoint of previous `end` and next `start`,
with edge fallback to available neighbor and `0.0` for single-segment inputs.
- If `end < start`, swaps them.
- Fills missing/empty `speaker` with `Unknown_Speaker`.
- Drops segments with missing, empty, or whitespace-only `text`.
- Validates repaired timing with `start >= 0`.
- Accepts existing input `id` values as provenance only.
- Reassigns output segment IDs sequentially from `1` to `N`.
- Sorts deterministically by `(start, end, original_input_index, speaker)`.