OpenViBE Documentation

OpenViBE P300 Speller

This set of scenarios implements the P300 Speller BCI using only the OpenViBE Designer. You will find it in share/openvibe-scenarios/bci/p300-speller. P300 is a well-known pattern in the brainwaves, a positive peak that occurs 300 ms after a relatively rare but expected event. The Speller application flashes randomly a grid of letter, and the user is instructed to ficus on the letter (s)he wants to spell out. After some repetitons, a vote determines which letter the BCI system selects.

  • p300-speller-1-acquisition.xml: First step is to acquire some data in order to train the LDA classifier that will detect the P300 brainwaves. The default training session is made of 10 trials. Each time the user is instructed to focus on a particular letter (instruction in blue). After 12 repetitions (12 flashes of each row and column, so 24 flashes for each letter on the grid) we move on to the next letter. Change the Lua Stimulator settings to configure the number of letter, the timings, the colors, etc.
  • p300-speller-2-train-classifier.xml: This scenario trains a LDA classifier that try to discriminate the two classes : P300 or not.
  • p300-speller-3-online.xml: This scenario allows the user to spell some text. (S)He can choose to spell the designated letters (in blue) or any other letter. However it is advised to follow the instructions as a well-formed online session can be used to train again the classifier if the results are not good enough. After the 12 repetitions, the system displays the letter it chose as the best candidate (in green). Change the Lua Stimulator settings to configure the number of letter, the timings, the colors, etc.

Warning: the default online scenario uses a Generic stream reader to read data from a recorded session. Connect the Acquisition client instead if you want online acquisition.


p300.png
Fig.1 The P300 Speller.