Fork me on GitHub


[ Demo | License | Dependencies | Installation | Authors | Download | Documentation | Citing ]

openBliSSART is a C++ framework and toolbox that provides Blind Source Separation for Audio Recognition Tasks. Its areas of application include, but are not limited to, instrument separation (e.g. extraction of drum tracks from popular music), speech enhancement, and feature extraction.

It features various source separation algorithms, with a strong focus on variants of Non-Negative Matrix Factorization (NMF). Besides basic blind (unsupervised) source separation, it provides support for component classification by Support Vector Machines (SVM) using common acoustic features from speech and music processing. For component playback and data set creation, a Qt-based GUI is available. Furthermore, supervised NMF can be performed for source separation as well as audio feature extraction.

openBliSSART is fast: typical real-time factors are in the order of 0.1 (Euclidean NMF) on a state-of-the-art desktop PC. It is written in C++, enforcing strict coding standards, and adhering to modular design principles for seamless integration into multimedia applications.


We provide a live demonstrator that uses various features of openBliSSART to separate drum tracks from popular music. This demonstrator consists of an NMF component database and a configuration file to use with an openBliSSART installation, and can be found in the openBliSSART source distribution in the demo directory along with usage instructions.

For a first impression of its capabilities, listen to the following wave files which we have generated using the demonstrator system:

More audio examples as test cases are available in the openBliSSART source distribution. You can also try the demonstrator system on your own music collection!


openBliSSART is free software and licensed under the GNU General Public License.


openBliSSART depends on the following libraries:

Additionaly, performance can be vastly improved by installing the "Automatically Tuned Linear Algebra Software" (ATLAS) libraries.


See the INSTALL file in the source distribution for detailed installation instructions covering various platforms, including Ubuntu and openSUSE Linux, Windows XP, Vista, and Windows 7.


Felix Weninger (
Alexander Lehmann (
Björn Schuller (


Release 1.2

Downloading the latest stable release (1.2) is recommended for most users: zip tar

Developer version

If you want to be on the leading edge, you can download the latest (unstable) version of openBliSSART's source code repository: zip tar

You can also clone the project with Git by running:

$ git clone git://


The openBliSSART documentation consists of a reference manual, including a tutorial, and the framework API description.

To make sure that the documentation is always consistent with the current state of the source code, we encourage the user to build the documentation from source using doxygen and LaTeX. See the doc/README file in the source distribution for details.

However, for convenience, we provide a PDF version of the manual that is regularly updated.

Citing openBliSSART

If you use openBliSSART for your research, please cite the following paper:

Bjoern Schuller, Alexander Lehmann, Felix Weninger, Florian Eyben, Gerhard Rigoll: "Blind Enhancement of the Rhythmic and Harmonic Sections by NMF: Does it help?", in Proc. NAG/DAGA 2009, Rotterdam, The Netherlands, pp. 361-364.