Welcome
Welcome, you have reached the home of the OpenViBE software.
OpenViBE enables to design, test and use Brain-Computer Interfaces. Brain-Computer Interfaces (BCI)
are communication systems that enable users to send commands to computers only by means of brain activity.
Broadly speaking, OpenViBE can be used in many real-time neurosciences applications.
This video will help you understand what OpenViBE is and how it can be used :
OpenViBE is free and open source. Don't hesitate to download it and give it a try.
News
Release policy of OpenViBE
2009/10/23
Starting from release 0.4.0, we decided that OpenViBE would be released every three months. You can expect a 0.5.0 release
around christmas, 0.6.0 release by the end of march etc...
New release of OpenViBE 0.4.0 is now available
2009/10/23
New release of OpenViBE 0.4.0 is now available for download at the download page.
In this new release, you will find the following modifiactions (+ for adds, * for modifications, - for removes) :
- + Mr. Christoph Veigl contributed and added a new driver for OpenEEG Modular EEG / Monolith EEG
- + We added a new driver : g.Tec's gUSBamp acquisition device
- + We added a new P300-based entertaining application called "Magic Card" + We added tooltips for new users :)
- + We updated the sample scenarios
- * We propose a stabilized P300-based pipeline
- * We made the development of new classifiers easier thanks to base algorithms
- * We updated the dependencies installation script for linux so that it uses native packages instead of compiling everything from scratch
- * We updated the dependencies installation for windows so that DirectX and Visual C++ Runtime gets installed automatically if needed
- * We updated the online documentation and tutorials
- * We fixed lots of bugs !
- - The VR demo are no more built by default as OpenMASK is not compiling on recent Linux distributions
- + We added several tooltips for new users :)
- + We added a k-fold test in the classifier trainer box
- + We added a functionnality to load/save channel names in the acquisition server
- + We enabled the voting classifier box to vote either on streamed matrix or on stimulations
- + We added a frequency band selector box
- + We added a signal decimation box
- + We added a CSV file writer box (text based)
- * We changed the way chanels can be selected in the signal display, power spectrum display and time frequency map display
- * We reimplemented the common average reference box
Here is a snapshot of what we are currently doing and what you can expect from the next release :
- + A BrainProducts V-Amp acquisition driver
- + A Neuroscan acquisition driver
- + A MitsarEEG driver
- + Online comparison of different processing pipelines performance (e.g. multiple classifiers)
- + More documentation on the sample scenarios
- * GUI definition will move from glade to gtk-builder
- * VR demos will move from OpenMASK to native Ogre3D
We want to thank Christoph Veigl for his quick and efficient contribution. Feel free to join us and to contribute as Christoph and others are doing...
Two new fulltime OpenViBE enginners at INRIA
2009/10/01
Warm welcome to Laurent Bonnet and Batpiste Payan who join the INRIA team working on OpenViBE.
They will be present for at least two years, participating in the development and support of the platform.
OpenViBE bug tracker switches to Mantis
2009/07/24
The bug/issue tracker of the INRIA gForge was quite hard to use so we decided to switch to the excellent Mantis
bug tracker. There is an anonymous access available. So you can submit your bug report or feature request
in a couple of clicks. Don't hesitate to use this tool, it can be very helpfull for us and the other users.
One Software Engineer and one Post-Doc Positions Opened at Gipsa-lab
2009/06/17
There are opened positions to work on and with OpenViBE at Gipsa-lab. Check the Job Offers page for more details.
OpenViBE demonstration at the BBCI workshop
2009/06/16
OpenViBE will be presented and demonstrated at the BBCI workshop in Berlin, Germany
on july 8, 9 and 10th (http://bbci.agilemeetings.com).
We hope to meet you there.
Two Software Engineer and one PhD Thesis Positions Opened at INRIA
2009/06/08
There are opened positions to work on and with OpenViBE at INRIA. Check the Job Offers page for more details.
First official release
2009/05/05
We are proud to announce the first official release of OpenViBE. Visit the
download section to obtain your free copy.
We are waiting for your feedback! So feel free to contact us, be it on the
forum, on the
mailing lists, or on the
IRC : #openvibe on irc.freenode.net.
And don't forget to fill in a bug report
when you find bugs.
Website launched
2009/05/05
The website of the software is operational... We hope you'll find all needed information here.
Long live OpenViBE !
Training session
2009/01/15
A training session took place at INRIA, Rennes, France. The objective of this training session was to
present the software and its capabilities, as well as to provide hands-on training. In addition to an
overview of the main features of OpenViBE, the session included information targeted at developers. After core
OpenViBE concepts and the software architecture were presented, tutorials and exercises offered trainees the
opportunity to try their hand at modifying and/or extending the OpenViBE software (e.g. by writing new
acquisition drivers and new signal processing boxes).
15 people attended this training session.
You can download the slides and the exercises.
About OpenViBE
OpenViBE is a software platform dedicated to designing, testing and using brain-computer interfaces.
OpenViBE is a software for real-time neurosciences (that is, for real-time processing of brain signals).
It can be used to acquire, filter, process, classify and visualize brain signals in real time.
Applications
The main OpenViBE application fields are medical (assistance to disabled people, real-time biofeedback,
neurofeedback, real-time diagnosis), multimedia (virtual reality, video games), robotics and all other
application fields related to brain-computer interfaces and real-time neurosciences.
OpenViBE users can either be programmers or people not familiar with programming. This includes medical
doctors, video game developers, researchers in signal-processing or robotics, etc.
OpenViBE Characteristics
The graphical user interface of OpenViBE is simple to access and very easy to use for creating BCI
scenarios and saving them for later use. In the designer, the available functions are listed in the
right-hand window. The user simply drags and drops the selected functions in the left-hand window.
He can then connect boxes together to add processing steps to the scenario being created.
Lastly, the application is started by pressing the Play button to run the BCI.
OpenViBE is a library of functions written in C++ which can be integrated and applied quickly and
easily using modules. The platform's main advantages are modularity, portability, availability of
different tools for different types of user, including programmers and non-programmers, superior
code performance and compatibility with virtual reality technologies.
The software also offers many 2D and 3D visualization tools to represent brain activity in real time.
It is compatible with many EEG- and MEG-type machines because of its generic acquisition server.
OpenViBE offers many pre-configured scenarios for different applications including mental imagery,
neurofeedback, P300 signals, etc.
OpenViBE Status
OpenViBE is open source and available for free on the INRIA forge.
Don't hesitate to download OpenViBE and give it a try.
Key Features
OpenViBE enables to design, test and use Brain-Computer Interfaces.
OpenViBE is free and open source (under the terms of the LGPL-v2+).
The whole software is developed in C++. It consists of a set of software modules that can be integrated easily and efficiently to design
BCI applications such as for Virtual Reality (VR) interaction. Key features of the platform are:
- Modularity and reusability. Our platform is a set of software modules dedicated to the acquisition, pre-processing,
processing and visualization of cerebral data, as well as to the interaction with VR displays. OpenViBE is a general
purpose software, which implies users should be able to easily add new software modules in order to fit their particular needs. This is
ensured thanks to the concept of box algorithm, a "black box" in charge of a fraction of the whole processing pipeline, that
allows to develop reusable components, reduces development time and helps to quickly extend functionalities.
- Different user types. OpenViBE is designed for different types of users: VR developers, clinicians, BCI researchers,
etc. Their various needs are addressed and different tools are proposed for each of them, depending on their programming
skills and their knowledge in brain processes.
- Portability. The platform operates independently from the different software and hardware targets. It includes
an abstraction allowing to run with various acquisition machines, such as EEG or MEG. It can run on Windows and Linux and
also includes different data visualisation techniques. Also, it is based on free and portable softwares (e.g., GTK+, IT++,
GSL, VRPN, GCC).
- Connection with VR. Our software can be integrated with high-end VR applications. OpenViBE can serve as an
external peripheral to connect a BCI system to any kind of VR application. It also takes advantage of VR displays thanks
to a light abstraction of a scenegraph management library, allowing to visualize cerebral activity more efficiently or to
provide incentive training environments (e.g., for neurofeedback).
As compared to other BCI softwares, the OpenViBE platform stands out for its high modularity. It addresses the needs
of different types of users (programmers and non-programmers) and proposes a user-friendly graphical language which allows
non-programmers to design a BCI without writing a single line of code. Moreover, OpenViBE is portable, independent of
hardware or software targets, can run under Windows and Linux and is entirely based on free and open-source software.
Existing scenarios
You can use preconfigured scenarios and run already existing applications :
- 1-class BCI based on motor imagery
- 2-class BCI based on motor imagery
- Neurofeedback
- Real-time visualization of brain activity in 2D or 3D
- P300 speller
Detailed list of functionalities
OpenViBE includes the following functionalities (automatically extracted from the
frequently asked questions page) :
Supported acquisition devices
OpenViBE includes drivers for the following devices (automatically extracted from the
frequently asked questions page) :
Job Offers
OpenViBE project is not recruiting for now...
One engineer and two post-doc and positions at Gipsa-lab
2009-06 - CLOSED
Two opened positions in the framework of the GAZE & EEG (Gipsa-lab, Grenoble, France) :
- One Software or Electrical Engineer, PDF : english
- One Post-doc in EEG signal processing, PDF : english
One opened position in EEG signal processing/machine learning for Brain-Computer Interface and Video Gaming (Gipsa-lab, Grenoble, France) :
- One Post-doc in EEG signal processing/machine learning, PDF : english
Feel free to contact us for more information : marco [dot] congedo [at] gmail [dot] com
Two software engineer positions at INRIA
2009-06 - CLOSED
One software engineer (INRIA, Nancy, France)
One software engineer (INRIA, Rennes, France)
Short Description:
The software engineer will work within a team of engineers, researchers, students working
on the OpenViBE software and on Brain-Computer Interfaces, in collaboration with other INRIA
Centers (Rennes, Nancy, Sophia), and other partners (INSERM, CEA, UBISOFT) ; notably in the
frame of a collaborative project OpenViBE2 involving 10 partners and focusing on the use of
Brain-Computer Interfaces for video games.
The software engineer will work on development and scientific research related to OpenViBE
software. Main missions will be to extend the functionalities of the OpenViBE software
(C++ programming) and ensure its support and deployment. We hope OpenViBE will become a
standard software in the scientific communities working on BCI. For this aim, the main
tasks of the successful will consist in:
- develop novel functionalities of the software to match users needs (for instance:
increase of computational capabilities, advanced 3D brain visualization, compatibility
with other software and machines)
- ensure support, maintenance and spreading of the software (forge, website, forum,
training session, etc).
More information:
Feel free to contact us for more information : anatole [dot] lecuyer [at] irisa [dot] fr
One PhD Thesis position at INRIA
2009-06 - CLOSED
One PhD Thesis on "3D interaction with video games based on Brain-Computer Interfaces"
(INRIA, Rennes, France)
Short Description:
The objective of this PhD Thesis is to study the use of Brain-Computer Interfaces to
interact with video games. Brain-Computer Interfaces (or BCI) correspond to the direct
use of brain signals to send "mental commands" to an automated system such as a robot,
a prosthesis, or a cursor on a computer screen. Cerebral activity is measured through
ElectroEncephaloGraphy (EEG), that is with electrodes located at the surface of the scalp
and recording electrical signals emitted by the brain.
This PhD Thesis is in the frame of a 3-year collaborative project called OpenViBE2
(2009-2012) involving 10 French partners (such as INRIA, INSERM, UBISOFT
and CEA) and focusing on the use of Brain-Computer Interfaces for video games. It is
also closely related to the development of the OpenViBE software (http://openvibe.inria.fr) -
a free and open-source software platform dedicated to designing, testing and using
brain-computer interfaces.
Brain-Computer Interfaces are no longer a dream today as several impressive prototypes
have been developed in recent years. However, few laboratories have studied the integration
of BCI with Virtual Reality technologies and with video games [Lécuyer et al., 2008]. In
this PhD Thesis, the aim will be to design, develop and test new methods to improve the
use of BCI to interact with virtual worlds. Novel interaction techniques will be proposed
that concern one or several classical tasks operated in virtual environments such as:
navigation in virtual world, selection and grasping of virtual objects, manipulation of
virtual objects, or application control (menus, buttons, etc) - all these elementary tasks
being achieved "by thought". Experimentations are planned to evaluate and validate the
developments and the approach using EEG acquisition machine.
Feel free to contact us for more information : anatole [dot] lecuyer [at] irisa [dot] fr
Installer Download
Windows (32 bits)
Want even older versions ?
Browse the archives...
Windows (64 bits)
OpenViBE has been reported to compile and run correctly on 64 bits Windows. However, we do not provide auto installers yet. We do not
use OpenViBE on 64 bits Windows ourselves. If you want to contribute and have skills in building such an installer for 64 bits Windows, feel free to contact us.
Linux (32 & 64 bits)
For now, Linux precompiled packages are missing. We will probably propose a precompiled .tar.bz2 release but it is not yet ready.
However, if you want to contribute and have skills in building RPMs, DEBs or whatever package your distro uses, feel free to contact us.
Source code download
If you can't find an installer for your platform, you can download and build the software from its sources.
(
automatically extracted from the
frequently asked questions page) :
Check the installation instructions for the procedure to follow. If you have any problem building the
software, feel free to request help
Archives
The software is available under the terms of the LGPL-v2+
with the exception of a couple of plugins that rely on GPL libraries and become GPL themselves.
Stable code is distributed as compressed source archives :
Want even older versions ?
Browse the archives...
Subversion
The software is available under the terms of the LGPL-v2+
with the exception of a couple of plugins that rely on GPL libraries and become GPL themselves.
The most recent code may be retrieved anonymously from the INRIA gForge using subversion :
svn checkout svn://scm.gforge.inria.fr/svn/openvibe
Alternatively, if you plan to directly contribute into the INRIA gForge and already have an account, you should use subversion over ssh :
svn checkout ssh+svn://accountname@scm.gforge.inria.fr/svn/openvibe
Virtual Machine
In order to quickly evaluate OpenViBE on Linux, we propose preconfigured VirtualBox virtual machines.
Please note that this is for quick evaluation only. Do not expect the full horsepower that you'd get
compiling and executing the software natively on your computer.
In order to install and use this virtual machine, you will have to :
- if you never started virtual box, start it once so it creates its configuration files
- shutdown virtual box
- download the 7z hard disk image
- uncompress the 7z hard disk image
- move the .vdi file in your ~/.VirtualBox/VDI folder (you can create it if it does not exist)
- download the .xml virtual machine configuration
- move the .xml file in your ~/.VirtualBox/Machines folder (you can create it if it does not exist)
- add this line :<MachineEntry src="Machines/the-filename.xml" uuid="{39f83d91-eb63-403f-539f-e6a0bbbb826e}" /> to the MachineRegistry section of your ~/.VirtualBox/VirtualBox.xml configuration file
- add this line :<HardDisk type="normal" uuid="{0c741db0-2794-4785-fe9c-d098d3e44513}"><VirtualDiskImage filePath="VDI/openvibe.vdi"/></HardDisk> to the DiskRegistry section of your ~/.VirtualBox/VirtualBox.xml configuration file
- optionnaly, you may put the last line betwenn <HardDisks> and </HardDisks> tags if they do not exist
- start VirtualBox
- start the virtual machine
Latest versions of VirtualBox have import/export feature.
Support
To begin with, you can watch our introductory videos. The first is a brief overview of OpenViBE and BCI.
The second is an extensive 1-hour tour of the platform in the form of a training session on how to use the software.
You can visit the OpenViBE documentation website.
In addition to a number of tutorials, tips and usage recommendations to better use the software, there is user documentation
both for the designer and the
acquisition server. Newcomers
should probably check the installation procedure
and the frequently asked questions.
Developers should head the developer documentation
to find tutorials on how to create a new acquisition driver
or a new box.
If you need further support, the forum is a good place to start with.
Additionally, you can use the mailing lists
or IRC to contact us (#openvibe on irc.freenode.net).
If you find bugs, please take the time to fill an entry in the bug tracker.
We hope you'll enjoy working with OpenViBE!
What is a Brain Computer Interface ?
Brain-Computer Interaction (or BCI) corresponds to the direct use of brain signals to send "mental commands" to
an automated system such as a robot, a prosthesis, or a cursor on a computer screen. BCI is a rapidly growing area
of research and several impressive prototypes are already available. Indeed, severely disabled people are
enabled to control the motion of their wheelchair or to communicate with their relatives using adapted mental "spellers"!
Applications
Typical BCI applications belong the the following fields : medical (assistance to disabled people, real-time biofeedback,
real-time diagnosis), multimedia (virtual reality, video games), robotics (control of robots, prosthesis, etc), domotics
or home automation, etc.
Examples
Use-the-force : Are you a Jedi ?
Virtual HandBall
Videos
General videos on BCI and OpenViBE
Tutorials
Screenshots
Virtual Reality Applications
Other Applications
OpenViBE Designer
OpenViBE Acquisition Server
Publications
The main publications based on or using OpenViBE software include :
- J.B. Sauvan, A. Lécuyer, F. Lotte, G. Casiez, "A Performance Model of Selection Techniques for P300-Based Brain-Computer Interfaces", (note) ACM SIGCHI Conference on Human Factors in Computing Systems (ACM CHI), 2009 (pdf version)
- F. Lotte, "Study of Electroencephalographic Signal Processing and Classification Techniques towards the use of Brain-Computer Interfaces in Virtual Reality Applications", PhD Thesis from the National Institute of Applied Sciences (INSA) Rennes, 2008 (pdf version)
- A. Lécuyer, F. Lotte, R. Reilly, R. Leeb, M. Hirose, M. Slater, "Brain-Computer Interfaces, Virtual Reality, and Videogames", IEEE Computer, vol. 41, no. 10, pp 66-72, 2008 (pdf version)
- F. Lotte, Y. Renard, A. Lécuyer, "Self-paced Brain-Computer Interaction with Virtual Worlds: a Quantitative and Qualitative Study "Out of the Lab", 4th International Brain-Computer Interface Workshop and Training Course, 2008, pp. 373-378 (pdf version)
More publications from partners of the OpenViBE project can be found the research project website.
Want to Contribute ?
There are several ways you can contribute to the platform.
If you plan to contribute, please contact us early on, so that we can first discuss the most appropriate way
to do it and how your contribution fits in our development roadmap. This way, the community will probably benefit more from your work.
Testing the software
You can help us testing the software and provide us with your own report. We would be interested in the following :
- Testing OpenViBE on new architectures
- Testing OpenViBE on new operating systems
- Testing new functionalities
Reporting bugs
We would like to stress the importance of filling a bug report if unfortunately, you do find a bug.
In any case, be aware that you can also notify us that everything works just fine and suits your needs :)
Developing additional features and correcting bugs
You can share pieces of code that you think may be of interest for the community. There are several topics you can contribute on :
- Creating new boxes for signal processing
- Creating new boxes for data classification
- Creating new boxes for data visualisation
- Creating new boxes for file reading and writing
- Creating new ready-to-use scenarios
- Creating new acquisition driver(s) for your device(s)
- Write more documentation and tutorials
- Package the software for your architecture (for example RPMs or DEBs on Linux distributions)
There are three levels this can be done :
- Every user can have read-only access to the forge. Such users may develop custom functionalities locally and submit a patch to the
mailing lists or to the
forum to be included in the repository. For
Windows users having TortoiseSVN, just right click on the root folder, choose "create a patch..." and send us the file. For
Linux users, such a patch can be created by using the following command in the root folder :
svn diff > patch.txt
- In case you submit several working patches and enhancements, you will be proposed to have restricted write access to the forge. People working in
this configuration can work in their own branches and commit their changes directly to the forge. It is up to core developers to decide whether
or not a branch is ready for integration to the trunk version.
- The last level is for core developers. They have full access to the forge. This means they can modify any file, including those in the trunk (current unstable version of the software) and tags.
Building installers and precompiled packages
As you probably noticed in the download section, several installers and precompiled packages are
missing. If you have the knowledge to build such packages, feel free to contact us.
Contributors
OpenViBE was initially developed as a joint effort by INRIA and INSERM
laboratories and supported by the French National Research Agency within a consortium composed of 6 partners:
INRIA,
INSERM,
GIPSA-Lab,
CEA-List,
AFM and
Orange Labs.
It is currently maintained by the bunraku team at INRIA.
Project Leader
- Anatole Lécuyer, INRIA (anatole dot lecuyer at irisa dot fr)
Lead Software Engineer
- Yann Renard, INRIA (yann dot renard at irisa dot fr)
Developers
- Laurent Bonner, software engineer, INRIA (laurent dot bonnet at irisa dot fr)
- Baptiste Payan, software engineer, INRIA (baptiste dot payan at loria dot fr)
- Fabien Lotte, doctoral student, INRIA (fabien dot lotte at irisa dot fr)
- Pierre Emmanuel Aguera, research engineer, INSERM (aguera at lyon dot inserm dot fr)
- Emmanuel Maby, postdoctoral fellow, INSERM (maby at lyon dot inserm dot fr)
- Gelu Ionescu, research engineer, GIPSA-Lab (gelu dot ionescu at lis dot inpg dot fr)
Scientific Contributors
- Olivier Bertrand, senior researcher, INSERM
- Marco Congedo, research scientist, GIPSA-Lab
- Antoine Souloumiac, research engineer, CEA-List
- Jérémie Mattout, research scientist, INSERM
- Christian Jutten, senior researcher, GIPSA-Lab
- Denis Chêne, senior expert, Orange Labs
- Virginie Attina, INSERM
- Cedric Gouy-Pailler, doctoral student, GIPSA-Lab
- Ornella Plos, doctoral student, AFM
- Bertrand Rivet, postdoctoral fellow, CEA-List
- Bernard Hennion, senior researcher, Orange Labs
Previous Developers
- Vincent Delannoy, software engineer, INRIA (vincent dot delannoy at irisa dot fr)
- Guillaume Gibert, postdoctoral fellow, INSERM (guillaume dot gibert at inserm dot fr)
- Bruno Renier, trainee, INRIA
- Jean Baptiste Sauvan, trainee, INRIA
OpenViBE Users
OpenViBE has already been tested by :
- INRIA Renne - Bretagne Atlantique, France (Bunraku team)
- INSERM, France
- GIPSA-Lab, France
- CEA-List, France
- INRIA Nancy - Grand Est Research Centre, France (Cortex team)
- INRIA Sophia Antipolis - Mediterranee, France (Odysee tema)
- LAGIS, France
- College de France, France
- INSA Rouen, France
- Fraunhofer, Germany
- I2R A-Star, Singapore
- LENA, France
- Swinburne University of Technology, Australia
- University of Sharjah, United Arab Emirates
- University of Twente, Netherlands
- Université de Bordeaux 2, France
- ...
Want to Contact us ?
Project Leader
- Anatole Lécuyer, INRIA (anatole dot lecuyer at irisa dot fr)
Lead Software Engineer
- Yann Renard, INRIA (yann dot renard at irisa dot fr)