unspoken_detect
Detect words a render never spoke by comparing its own transcription against timeline counts. Proposes seams and fragments where captions claim speech that is absent.
Instructions
Propose the words a render's own transcription says were never spoken.
Candidates come from two mechanisms and one witness decides both. A seam is where whisper read across a splice and invented a word; a fragment is where a cut left a sliver of a real one, which draws as a whole word on screen and is inaudible. The witness is the render: the candidate's word is counted in the timeline over a short window and in the render's own transcription over the same seconds, and it is proposed only where the timeline has more of them than the render heard. Counted rather than looked up because the inventions are function words — asking whether the render says "the" near here answers yes off the real one beside it.
apply=False by default, like reframe_detect: this changes what a
caption says, and a wrong mark deletes a real word from every check proofcut
has. Read the echoes first.
transcript_path takes an existing transcription of the render, which is
what verify leaves in cache/verify/. Pass it explicitly — it is never
found automatically, because a re-render under the same filename would
otherwise be judged against the previous render's audio.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| pad | No | Widen the window each candidate is counted in, in seconds. | |
| path | No | The project directory to act on. Omit it — the usual case — when this server is bound to a project (started as `proofcut -C DIR mcp`, or inside a project; `ping` says which): it then resolves to that one bound project, a relative path resolves against it, and a path outside it is refused by name. Unbound, `path` is the whole address and omitting it refuses rather than guessing. | |
| apply | No | Mark the proposals. Off by default, like `reframe_detect`: a wrong mark deletes a real word from every check proofcut has, so read the echoes first. | |
| model | No | The whisper model to transcribe the render with, when no `transcript_path` is given. | |
| render | Yes | The rendered file to judge against — the witness. A word is proposed only where the timeline holds more of it over a span than the render's own transcription heard. | |
| clip_id | No | Limit the scan to one transcript. | |
| language | No | Force a language code for that transcription. | |
| transcript_path | No | An existing transcription of `render`, which is what `verify` leaves in `cache/verify/`. It is never found automatically: a re-render under the same filename would otherwise be judged against the previous render's audio. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||