Evaluation code and data pointers for the MMMU and MMMU-Pro benchmarks, which test multimodal models on college-level, multi-discipline questions.
Picovoice/speech-to-text-benchmark
A minimalist, extensible framework for benchmarking speech-to-text engines on WER, CER, punctuation error, latency, CPU cost and model size.
- Stars
- 699
- Forks
- 73
- Open issues
- 0
- Last commit
- yesterday
What is it?
This project is a benchmarking framework for comparing speech-to-text engines on the same audio datasets. It runs batch and streaming engines, including cloud services such as Amazon Transcribe, Azure Speech-to-Text and Google Speech-to-Text, and local models such as Whisper, Whisper.cpp, Vosk, Moonshine, Nemotron and Picovoice Cheetah and Leopard, against common corpora like LibriSpeech, Common Voice, TED-LIUM and Fleurs.
Results are reported on several axes: word error rate, character error rate for Korean and Japanese, punctuation error rate for periods and question marks, word emission latency for streaming engines, CPU core-hours per hundred hours of audio, and aggregate model size. Results are broken out by language, covering English, French, German, Italian, Spanish, Portuguese, Korean and Japanese.
The codebase is a Python command-line tool. Each engine is selected with a flag, and separate scripts handle accuracy and latency measurement. Datasets must be downloaded locally, and cloud engines require the relevant account credentials.
Key features
- 01Compares batch and streaming engines on the same datasets
- 02Measures WER, CER and punctuation error rate
- 03Reports word emission latency for streaming engines
- 04Measures CPU core-hours and model size for local engines
- 05Covers English, French, German, Italian, Spanish, Portuguese, Korean and Japanese
Use cases
- Choosing a speech recognition engine for a product by comparing accuracy and latency
- Evaluating offline models against cloud APIs on your own language
- Comparing computational cost and model size for on-device deployment
- Adding a new STT engine to a consistent evaluation pipeline
Quick start
- 1
Install FFmpeg
- 2
Install the Python requirements
pip3 install -r requirements.txt - 3
Download the benchmark datasets
- 4
Run benchmark.py with your chosen engine, dataset and language, as described in the README
Things to know
- The benchmark was developed and tested only on Ubuntu 22.04 with Python 3.12.
- Many engines need cloud accounts or API keys, such as Amazon, Azure, Google, IBM Watson and Picovoice.
- You must download large speech datasets yourself before running the benchmark.
In collections
Topics
FAQ
- What is speech-to-text-benchmark?
- A minimalist, extensible framework for benchmarking speech-to-text engines on WER, CER, punctuation error, latency, CPU cost and model size. This project is a benchmarking framework for comparing speech-to-text engines on the same audio datasets. It runs batch and streaming engines, including cloud services such as Amazon Transcribe, Azure Speech-to-Text and Google Speech-to-Text, and local models such as Whisper, Whisper.cpp, Vosk, Moonshine, Nemotron and Picovoice Cheetah and Leopard, against common corpora like LibriSpeech, Common Voice, TED-LIUM and Fleurs.
- Is speech-to-text-benchmark free to use? What license does it have?
- speech-to-text-benchmark is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
- Is speech-to-text-benchmark still maintained?
- Actively maintained. The last commit to speech-to-text-benchmark was on Nov 6, 2026.
- What can I use speech-to-text-benchmark for?
- Choosing a speech recognition engine for a product by comparing accuracy and latency Evaluating offline models against cloud APIs on your own language Comparing computational cost and model size for on-device deployment Adding a new STT engine to a consistent evaluation pipeline
- How do I install speech-to-text-benchmark?
- Install FFmpeg Install the Python requirements: pip3 install -r requirements.txt Download the benchmark datasets Run benchmark.py with your chosen engine, dataset and language, as described in the README
- Where can I get speech-to-text-benchmark?
- The source code and installation instructions are on GitHub: https://github.com/Picovoice/speech-to-text-benchmark
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Push-to-talk voice typing for desktop and Android: hold a hotkey, speak, and the text is pasted at your cursor.
Offline Windows voice input tool: hold CapsLock or mouse side button X2 to speak, release to type the recognized text.
Linux desktop and Sailfish OS app for note taking, reading and translating with offline speech-to-text, text-to-speech and machine translation.
Open-source speech-to-text built on Whisper that adds word-level timestamps via forced alignment and optional speaker diarization.
Open-source speech recognition toolkit for offline and streaming ASR, with VAD, punctuation, speaker labels and OpenAI-compatible serving.