← all repositories
Uberi/speech_recognition

Python's universal remote for speech-to-text engines

It exists because switching between a dozen speech-to-text backends shouldn't require rewriting your audio pipeline every time.

9k stars Python Image · Video · Audio
speech_recognition
Not currently ranked — collecting fresh signals.
star history

What it does SpeechRecognition is a Python library that wraps more than a dozen speech-to-text engines and APIs behind a single interface. You can feed it microphone audio or pre-recorded files, then swap between offline models like OpenAI Whisper and cloud services such as Azure or Groq without touching your audio capture code. It handles the tedious wiring — noise calibration, audio data conversion, and backend-specific quirks — so you don’t have to.

The interesting bit The real value is diplomatic normalization: it treats CMU Sphinx, Vosk, and the OpenAI Whisper API as interchangeable citizens of the same Recognizer class. It even supports OpenAI-compatible self-hosted endpoints like vLLM and Ollama, which turns the library into a lightweight abstraction layer rather than just a client SDK.

Key highlights

  • Supports 15+ backends, from offline options (Whisper, Vosk, Sphinx) to cloud APIs (Google, Azure, Cohere, Groq).
  • OpenAI-compatible endpoint support lets you point at self-hosted Whisper instances with minimal fuss.
  • Built-in microphone input, background listening, and ambient noise threshold calibration.
  • Dependencies are modular; you only install the packages required for the backends you actually use.

Caveats

  • The README warns that PocketSphinx packages in most repositories are outdated and building from source is recommended.
  • One listed backend, Microsoft Bing Voice Recognition, is explicitly marked as deprecated.
  • There are no accuracy, latency, or cost comparisons between backends, so you’ll need to benchmark trade-offs yourself.

Verdict Worth a look if you need to prototype across multiple STT providers or migrate from offline to cloud without rewriting audio I/O logic. Skip it if you want a single, tightly optimized production pipeline rather than a multi-backend adapter.

Frequently asked

What is Uberi/speech_recognition?
It exists because switching between a dozen speech-to-text backends shouldn't require rewriting your audio pipeline every time.
Is speech_recognition open source?
Yes — Uberi/speech_recognition is open source, released under the BSD-3-Clause license.
What language is speech_recognition written in?
Uberi/speech_recognition is primarily written in Python.
How popular is speech_recognition?
Uberi/speech_recognition has 9k stars on GitHub.
Where can I find speech_recognition?
Uberi/speech_recognition is on GitHub at https://github.com/Uberi/speech_recognition.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.