Skip to content
Optimal Spectral Transportation : audio musical unmixing using optimal transport
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.


Type Name Latest commit message Commit time
Failed to load latest commit information.

OST : Optimal Spectral Transportation

Optimal Spectral Transportation : audio musical unmixing using optimal transport.

This repository contains a Python implementation of Optimal Spectral Transportation, a method proposed in the following NIPS 2016 paper:

R. Flamary, C. Févotte, N. Courty, V. Emyia, "Optimal spectral transportation with application to music transcription", Neural Information Processing Systems (NIPS), 2016.

It also contains a real time demonstration of the proposed method illustrated below.


Installation and dependencies

This repository contains only the Python module and a demo script.

The module require only numpy. The real time demonstration that unmix the sound of your microphone requires thoss dependencies.


The dependencies can be installed opn a debian-like linux with the following command

sudo apt-get install python-numpy python-pyaudio python-pygame

The python dependencies can also be installed via pip

pip install PyAudio Pygame numpy

Under MacOSX, if there is a problem when installing pyaudio with pip, you need to install the portausio library with Homebrew.

brew install portaudio

Real time demonstration

Contact and contributors


We want to thank Antony Schutz (@DeVerMyst) for composing and providing us the sample files in the data folder.

You can’t perform that action at this time.