Speech-to-Text Features
Transcription for meetings, voice notes, and dictation: model options, diarization, timestamps, long files, and post-processing with an LLM.
Speech-to-text is the multimodal feature users understand instantly. Tap a button, talk, get text. It powers meeting notes, voice memos on a phone, dictation for people who type slowly or can't type at all, and searchable archives of calls nobody wants to listen to again. Modern transcription models are good enough that the hard parts have moved. Getting words out of clean audio is mostly solved. Getting the right words out of a noisy call full of product names, knowing who said what and when, and turning a rambling transcript into something useful is where your engineering goes.
In this lesson you'll build voice notes for Deskmate: choose a transcription model, feed it your product's vocabulary, handle long recordings, get speaker labels and timestamps when you need them, and post-process transcripts with an LLM without letting it invent things.
Pick the shape of the feature first
"Transcription" is really three features with different latency and accuracy needs:
| Feature | Latency need | Accuracy need | Typical approach |
|---|---|---|---|
| Voice notes (record, then send) | A few seconds after the recording ends | High; the text is kept | Upload the file, transcribe in one request |
| Meetings and calls (long recordings) | Minutes is fine | High, plus who said what | Background job with chunking, speaker labels, timestamps |
| Live dictation and captions | Words appear while speaking | Good enough to correct as you go | A streaming or realtime transcription session |
Most products should start with the first row. It's the simplest to build, the easiest to make accurate, and it covers more use cases than you'd think: a support agent dictating a ticket update, a field technician describing a repair, a customer leaving a voice message instead of typing a complaint.
Live dictation needs a persistent audio connection and different UX (partial words that change as the model hears more). It shares a lot of machinery with voice conversations, which you'll meet in Realtime Voice Interfaces.