Skip to main content

Python Wrapper for PESQ Score (narrow band and wide band)

Project description


PESQ (Perceptual Evaluation of Speech Quality) Wrapper for Python Users

This code is designed for numpy array specially.


gcc compiler

Build and Install

$ git clone
$ cd python-pesq
$ pip install .  # for python 2
$ pip3 install . # for python 3 
$ cd ..
$ rm -rf python-pesq # remove the code folder since it exists in the python package folder

Install with pip

$ pip install

# or

$ pip3 install

Example for narrow band and wide band

when using it, please note that the sampling rate (frequency) should be 16000 or 8000.

And using 8000 is supported for narrow band only.

from import wavfile
from pesq import pesq

rate, ref ="./audio/speech.wav")
rate, deg ="./audio/speech_bab_0dB.wav")

print(pesq(rate, ref, deg, 'wb'))
print(pesq(rate, ref, deg, 'nb'))


The correctness is verified by running samples in audio folder.

PESQ computed by this code in wide band mode is 1.0832337141036987

PESQ computed by this code in narrow band mode is 1.6072081327438354


Sampling rate (fs|rate) - No default. Must select either 8000Hz or 16000Hz.

Note there is narrow band (nb) mode only when sampling rate is 8000Hz.

The original C soure code is modified.

Project details

Release history Release notifications

This version


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for pesq, version 0.0.1
Filename, size File type Python version Upload date Hashes
Filename, size pesq-0.0.1.tar.gz (80.0 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page