P300 Speller

1 language
  • Article
  • Read
From Wikipedia, the free encyclopedia
This article is about the interactive demo. For the search engine that hosts it, see David's Internet.
P300 Speller
TypeInteractive demo
OriginBCI Competition III dataset II
DeveloperDavid
Written inPython, Keras, NumPy, SciPy, TypeScript, Canvas
TestsRow and column decoding logic ported to TypeScript and fixture-tested
Built withTriton Neurotech ML team study of the open-source p300-speller codebase
Hosted onDavid-Internet/demos/p300
Websitehttps://david-internet.vercel.app/demos/p300

P300 Speller is an interactive demonstration of a brain-computer-interface speller that classifies an evoked potential over a flashing character matrix.[1] It is based on work studied on Triton Neurotech's ML team, using the open-source p300-speller project by Carzaniga and Gualniera on BCI Competition III dataset II.

A 6 by 6 matrix flashes rows and columns at 100 milliseconds on and 75 milliseconds off, for 15 repetitions, over scrolling synthetic eight-channel EEG. Target flashes carry a P300 that only becomes visible as epochs average.

Overview

The page maps a 1D-CNN family (CNN1 through CNN3 and MCNN1 through MCNN3) onto a 64-electrode head map and quotes committed notebook outputs: roughly 73 to 80 percent window accuracy, with character accuracy climbing from 37 percent to 94 percent as repetitions accumulate.

Speller

Visitors pick a target letter and watch row and column scores accumulate until the letter locks in. An SNR slider shows why more repetitions help. The decoding logic is a TypeScript port of the original letter-scoring path rather than a simplified reimplementation.

Development

Row and column decoding logic ported to TypeScript and fixture-tested. Results panels quote the notebooks rather than re-training the CNNs in the browser.

See also

References

  1. ^ content/p300/README.md, David's Internet.