Local speech recognition & synthesis

Local AI speech recognition: transcribe on your own PC

Transcribing a lecture or interview by replaying it takes time. Local speech recognition processes a recording on your computer. First check the language, runtime1, and timing on your own machine. Published speed numbers are useful only when you read their test conditions too.

Requirements and key details
  • Do not shorten Qwen3-ASR's coverage to “52 languages.” Its official total combines 30 named languages and Chinese dialects.
  • The published faster-whisper speed is total time for 13 minutes of audio on an RTX 3070 Ti using Large-v2. It is not a Turbo result.
  • Offline use may still require internet for installation and the initial model download. Disconnect afterward to confirm the workflow.

What do you need to transcribe?

Choose a recording you actually use. A short memo, noisy interview, and lecture mixing English and Korean pose different challenges. Test with audio close to your real language and recording conditions, and keep a reference transcript. A short clip cannot guarantee accuracy on a long meeting.

Include a few repeated names and numbers in the reference transcript to make errors easier to spot. Note whether mistakes came from noise, accent, or overlapping speech. Reuse the same recording when switching models so you can distinguish a runtime change from a different input.

A wooden desk with a recorder, mini computer and open notebook
Begin with a short test resembling your real audio.

Read language coverage, not just the model name

Whisper Large-v3-Turbo lists 99 languages, including Korean, English, and Japanese. Qwen3-ASR2 also names Arabic, Hindi, Indonesian, Vietnamese, Persian, and more. A supported-language list is a starting point, not a guarantee of equal quality across accents or specialist vocabulary.

Mac and GPU support depends on the runtime

whisper.cpp documents Metal/Core ML on Apple Silicon, CPU3, and NVIDIA CUDA4. faster-whisper supports CPU and NVIDIA CUDA; an official Metal path was not found. Qwen3-ASR recommends vLLM for fast GPU5 servers. A model running on a Mac is not the same as first-party Mac acceleration support.

Initial setup may download weights and Python packages; confirm that the application explicitly uses local files. An app may also bundle cloud transcription, account sync, or error reporting. For sensitive recordings, check network requests and storage from microphone input through the saved transcript.

A recorder and headphones on a folded blanket beside a notebook
Acceleration paths differ by runtime, even for the same model.

Verify the setup with a short file

Install faster-whisper in a Python virtual environment6 and try a short WAV first. For CPU-only use, select `compute_type="int8"`. Replace the filename in the example with your WAV path. The first run downloads model weights and needs an internet connection. NVIDIA GPU use requires cuBLAS for CUDA 12 and cuDNN 9; original Whisper also requires FFmpeg.

Install a CPU int8 environment
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install faster-whisper
macOS/Linux shell example. On Windows, activate with the virtual environment's Scripts\Activate.ps1.
Transcribe a short WAV
from faster_whisper import WhisperModel

model = WhisperModel("small", device="cpu", compute_type="int8")
segments, info = model.transcribe("sample.wav", language="ko", beam_size=5)
for segment in segments:
    print(f"{segment.start:.2f}–{segment.end:.2f}  {segment.text}")
Place your file at sample.wav. language="ko" selects Korean; use "en" or "ja" for those languages. Separate the initial model download from transcription time.

Read the conditions behind published speed

SYSTRAN publishes a faster-whisper test on 13 minutes of audio using an 8 GB RTX 3070 Ti and CUDA 12.4. Large-v2 FP167 took 63 seconds and 4,525 MB VRAM8 at batch 1, or 17 seconds and 6,090 MB at batch 8. Batch 8 is batched audio inference9, not eight live users. Results vary with input, quantization10, and model version.

A mini computer and desktop tower with headphones between them
Record the model, input, and batch conditions with each timing.

Check accuracy with your language and recording

English is commonly compared with word error rate (WER), while Korean and Japanese often use character error rate (CER). Record how spacing, numbers, and punctuation are normalized. Public benchmarks apply to specific datasets. Include names, products, and code-switching that matter to your work in a short test and inspect errors directly.

“Turbo” denotes a different operating profile from the full large model; it does not mean a smaller model is always more accurate or faster. Transcription and speech translation are also separate tasks. Treat Whisper Turbo as speech-to-text11 in the original language; OpenAI recommends checking Large or Medium for translation into English.

Terminology notes

  1. RuntimeSoftware that loads model files and runs their computations. Supported formats, hardware, and optimizations vary by runtime.

    Back to the text
  2. Automatic Speech RecognitionTechnology that recognizes spoken language in audio and converts it to text. The recognized text represents the utterance, not a reconstruction of the audio.

    Back to the text
  3. CPUThe central processor that executes general-purpose program instructions. AI workloads may divide work between it and other processors such as GPUs.

    Back to the text
  4. CUDAA software platform for general-purpose computing on NVIDIA GPUs. Programs built for CUDA are not guaranteed to run unchanged on other GPUs.

    Back to the text
  5. GPUA processor designed to handle many calculations in parallel. It performs model computations during AI inference.

    Back to the text
  6. Python virtual environmentAn isolated space for installing Python packages per project. It helps reduce version conflicts and is not a virtual machine.

    Back to the text
  7. FP16A 16-bit floating-point format. It uses the same bit width as BF16 but allocates bits differently between exponent and significand.

    Back to the text
  8. VRAMMemory used by a graphics card’s GPU for model weights and intermediate values. It is distinct from system RAM.

    Back to the text
  9. InferenceThe process of using a trained model to compute an output for an input. Here, local inference means running the model on the user’s device.

    Back to the text
  10. QuantizationRepresenting model values with fewer bits. Memory use, accuracy, or execution speed may change; the effects depend on the format and implementation.

    Back to the text
  11. Speech-to-TextThe task or system that converts spoken audio into text. The term is often used interchangeably with Automatic Speech Recognition (ASR).

    Back to the text