Documentation
Using OpenViBE
These documents describe how to work with different OpenViBE applications and components. Tutorials and examples make a good starting point.
In addition, the OpenViBE FAQ answers many common questions.
Video tutorials
Tutorials
- Tutorial - Level 1 - Choosing the BCI paradigm
- Tutorial - Level 1 - The most basic OpenViBE setup
- Tutorial - Level 1 - Whats coming out of my headset?
- Tutorial - Level 2 - Troubleshooting OpenViBE scenarios
- Tutorial - Level 2 - Using Matlab with OpenViBE
- Tutorial - Level 2 - Using Python with OpenViBE
- Tutorial - Level 2b - How to do repeatable experiments with OpenViBE
- Tutorial 3 : How to make a box plugin library (template included)
Designer documentation
- Designer Overview
- Designer Tutorial 1: Creating a simple scenario
- Designer Tutorial 2: Customizing a scenario
- Designer Tutorial 3: Advanced box configuration
- Designer Tutorial 4: Window Manager
- Designer Tutorial 5: Metaboxes
- Special features: Box settings file format
- Special features: Modifiable box settings
Tracker documentation
Acquisition Server documentation
- Acquisition Server
- Channel selection in acquisition server
- Drivers: BioSemi ActiveTwo driver
- Drivers: Brainmaster Discovery & Atlantis devices with OpenViBE
- Drivers: BrainProducts actiCHamp driver
- Drivers: eego
- Drivers: Emotiv EPOC (how to connect etc)
- Drivers: gtec gMobiLab+ driver
- Drivers: LabStreamingLayer (LSL)
- Drivers: mBrainTrain MBT Smarting
- Drivers: OpenBCI
- Drivers: Simulated Deviator (for debug)
- Extensions: Fiddler - P300 'generator' for debug
- Extensions: TCP Tagging (Software Tagging)
Various publications, slides, etc
- 1st International OpenViBE Workshop 2014
- 2nd international OpenViBE workshop 2016
- 3rd International OpenViBE workshop 2018
- 4th International OpenViBE workshop 2021
- Miscellaneos slides
- OpenViBE Tutorial @ NEC'22
- Publications
Box documentation
Example scenarios
- Motor Imagery / Neurofeedback: Lift the Spaceship demo
- Motor Imagery BCI
- Motor Imagery BCI with Common Spatial Pattern filter
- Motor Imagery: Handball demonstrator
- Neurofeedback
- P300: Basic P300 Speller demo
- P300: Basic P300 Speller demo with xDAWN Spatial Filter
- P300: Magic Card
- Recording ERPs and other stimulus-driven data
- SSVEP: Steady-State Visual-Evoked Potentials
- SSVEP: Using the Mind Shooter scenarios
Connecting OpenViBE and other applications
- Overview: Sending data & stimulations to/from OpenViBE
- Tutorial: Creating a Virtual Reality application with Ogre3D and connecting it to OpenViBE with VRPN
- VRPN Tutorial : Sending data from an external application to OpenViBE
- VRPN Tutorial : Sending data from OpenViBE to an external application
Miscellaneous manual pages
- Description of files included in OpenViBE
- Setting up an experiment environment
- Standalone scenario player
- The Configuration Manager
Modifying OpenViBE
Developers interested in changing the OpenViBE source code can find information about the developer tools and internal mechanisms of OpenViBE in this section.
Acquisition drivers
- Tutorial 1: Creating a new driver for the acquisition server
- Tutorial 2: Configuring a new driver
- Tutorial 3: Jitter monitoring and drift correction
- Tutorial 4: Using the built-in impedance checker
Box plugins
- Introduction to algorithms and boxes
- Tutorial 1: Implementing a signal processing box
- Tutorial 2: Implementing an algorithm and using it in boxes
- Writing Box documentation
Developer tools
Source code handling
Data formats documentation
- CSV File format description
- Global algorithm identifiers
- Global algorithm identifiers
- Matrix - Text File storage format
- Ov file format description
- Stimulation codes
- Stream structures - OV 1.3 and earlier
- Stream Structures - OV v2.0+
Code snippet
Architecture and practices
- Contribution Rules and Coding Standards
- OpenViBE SDK Technical Documentation (CertiViBE)
- Software architecture
Knowledge base
Various documents that may be of use.
Troubleshooting
- Addressing low BCI accuracy - Error sources & solutions
- Build fails with "nmake failed to compile a simple program"
- Tutorial - Level 2 - Troubleshooting OpenViBE scenarios
Development
Design notes
Data-analysis
Deprecated and old documents
- CoAdapt P300 Stimulator - some design notes
- Compiling on Fedora 14
- P300: CoAdapt P300 Speller (OpenViBE v0.18 only)
- P300: Inserm P300 Speller
- Send stimulations from your application to the Acquisition Server
- Special features: Box messaging basics
- Special features: Box messaging for developers
- Tuning the build process - pre 0.16.0
- Using the basic P300 example scenarios of OpenViBE
Version migration instructions
- Differences between 1.x and 2.x series of OpenViBE
- Migrating a driver from 0.15.0 to 0.16.0
- Migrating a plugin from version 0.15.0 to 0.16.0
- Migrating box code from 0.18.x to 1.0.0
- Migrating your application from 0.15.0 to 0.16.0
- Migrating your code from 0.15.0 to 0.16.0
DoxyGen Documentation
Lastly, DoxyGen documentation contains description of the c++ code for the latest OpenViBE version.
Similarly, the box documentation contains the complete description of all OpenViBE Boxes.
Doxygen documentation for older OpenViBE versions is also available.