/OST

Optimal Spectral Transportation : audio musical unmixing using optimal transport

Primary LanguagePythonMIT LicenseMIT

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.

screenshotost

Installation and dependencies

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

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

numpy
pyaudio
pygame

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

Acknowledgements

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