feat(short): narración — el grounding la cubre, el contrato la admite y el prompt la guía
Build & Deploy ResearchOwl / build-and-push (push) Successful in 10s
Build & Deploy ResearchOwl / build-and-push (push) Successful in 10s
El comprobador va primero, antes que el campo (fase 2 §12): la narración es prosa que el modelo redacta, no una etiqueta que copia, y es donde se cuela una cifra sin fuente. De paso, la huella de una cifra pasa a ser número + unidad canónica: con la voz repitiendo la pantalla, '35,000 FT' y '35,000 feet' son el mismo dato y contarlos dos veces inflaría el informe del que depende la revisión humana. editorial_notes estima la duración CON la voz: la declarada es un suelo y sin esto el modelo escribiría 40 s de shots, les colgaría narración y se enteraría del Short de 65 s cuando ya está pagado. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
93a506b636
commit
a13c3062b6
@@ -63,7 +63,33 @@ keeping until the palette itself proves its value. If it happens, it is an opt-i
|
||||
`Audio.transitions` flag with boundaries passed alongside `silence` — additive, and
|
||||
`sonar`'s reference gate must not notice.
|
||||
|
||||
### 4b. Narration (TTS) + burned-in captions
|
||||
### 4b. Narration (TTS) + burned-in captions — **shipped 2026-08-06**
|
||||
|
||||
What actually landed, and where it differs from the plan below:
|
||||
|
||||
- **Piper as a standalone binary**, not the PyPI package: `piper-phonemize` is a
|
||||
compiled extension whose wheels chase the interpreter version, and the image's
|
||||
Python is pinned by digest. Binary, voice and config are all pinned by sha256 — the
|
||||
voice model *is* the channel's sound.
|
||||
- **`--noise_scale 0 --noise_w 0` is load-bearing.** Measured before building anything:
|
||||
the same line twice gave 5.668 s and 5.796 s with different hashes. With the flags,
|
||||
three runs and one hash. Without that probe the phase would have shipped a renderer
|
||||
that quietly stopped being deterministic.
|
||||
- **Declared duration became a floor**, as planned — plus a consequence the plan
|
||||
missed: `audio.silence` windows are written in absolute seconds, so a stretched shot
|
||||
slides them onto the wrong line. They are now remapped through the shot they pointed
|
||||
at.
|
||||
- **One caption size for the whole video**, fitted against the longest group. Per-group
|
||||
fitting made the type jump between cues, which is the clearest tell of an
|
||||
auto-captioned video.
|
||||
- researchowl got the grounding extension first, as the order below demanded, and one
|
||||
thing that order revealed: with the voice repeating on-screen figures, claims had to
|
||||
be de-duplicated by *canonical unit* ("35,000 FT" and "35,000 feet" are one claim) or
|
||||
every narrated Short would double its own review report.
|
||||
|
||||
Original plan, kept for the record:
|
||||
|
||||
### 4b (as planned). Narration (TTS) + burned-in captions
|
||||
|
||||
These two ship together: most Shorts are watched muted, so the captions matter more than
|
||||
the voice — but both come from the same new field.
|
||||
|
||||
Reference in New Issue
Block a user