Transcribe audio to text and subtitles
Drop an audio or video file. Get a transcript plus SRT and VTT subtitle files, entirely on your device.
Nothing is uploaded. Everything runs in this tab with @audio/neural-asr and @audio/subtitle.
Whisper speech recognition in your browser
This page runs @audio/neural-asr, a wrapper around transformers.js and ONNX Runtime that drives Whisper (Radford et al., OpenAI 2022) entirely on your device. Drop a file, watch the model download once, read the transcript, save it as text or subtitles. Nothing is sent anywhere.
Three model sizes
Tiny, base and small are the same Whisper architecture at 39M, 74M and 244M parameters, converted to ONNX by the onnx-community project and 4-bit block-quantized (dtype: 'q4') for a browser-sized download: about 91, 136 and 285 MB. Bigger models make fewer mistakes on accents, background noise and unusual words, at the cost of a longer download and slower inference.
Sentence or word timestamps
Segment timestamps come straight from Whisper's own chunk boundaries and are the reliable default. Word-level timestamps need cross-attention data that only the older Xenova Whisper exports carry, so picking "Per word" switches the model to the matching Xenova conversion automatically.
Transcript, SRT, VTT
@audio/subtitle writes the recognised segments (or words, via fromWords, when word timestamps are on) to SubRip (.srt) and WebVTT (.vtt) alongside a plain .txt transcript, ready to attach to a video or feed to an editor.
Questions
Is the audio uploaded anywhere?
No. Recognition runs in your browser with Whisper through @audio/neural-asr (transformers.js on ONNX Runtime, WASM or WebGPU). Audio never leaves your device. The Whisper model itself downloads once from huggingface.co and is cached by the browser; every transcription after that runs offline.
Does it detect the language automatically?
No. The browser Whisper pipeline does not auto-detect language; leaving the selector on Auto quietly assumes English. Pick the spoken language from the list for anything else — the wrong language still produces fluent but wrong text.
Which model should I pick?
Tiny (91 MB) is fastest, good for a quick draft of clear speech. Base (136 MB) is the default: a real accuracy step up for a modest extra download. Small (285 MB) gets closest to a human transcript but downloads more and runs slower, especially on a phone.
How accurate are word-level timestamps?
They come from Whisper's cross-attention alignment, documented as accurate to roughly ±100 ms, sometimes worse: short function words can land at the same instant. Sentence timestamps use Whisper's own segment boundaries and are more reliable; pick word-level only when you need karaoke-style captions.
What happens with silence or music?
Whisper has no explicit silent output. Fed music, noise or long silence it can produce fluent invented text instead of nothing. Trim non-speech sections before transcribing anything you plan to publish as-is.
More audio utilities
- Extract audio from video
- Remove or replace video audio
- Audio converter
- Loudness meter and normalizer
- Noise remover
- Remove silence from audio
- Wow and flutter fixer
- Key and BPM finder
- Vocal remover
- Pitch and tempo changer
- MIDI to MP3
- Audio to MIDI and sheet music
- Tuner
- Audio recorder
- Lossless audio checker
- Spectrogram
- Room and speaker measurement