Project details for BCPy2000

Screenshot BCPy2000 17374

by jez - July 8, 2010, 22:11:24 CET [ Project Homepage BibTeX Download ]

view (4 today), download ( 0 today ), 1 subscription


BCPy2000 provides a platform for rapid, flexible development of experimental Brain-Computer Interface systems based on the project. From the developer's point of view, the implementation is carried out in Python, taking advantage of various high-level packages: VisionEgg for stimulus presentation, NumPy and SciPy for signal processing and classification, and IPython for interactive debugging. BCPy2000 implements a lot of infrastructure allowing you to get new experiments up and running quickly. It also contains a set of optional tools, which are still a work in progress but which are rapidly turning into a kind of "standard library" of object-oriented signal-processing and stimulus widgets. These features make it a flexible platform for developers of new NumPy/SciPy-based machine-learning algorithms in the field of realtime biosignal analysis.

Being a BCI2000 system, it is modular, consisting of an Application module (the stimulus presentation part), a Signal Processing module (the machine-learning part), and a Signal Source module (the toy data generation part ;-) ). You can choose to use Python to implement one, two, or all three of these modules, and use other pre-existing BCI2000 modules for the remainder of the system (for example, for the Signal Source, you can choose from a comprehensive range of EEG acquisition modules). The modules communicate over TCP/IP, so they can run on different machines if necessary.

Each Python module can open an IPython shell in which you can inspect and interact with every aspect of the running system. If you're using a BCPy2000-implemented source module, you can slow the system right down or even step through it one signal-chunk at a time, which can help you while you're interactively debugging your Python code in one of your other modules with pdb.

Changes to previous version:

Bugfixes and tuneups, and an expanded set of (some more-, some less-documented, optional tools)

BibTeX Entry: Download
URL: Project Homepage
Supported Operating Systems: Windows
Data Formats: None
Tags: Python, Brain Computer Interface, Eeg, Framework, Nips2008
Archive: download here

Other available revisons

Version Changelog Date

Bugfixes and tuneups, and an expanded set of (some more-, some less-documented, optional tools)

July 8, 2010, 22:11:24

Minor fixes since the last release, ready for the tutorial at the BCI2000 workshop

September 22, 2009, 23:53:02

This is the third build to be generally released. It contains numerous bugfixes and improvements, together with a refactoring of the code to allow the dependencies on VisionEgg and/or PyOpenGL and/or pygame to be replaced with developers' own graphical implementations. It is also now distributed together with its own portable python distribution, so that it runs out of the box---see

September 17, 2009, 05:51:27

This is the second release of the demo build, incorporating a number of accumulated enhancements, optimizations and bug fixes, including improved precision of sound stimulus timing, and playback of older-style .dat files (bug reported by Marco Rotonda).

The three Python-related core modules are now gnu-compilable and can run on non-Windows platforms (a Windows machine is still required for the BCI2000 Operator module, however).

The version numbering convention has changed. The previous demo release, 1.0, is retroactively called 8570. The current revision 11336 was also committed to the subversion repository, revision 2324.

March 16, 2009, 19:19:34

Initial Announcement on

September 30, 2008, 20:37:21


No one has posted any comments yet. Perhaps you'd like to be the first?

Leave a comment

You must be logged in to post comments.