MATLAB Code

Speech intelligibility in bits – [download] (updated on 3/10/17)
Speech intelligibility in bits (SIIB) is an intrusive instrumental intelligibility metric based on information theory. Given a clean acoustic speech signal and a distorted acoustic speech signal, SIIB estimates the amount of information (in bits per second) shared between the signals. SIIB is strongly correlated with intelligibility listening test scores, and thus can be used to quickly evaluate the performance of a communication system. Demo:

scatterplot

Relevant publications:

  • S. Van Kuyk, W. B. Kleijn, and R. C. Hendriks, ‘An instrumental intelligibility metric based on information theory’, IEEE Signal Processing Letters, 2018.
  • S. Van Kuyk, W. B. Kleijn, and R. C. Hendriks, ‘An evaluation of intrusive instrumental intelligibility metrics’, under review.


Optimal energy redistribution for speech enhancement – 
[download]
This algorithm aims to improve the intelligibility of a noisy speech signal without increasing the energy of the speech. The algorithm requires the clean speech and the noise statistics as inputs. A linear filter that optimally redistributes energy according to a mutual information criterion is applied to the clean speech. Demo: [original] [enhanced]

Relevant publication: W.B. Kleijn and R.C. Hendriks; “A simple model of speech communication and its application to intelligibility enhancement”, IEEE Signal Processing Letters, 2015

Speech synthesis from short-time magnitude spectra –  [download]
Given a sequence of short-time magnitude spectra, this code synthesizes a speech signal using the Griffin & Lim algorithm. Importantly, no phase information is required.

Relevant publication: D. W. Griffin and J. S. Lim; “Signal estimation from modified short-time Fourier transform”, IEEE Transactions on Acoustics, Speech, and Signal Processing, 1984.

Gaussian Mixture Model – [download]
A Gaussian Mixture Model (GMM) is a parametric probabilistic model for representing normally distributed sub-populations within a population. GMMs can be used for clustering data and approximating multi-modal probability distributions. This code contains two algorithms for fitting a GMM to a data set. The algorithms are known as Expectation-Maximization, and Variational Inference. Demo:

GMM_vi

GMM_em

Relevant publication: C. M. Bishop;  “Pattern Recognition and Machine Learning”, Springer, 2006