The OpenViBE platform brings many unique features which will help you to conceive your BCI applications.

Generic Acquisition Server with support for many acquisition devices

OpenViBE platform comes with a generic acquisition server. It acquires data from any compatible EEG device and sends it to any number of OpenViBE clients on the network.

OpenViBE supports over 30 acquisition devices. The acquisition server enables you to switch EEG devices without the need to do any modification to your processing chain.

OpenViBE is multi-platform and open source

OpenViBE is open source software released under the GNU Affero General Public License v3.0 (AGPL-3). You are free to modify and redistribute the code. Read the license to know more details.

Additionally, on Windows, you can download an installer package which enables you to use OpenViBE right away.

You can check the list of compatible systems and architectures to check whether you can use OpenViBE on your computer.

OpenViBE is written with multi-platform compatibility in mind.

Currently it can be built on Windows and Linux. For details on the build tools, see here.

Easy to use graphical language

With OpenViBE you do not need to learn any programming language, everything is done by mouse and simple drag and drop gestures.

Every piece of the signal processing chain is represented by a box. To pass input from one box to another simply link them together.

Scenarios can be annotated by rich-text enabled comments.

Visit our box documentation to discover more about available algorithms.

A vast selection of signal processing methods

OpenViBE comes with many signal processing algorithms which you can use to extract characteristics from the signal.

Among others you can access to: Epoching, Averaging, Linear combinations, Spatial and Temporal filtering (ex.: xDAWN, Common Spatial Pattern), Windowing, Fourier transformations

In order to transform the characteristics into commands you can use several machine learning methods included in OpenViBE.

Currently available classifications methods:

  • Linear Discriminant Analysis (LDA)
  • Support Vector Machine (SVM)
  • Classifier combinations for multiclass

Scripting powered by the LUA language

LUA language can be used to script the scenarios and control their behaviour.

A special Lua Interpreter Box, capable of handling stimulations, is available directly from OpenViBE.

Python scripting is available and ready to leverage the power of SciPy and NumPy libraries.

Connection with Matlab software

You can use Matlab for further signal processing. A box sending input to Matlab and receiving the output from it is readily available.

You will need a valid Matlab installation to use this plugin.

BCI Applications for multiple paradigms

Applications demonstrating the major paradigms used in BCI are bundled with OpenViBE.

Our 3D applications are powered by the open source Ogre 3D engine.

Included paradigms are:

  • Speller Applications using P300
  • Spaceship for feet motor imagery
  • Handball for hand motor imagery
  • SSVEP shooting game

Example scenarios and data files

Example scenarios are included to illustrate the usage of OpenViBE elements.

Discover the list of tutorial scenarios and their description in the Scenario Documentation

All applications include example recordings of EEG signal so you can test them offline.