skillfed

pystoi

Computes Short Term Objective Intelligibility measure

pystoi v0.4.1 922.0K downloads/30d#4,716 on PyPI360
Permissive license MIT DORMANT released

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

Computes Short Term Objective Intelligibility (STOI) measures for speech signals, quantifying how intelligible degraded audio is compared to a clean reference.

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

pip

pip install pystoi

uv

uv add pystoi

poetry

poetry add pystoi

Installing pystoi

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.

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)

Input signals must be 1D arrays of equal length; STOI is intrusive (requires both clean reference and degraded signal).

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 — numpy, scipy
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)

Evidence: pystoi-0.4.1-py2.py3-none-any.whl

Development Status :: 4 - BetaIntended Audience :: Science/ResearchLicense :: OSI Approved :: MIT LicenseProgramming Language :: Python :: 2Programming Language :: Python :: 2.7Programming Language :: Python :: 3

Tags

speech intelligibility measurementSTOI audio quality metricspeech degradation assessmentnoise reduction evaluationspeech signal comparisonaudio intelligibility scoringvocoded speech quality
speech-processingaudio-qualitysignal-analysis

More Information Analysis packages