These sets of libraries/programs are the foundation blocks to design a Brain-Computer Interface (BCI) experiment or more generally any application involving realtime EEG/EMG (and more) recording/processing. It aims at providing unified, independent and modular interfaces to acquisition, recording, processing, display and protocol stimulus. Their creation have been motivated after review of the current solutions that were either difficult to use or extent (often no real modular design thus making impossible to peek one component independently from the others), badly written or unavailable across all the target platform (GNU/Linux and Windows).

This has led to the creation of a set independent components (but that work well and easily together) to achieve the tasks that are common in all BCI program (i.e. every piece is designed for realtime):

  • eegdev: unified interface for acquisition of biosignal (mostly EEG)
  • xdffileio: unified interface for read/write in biosignal data file
  • rtfilter: library to filter multichannel signal efficiently
  • drawtk: simple and efficient interface for displaying stimuli
  • mcpanel: library implementing a scope to display multichannel signal
  • eegview: a simple program to display/record data from various EEG device (based on the previous component).



The different components are designed to work on the following platforms: GNU/Linux, Windows, MacOSX, FreeBSD. However they have been tested mostly on GNU/Linux and Windows.

Debian/Ubuntu packages

Some of the components are available in Debian and Ubuntu for recent version. Backports for some earlier version of Debian and Ubuntu are available in Neurodebian.

A repository of Debian packages for the released version of the component is available. The package have been compiled for Ubuntu 10.04 x86_64, but they work with the next versions of Ubuntu and with Debian testing (wheezy).

To use it, create a file /etc/apt/sources.d/cnbi.list containing the lines:

deb cnbi main
deb-src cnbi main

You will need to add the signatures keys of CNBI contributors to the trusted keys of apt:

wget -O - | sudo apt-key add -