pystoi
Computes Short Term Objective Intelligibility measure
Decision gist · record as of 2026-08-14
Yes, if you need an intrusive intelligibility metric for speech signals and can accept dormant maintenance. The package is stable, has low install friction, carries no security vulnerabilities, and is MIT-licensed. However, verify compatibility with your Python version and confirm the codebase meets your performance needs, since the last release was 959 days ago.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Input signals must be 1D arrays of equal length; STOI is intrusive (requires both clean reference and degraded signal).
- Low friction installation with only numpy and scipy as dependencies.
- Dormant maintenance status—last release was 959 days ago, though the repository remains active and unarchived with 360 stars.
License · maintenance · safety
MIT (permissive) — MIT license permits commercial and private use with minimal restrictions; attribution required but no copyleft obligations.
last release 2023-12-29 (959 days) · last repo commit 2023-12-29 · 360 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 921,980 downloads/mo, #4,716 on PyPI
Alternatives
Verify before relying
pip install pystoi
from pystoi import stoi
import numpy as np
# clean and degraded are 1D numpy arrays, fs is sample rate
score = stoi(clean, degraded, fs, extended=False)- Whether the package works reliably with modern Python 3.x versions (classifiers list both Python 2.7 and 3, but maintenance is dormant).
- Current performance characteristics and whether the 4x speed-up mentioned in the description has been merged into the main branch.
What it is and what it does
pystoi is a Python implementation of the classical and extended Short Term Objective Intelligibility (STOI) measures, which quantify how intelligible a degraded speech signal is relative to a clean reference. It takes two audio signals—one clean and one degraded by noise, processing, or vocoding—and returns a score correlating with perceived intelligibility. The package wraps numpy and scipy to perform the time-frequency analysis underlying the STOI algorithm.
The measure is intrusive (requires both signals) and serves as an alternative to speech intelligibility index (SII) or speech transmission index (STI), particularly useful when evaluating nonlinear processing like noise reduction or binary masking. It was ported from Cees Taal's original Matlab implementation and includes both classical and extended variants.
Use it for
- Evaluate speech quality after noise reduction or denoising algorithms to quantify intelligibility improvement.
- Assess vocoded speech quality in cochlear implant (CI) simulations or other speech coding scenarios.
- Compare intelligibility across different audio processing pipelines or parameter settings.
- Validate speech enhancement systems by measuring intelligibility gain on degraded signals.
- Research speech processing effects on intelligibility in academic or industrial audio labs.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need an intrusive intelligibility metric for speech signals and can accept dormant maintenance.
The package is stable, has low install friction, carries no security vulnerabilities, and is MIT-licensed. However, verify compatibility with your Python version and confirm the codebase meets your performance needs, since the last release was 959 days ago.
Install
pystoi on PyPI
Before you install
Low friction installation with only numpy and scipy as dependencies. Dormant maintenance status—last release was 959 days ago, though the repository remains active and unarchived with 360 stars.
Input signals must be 1D arrays of equal length; STOI is intrusive (requires both clean reference and degraded signal).
License in practice
MIT license permits commercial and private use with minimal restrictions; attribution required but no copyleft obligations.
Quickstart
pip install pystoi
from pystoi import stoi
import numpy as np
# clean and degraded are 1D numpy arrays, fs is sample rate
score = stoi(clean, degraded, fs, extended=False)
Verify before relying
- Whether the package works reliably with modern Python 3.x versions (classifiers list both Python 2.7 and 3, but maintenance is dormant).
- Current performance characteristics and whether the 4x speed-up mentioned in the description has been merged into the main branch.
Package facts
| License | MIT permissive |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 2 packagesnumpyscipy |
| Maintenance | Dormant 959 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 921,980 / month, #4,716 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 4 - BetaIntended Audience :: Science/ResearchLicense :: OSI Approved :: MIT LicenseProgramming Language :: Python :: 2Programming Language :: Python :: 2.7Programming Language :: Python :: 3 |
Evidence: pystoi-0.4.1-py2.py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “speech intelligibility measurement”
- pystoiComputes Short Term Objective Intelligibility (STOI) measures for…
- torch-stoiComputes Short Term Objective Intelligibility (STOI) as a PyTorch…
- orthography2ipaConverts spelling to IPA phonetic transcription and measures language…
Give your agent the search over MCP, or paste the wish link into any chat.
More Information Analysis packages
A drop-in replacement for Python's standard `re` module that adds advanced regex features like nested sets, fuzzy matching, lookaround in conditionals, and full Unicode case-folding while maintaining backward compatibility.
pyarrow provides Python bindings to Apache Arrow's C++ libraries for efficient columnar data processing, serialization, and interoperability with pandas, NumPy, and other Python ecosystem tools.
NetworkX provides data structures and algorithms for creating, analyzing, and manipulating graphs and networks, supporting everything from simple undirected graphs to complex directed and weighted networks.
Connects Python applications to Snowflake data warehouses using the DB API 2.0 specification, enabling SQL queries, data transfers, and warehouse operations.
ContourPy calculates contours of 2D quadrilateral grids using C++11 algorithms wrapped in Python, offering serial and multithreaded implementations without requiring Matplotlib as a dependency.
Snowpark Python provides APIs to query and process data directly in Snowflake without moving data to your local system, with support for both native Snowpark and pandas-compatible interfaces.
Install it if you use Snowflake and want to process data without moving it to your application layer.
See also torch-stoi · pyloudnorm · pyrnnoise · noisereduce · deepfilternet · mlx-audio · livekit-plugins-ai-coustics · silero-vad · praat-parselmouth · Gammatone