Audio
transcription
asr
voice to text
whisper

Speech-to-Text (STT)

Transcribing spoken audio into text. Whisper family is the open-weight default; faster-whisper + WhisperX deliver production-grade speed.

Setup walkthrough

  1. pip install faster-whisper (CTranslate2-based Whisper — 4× faster than openai-whisper).
  2. Download a model: faster-whisper-large-v3 will auto-download on first use (~3 GB).
  3. CLI usage: create a script transcribe.py:
from faster_whisper import WhisperModel
model = WhisperModel("large-v3", device="cuda", compute_type="float16")
segments, info = model.transcribe("meeting.mp3")
for seg in segments:
    print(f"[{seg.start:.1f}s-{seg.end:.1f}s] {seg.text}")
  1. Run: python transcribe.py. First transcription within seconds.
  2. CPU-only: use device="cpu", compute_type="int8" — 2-3× slower but works on any laptop.
  3. For word-level timestamps, swap to WhisperX (pip install whisperx).

The cheap setup

Whisper large-v3 runs on CPU (Intel i5/Ryzen 5) at 0.2-0.5× real-time — a 1-hour meeting transcribes in 2-5 hours, fine for overnight batch jobs. A used GTX 1060 6 GB ($60) speeds this to 3-5× real-time via CUDA — a 1-hour meeting in 12-20 minutes. Any $300 laptop + a cheap USB microphone handles this. For real-time transcription, add a used GTX 1660 Super 6 GB ($100) for ~10× real-time on Whisper medium.en.

The serious setup

Used RTX 3060 12 GB (~$200-250, see /hardware/rtx-3060-12gb). Runs Whisper large-v3 at 15-20× real-time — a 1-hour meeting in ~3-4 minutes. WhisperX with diarization (speaker labels) at ~8-10× real-time. Can handle 8+ concurrent transcription streams. Pair with Ryzen 7 7700X + 32 GB DDR5 + 2TB NVMe. Total: ~$900-1,100. STT is compute-light — even an RTX 3060 is overkill for most users; prioritize storage for audio archives.

Common beginner mistake

The mistake: Using the original openai-whisper package with default settings and wondering why transcription takes 10× longer than expected. Why it fails: openai-whisper runs on PyTorch with no optimization — it's the reference implementation, not production-grade. The fix: Install faster-whisper (CTranslate2 backend) — identical model weights, 4× faster, 2× less VRAM. And always set compute_type="int8" for CPU or "float16" for GPU. The model choice matters too: tiny.en or base.en handle clean English audio at 10-50× real-time with 90%+ accuracy. Reserve large-v3 for noisy/multilingual audio.

Recommended setup for speech-to-text (stt)

Recommended runtimes

Browse all tools for runtimes that fit this workload.

Reality check

Audio models are surprisingly forgiving on hardware. Whisper, Coqui, OpenAI Whisper-cpp all run well on 8-12 GB GPUs. The bottleneck is rarely the GPU; it's audio preprocessing and disk I/O for batch transcription.

Common mistakes

  • Overspending on GPU for audio-only workflows (8-12 GB is enough for Whisper)
  • Running audio + LLM concurrently without budgeting VRAM
  • Using fp32 weights when fp16 / int8 give 2-3x speedup with no quality loss
  • Forgetting audio preprocessing eats CPU cycles — a fast SSD helps more than expected

What breaks first

The errors most operators hit when running speech-to-text (stt) locally. Each links to a diagnose+fix walkthrough.

Before you buy

Verify your specific hardware can handle speech-to-text (stt) before committing money.

Hardware buying guidance for Speech-to-Text (STT)

Transcription and audio workloads are unusually low on VRAM — most buyers overspend here. The guides below frame the right tier honestly.

Specialized buyer guides
Updated 2026 roundup