# filmcraft-speech Speech-to-text for FilmCraft's Text panel ▸ Transcript (L2). User-facing behaviour, commands and model handling: [docs/transcripts.md](../../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.