Installation

May 22, 2026 ยท View on GitHub

RealtimeSTT uses install extras so each environment can install only the transcription engines and wake-word backends it needs.

Recommended default local Whisper install:

python -m pip install "RealtimeSTT[faster-whisper]"

Core package only, without a transcription engine or wake-word backend:

python -m pip install RealtimeSTT

The core install includes microphone/audio support, WebRTC VAD, recorder VAD logic, websocket client/server dependencies, and shared audio utilities. For a self-contained local Silero VAD backend, install recommended, default, or silero-onnx-cpu. It does not install faster-whisper, Porcupine, or OpenWakeWord unless you request those extras.

Python Environment

Use Python 3.11 or newer. The current pinned core dependency set includes packages whose published wheels require Python 3.11+.

Some optional engines have narrower platform targets than the core package:

FeaturePractical install target
Core RealtimeSTTPython 3.11 or newer.
Meta Omnilingual ASRLinux or WSL2 with Python 3.11.x. Native Windows cannot run the Omnilingual runtime, and Python 3.12.x currently cannot resolve the upstream omnilingual-asr>=0.2.0 package from PyPI because its metadata excludes normal 3.12 patch releases.
Kroko-ONNX Windows builderWindows x64 with CPython 3.12.x for stt-install-kroko --build. The core package may install on Python 3.11+, but the current Kroko Windows wheel builder does not.

Use a virtual environment when possible:

python -m venv .venv
source .venv/bin/activate
python -m pip install -U pip setuptools wheel
python -m pip install "RealtimeSTT[faster-whisper]"

On Windows PowerShell:

python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install -U pip setuptools wheel
python -m pip install "RealtimeSTT[faster-whisper]"

Install Extras

Extras can be combined with commas:

python -m pip install "RealtimeSTT[faster-whisper,porcupine]"
python -m pip install "RealtimeSTT[whisper-cpp,openwakeword]"
ExtraInstallsUse when
faster-whisperfaster-whisperDefault CTranslate2 Whisper backend.
whisper-cpp / whispercpppywhispercppwhisper.cpp backend for CPU-focused setups.
openai-whisperopenai-whisperOriginal OpenAI Whisper Python backend.
sherpa-onnx / sherpasherpa-onnxCPU INT8 sherpa-onnx Parakeet or Moonshine engines.
transformerstransformersShared dependency for Transformers-based ASR engines.
moonshine, granite, coheretransformersAliases for the corresponding Transformers engines.
parakeet / nvidia-parakeetnemo_toolkit[asr]NVIDIA NeMo Parakeet backend, best on Linux or WSL2.
omnilingual / omnilingual-asr / meta-omnilingual-asromnilingual-asr>=0.2.0, matching torch==2.8.0 / torchaudio==2.8.0 on Linux/WSL2 Python 3.11.xMeta Omnilingual ASR backend. Native Windows installs skip the actual Omnilingual runtime by package marker, and Python 3.12.x is not a practical install target until upstream dependency metadata changes.
qwen / qwen3-asrqwen-asrQwen ASR backend.
qwen-vllmqwen-asr[vllm]Qwen ASR with vLLM support.
kroko-builderRealtimeSTT builder helper, huggingface_hubBuilds/installs Kroko-ONNX from upstream and downloads public Community models. On Windows, the builder currently requires CPython 3.12 x64. For AudioToTextRecorder smoke tests or live microphone use, combine it with silero-onnx-cpu.
porcupine / pvporcupine / pvppvporcupinePorcupine wake-word backend.
openwakeword / owwopenwakewordOpenWakeWord wake-word backend.
wakewords / wake-wordspvporcupine, openwakewordBoth wake-word backends.
recommended / defaultfaster-whisper, silero-vad[onnx-cpu]Default local transcription plus the faster raw CPU ONNX Silero VAD path.
allAll PyPI-installable optional backendsBroad development or experimentation environments.

kroko-builder does not install Kroko-ONNX by itself; it exposes stt-install-kroko, which builds and installs Kroko-ONNX from upstream:

python -m pip install "RealtimeSTT[kroko-builder,silero-onnx-cpu]"
stt-install-kroko --build

The silero-onnx-cpu extra is not needed to build Kroko-ONNX itself, but recorder-based Kroko smoke tests and live AudioToTextRecorder usage need a local VAD backend.

On Windows, use Python 3.12 x64 and start Docker Desktop first. The Docker Desktop Linux engine must be running before the builder starts:

python --version
git --version
docker version

docker version should show both Client and Server sections. docker --version only checks that the Docker CLI is installed; it does not verify that Docker Desktop's engine is running. If the default builder cache is not writable, use a project-local work directory:

stt-install-kroko --build --work-dir .\kroko-builder-work

If the default builder cache is not writable and --work-dir is not set, the helper falls back to .\kroko-builder-work automatically.

Download a public Community model after the builder finishes:

New-Item -ItemType Directory -Path test-model-cache\kroko-onnx -Force
python -c "from huggingface_hub import hf_hub_download; hf_hub_download(repo_id='Banafo/Kroko-ASR', filename='Kroko-EN-Community-64-L-Streaming-001.data', local_dir='test-model-cache/kroko-onnx')"

See engines/kroko-onnx.md.

VAD Dependencies

WebRTC VAD is installed with the core package. The recorder also initializes a Silero VAD path. If you want a self-contained local Silero backend without depending on Torch Hub caches or downloads at runtime, install recommended, default, or silero-onnx-cpu.

Wake-word dependencies are optional. If you do not use wake words, install no wake-word extra. If you set wake_words without a wakeword_backend, RealtimeSTT uses Porcupine for backward compatibility, so install the porcupine extra.

Platform Notes

Linux

Install PortAudio and Python headers before installing PyAudio:

sudo apt-get update
sudo apt-get install python3-dev portaudio19-dev
python -m pip install "RealtimeSTT[faster-whisper]"

Some examples and tests also use ffmpeg or libsndfile:

sudo apt-get install ffmpeg libsndfile1

macOS

Install PortAudio through Homebrew:

brew install portaudio
python -m pip install "RealtimeSTT[faster-whisper]"

Windows

Install from a normal terminal or PowerShell session:

python -m pip install "RealtimeSTT[faster-whisper]"

If a dependency needs a compiler on your machine, install the relevant wheel package first when one is available. webrtcvad-wheels is used by the project to avoid the older source-only WebRTC VAD install path.

Meta Omnilingual ASR is not available for native Windows inference. The omnilingual extra is guarded by a non-Windows package marker because fairseq2n, one of Meta Omnilingual ASR's dependencies, does not provide a Windows wheel. Use Linux or WSL2 with Python 3.11.x when selecting omnilingual_asr.

CUDA Notes

RealtimeSTT can run on CPU with small models, but CUDA is strongly preferred for low-latency realtime transcription and larger Whisper-family models.

Install the NVIDIA driver, CUDA runtime/toolkit, and cuDNN version that matches your PyTorch build. Then install a CUDA-enabled PyTorch and torchaudio wheel before installing RealtimeSTT, for example:

python -m pip install torch torchaudio --index-url https://download.pytorch.org/whl/cu121
python -m pip install "RealtimeSTT[faster-whisper]"

Use the PyTorch install selector for the exact command for your driver and CUDA version. Keep device="cuda" for GPU inference and use device="cpu" for CPU or CPU-only engine stacks.

Optional Engine Dependencies

Install only the engine stack you plan to use:

EngineInstall commandModel handling
faster_whisperpython -m pip install "RealtimeSTT[faster-whisper]"Downloads CTranslate2 models automatically through faster-whisper.
whisper_cpppython -m pip install "RealtimeSTT[whisper-cpp]"pywhispercpp can download known ggml models; local paths are also supported.
openai_whisperpython -m pip install "RealtimeSTT[openai-whisper]"Downloads OpenAI Whisper models automatically to its cache or download_root.
moonshinepython -m pip install "RealtimeSTT[moonshine]"Downloads Hugging Face model files automatically. English-only in this adapter.
sherpa_onnx_*python -m pip install "RealtimeSTT[sherpa-onnx]"Model bundles must be downloaded and extracted manually.
parakeetpython -m pip install -U "RealtimeSTT[parakeet]"NeMo downloads from the configured model id/cache. Best on Linux or WSL2.
omnilingual_asrpython -m pip install "RealtimeSTT[omnilingual]"Meta Omnilingual ASR downloads through its Linux/WSL fairseq2 cache. Use Python 3.11.x. The extra requires omnilingual-asr>=0.2.0 for v2 model cards and constrains matching torch/torchaudio builds. Native Windows installs are not supported because fairseq2n has no Windows wheel.
granite_speechpython -m pip install "RealtimeSTT[granite]"Downloads Hugging Face model files automatically.
qwen3_asrpython -m pip install -U "RealtimeSTT[qwen]"Downloads Qwen model files through the Qwen ASR package.
cohere_transcribepython -m pip install "RealtimeSTT[cohere]"Downloads Hugging Face model files; gated model access may be required.
kroko_onnxpython -m pip install "RealtimeSTT[kroko-builder,silero-onnx-cpu]", then stt-install-kroko --buildPublic Community models can auto-download or be downloaded with huggingface_hub; Pro/private models need an existing .data path, direct URL, or explicit repo/token options. silero-onnx-cpu provides the local VAD backend needed by recorder-based smoke tests and live microphone use.

Per-engine setup lives in transcription-engines.md and the docs/engines/ pages.

Meta Omnilingual ASR Notes

Use a Linux or WSL2 virtual environment with Python 3.11.x:

python -m venv .venv
source .venv/bin/activate
python -m pip install -U pip setuptools wheel
python -m pip install "RealtimeSTT[omnilingual]"

Do not use native Windows or Python 3.12.x for the Omnilingual runtime. Native Windows lacks a fairseq2n wheel, and omnilingual-asr==0.2.0 currently declares Requires-Python: <=3.12,>=3.10, which excludes normal Python 3.12 patch releases such as 3.12.3 during dependency resolution.

If you install a CUDA-enabled PyTorch stack separately, make sure torch and torchaudio come from matching builds. A mismatched pair can pass python -m pip check but fail later while importing omnilingual_asr, for example with a missing libcudart.so shared-library error.

The default Omnilingual model is omniASR_CTC_1B_v2. If the installed omnilingual-asr package does not know that card, treat it as a dependency version mismatch. Do not silently fall back to older non-v2 cards unless they pass your own language and quality smoke tests.

Wake Word Dependencies

Porcupine wake words:

python -m pip install "RealtimeSTT[porcupine]"

OpenWakeWord:

python -m pip install "RealtimeSTT[openwakeword]"

Both wake-word backends:

python -m pip install "RealtimeSTT[wakewords]"

Wake-word setup is documented in wake-words.md.

FastAPI Server Dependencies

For the browser streaming server:

python -m pip install -r example_fastapi_server/requirements.txt

Then install the selected ASR engine stack, for example:

python -m pip install "RealtimeSTT[faster-whisper]"

See fastapi-server.md.

Verifying The Install

from RealtimeSTT import AudioToTextRecorder

if __name__ == "__main__":
    with AudioToTextRecorder(model="tiny", device="cpu") as recorder:
        print("Speak now")
        print(recorder.text())

For the test workflow, see testing.md.