Files
tdog37 f1f5c55eba speech: a pause inside a word's span ends the word (#3346) (#3347)
Whisper's alignment makes words contiguous and places a start that
follows a pause late, so the previous word's span held the pause and
the next word's beginning; vad::tighten_words only trimmed silence at
the edges, which were voiced. A run of 200 ms or more of silence with
voice on both sides inside a word's span now ends the word, and the
next word, when contiguous, starts after it. When the voice before the
pause is too short to be the word (under half of 50 ms per letter) the
word starts after the pause, and a contiguous previous word takes the
scrap only when no pause separates its voice from it. Several pauses in
one span cascade through the following words.

On a 60 s probe (whisper-small) the 4 pauses that sat inside words are
all between words afterwards and no word keeps silence at an edge; on
a 48-minute interview the pauses inside a word's span go from 336 of
530 to 0, words longer than 1.5 s from 103 to 28, and the word after a
pause starts within 50 ms of the voiced onset 488 times instead of 192.

AI assistance: Mystic Intelligence for MysticArt Pictures.

Co-authored-by: Brandon Thomas <echelon@gmail.com>
2026-10-30 01:21:31 -04:00
..

filmcraft-speech

Speech-to-text for FilmCraft's Text panel ▸ Transcript (L2). User-facing behaviour, commands and model handling: docs/transcripts.md.

  • Transcriber trait (mono 16 kHz in, word-timed filmcraft_project::Transcript out) and FixedTranscriber for tests and agents.
  • models: Whisper model catalogue (pinned revisions, SHA-256, sizes, licences) and, with feature download, the verified downloader (ureq + rustls + RustCrypto). Weights are never bundled.
  • whisper (feature whisper): Whisper inference on candle (CPU, pure Rust).
  • mel, vad, diarize: log-mel front end, word-bound tightening, MFCC-clustering speaker labels.

Both features are off by default and are never enabled for wasm (cargo xtask wasm checks the crate without them).

References

Implemented from the published description of the model: A. Radford et al., "Robust Speech Recognition via Large-Scale Weak Supervision" (OpenAI, 2022), the model cards and configuration files published with the weights (config.json, generation_config.json, tokenizer.json), and the candle tensor library's public API. Weights: OpenAI Whisper, MIT licence.