Features
The OpenViBE platform brings many unique features which will help you to conceive your BCI applications.
Generic Acquisition Server with support for over 15 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 15 EEG acquisition devices. The acquisition server enables you to switch EEG devices without the need to do any modification to your processing chain.

Check out the list of supported hardware devices.
OpenViBE is multi-platform and open source
OpenViBE is open source software released under the Lesser GNU General Public License v2.1 (LGPL). You are free to modify and redistribute the code as well as use it in commercial applications. 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 compile OpenViBE on your computer.
OpenViBE is written with multi-platform compatibility in mind.
Currently it can be built on Windows and Linux, for both 32 and 64 bit architectures using either Visual Studio 2010 or 2008 or GCC.
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 combination (one versus the rest)
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.
Future support of Python is on the way with signal processing capabilities.
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
- Tie Fighter 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.

