Python implementation of the Short-Time Objective Intelligibility (STOI) measure for speech quality assessment.
PySTOI is a Python library that implements the Short-Time Objective Intelligibility (STOI) measure, a standardized algorithm for assessing how understandable processed or degraded speech signals are. It compares clean reference audio with processed versions (e.g., after noise reduction or compression) to predict speech intelligibility scores. The library provides both classical and extended STOI implementations for research and practical applications in speech processing.
Researchers and engineers working in speech processing, audio enhancement, hearing aid development, or communication systems who need to objectively evaluate speech intelligibility. It's particularly useful for those assessing noise reduction algorithms, binary masking techniques, or vocoded speech simulations.
PySTOI offers a well-tested, open-source Python implementation of the widely-used STOI measure, eliminating dependency on proprietary MATLAB code. It provides high correlation with human intelligibility ratings and serves as a modern alternative to traditional measures like SII or STI when evaluating nonlinear speech processing effects.
Python implementation of the Short Term Objective Intelligibility measure
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Implements both classical and extended STOI algorithms, allowing flexibility for various speech processing scenarios as highlighted in the features.
Designed to closely match subjective intelligibility ratings, making it reliable for research and practical assessment, as stated in the description.
Provides a free alternative to proprietary MATLAB tools, enabling reproducible speech processing research without licensing constraints.
Includes thorough validation against Octave and MATLAB code, with tests passing at a tolerance of 1e-3, ensuring accuracy as per the README.
Full test suite with MATLAB engine only works with Python 2.7, limiting modern development and integration in Python 3 environments.
Accuracy can be affected by resampling methods when audio isn't at 10kHz, introducing minor discrepancies in test results as admitted in the README.
Focuses solely on STOI for intelligibility; users need additional libraries for comprehensive audio quality assessment like noise or distortion metrics.