Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/khofstadter/OpenBCI-SuperCollider
SuperCollider classes for communicating with Open Brain Computer Interface
https://github.com/khofstadter/OpenBCI-SuperCollider
Last synced: about 1 month ago
JSON representation
SuperCollider classes for communicating with Open Brain Computer Interface
- Host: GitHub
- URL: https://github.com/khofstadter/OpenBCI-SuperCollider
- Owner: khofstadter
- Created: 2018-06-13T15:40:07.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2024-01-16T09:29:46.000Z (6 months ago)
- Last Synced: 2024-05-18T20:40:14.272Z (about 2 months ago)
- Language: SuperCollider
- Size: 692 KB
- Stars: 10
- Watchers: 4
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Lists
- awesome-supercollider - OpenBCI-SuperCollider - SuperCollider classes for communicating with Open Brain Computer Interface (Single board computers / Others)
README
a [Quark](https://supercollider-quarks.github.io/quarks/) for [SuperCollider](https://supercollider.github.io)
main author: [redFrik](https://github.com/redFrik)
# OpenBCI
SuperCollider classes for communicating with [Open Source Brain-Computer Interfaces](https://openbci.com).The following boards are supported...
* [Cyton](https://docs.openbci.com/Cyton/CytonLanding/) (8 channels) [sdk](https://docs.openbci.com/Cyton/CytonSDK/)
* [Cyton + Daisy](https://docs.openbci.com/Cyton/CytonSpecs/#openbci-daisy-module) (16 channels) **untested**
* [Ganglion](https://docs.openbci.com/Ganglion/GanglionLanding/) (4 channels), [sdk](https://docs.openbci.com/Ganglion/GanglionSDK/)
```supercollider
//install
Quarks.fetchDirectory
Quarks.install("OpenBCI-SuperCollider")
//recompile
OpenBCI.openHelpFile
```For more info see https://openbci.com
Note that several of the examples here are ported from the official application [OpenBCI_GUI](https://docs.openbci.com/Software/OpenBCISoftware/GUIDocs/) v4.2.0.
## overview
* Cyton, CytonDaisy, Ganglion - use these SuperCollider classes if you connect to your board via bluetooth serial (the dongle). Maximum sample rate is 250Hz (Cyton) and 200Hz (Ganglion).
* CytonWifi, CytonDaisyWifi, GanglionWifi - these SuperCollider classes require the [WiFi Shield](https://docs.openbci.com/ThirdParty/WiFiShield/WiFiLanding/) (also [DIY](https://fredrikolofsson.com/f0blog/openbci-wifi-shield-diy/)) and a special firmware ( [Arduino sketch](https://github.com/redFrik/OpenBCI_WIFI/blob/OpenSoundControl/examples/WifiShieldOSC/WifiShieldOSC.ino) ) for sending OSC. Maximum sample rate for these classes is 16000Hz.
* PlaybackData - is a class tha can play back recorded data from file (e.g. the files recorded onto the onboard SD-card).
* SyntheticData - with this class you generate synthetic test data. No hardware board needed.
* DataFilterNotch, DataFilterBandpass, DataSmoothing, DataFFT, DataRecord etc - these are classes for analysing and modifying data.
![screenshot-openbci](screenshot-openbci.png?raw=true "OpenBCI-screenshot")
_(screenshot showing gui widgets ported from OpenBCI_GUI.app)_## troubleshooting
see https://docs.openbci.com/Troubleshooting/TroubleshootingLanding/
## changelog
* 1.91 - add mind mirror example, minor refactor and helpfile improvements
* 1.90 - major improvement in all examples using fft and filters
* 1.87 - focuswidget bugfix and bandpower improvements
* 1.86 - fft fixes, revert to default fft window, DataSmoothing filterLog
* 1.85 - changed SyntheticData to match 4.2.0, button bugfix, filterN, smoother drawing
* 1.82 - fft optimisation and windowtypes, fixing links, increase framerate in examples
* 1.81 - important bugfix for recorded/raw data file playback
* 1.80 - default bufferSize reduced from 1024 to 512, filters now calculate in place, use Image class
* 1.75 - added three scsynth examples and fixed some outdated links
* 1.71 - phase coherence added to -8ch nf, nf_plotter.scd added (with audio player and 'PlayFile' folder)
* 1.70 - neurofeedback-2ch and -8ch added
* 1.63 - impedance tests and examples, autoscale accelerometer
* 1.62 - readme updates with screenshot
* 1.61 - bugfix, remove wifi reset argument, simplify focus widget example
* 1.60 - file recording class, changed dataAction arguments
* 1.53 - file playback class
* 1.52 - focus widget
* 1.51 - bugfix for numChannels that made most examples stop working
* 1.50 - renamed buf, fft, lag, seq, test classes and added OpenBCIboard, bandpower widget
* 1.40 - rewrote filters and OpenBCIfft again, bufferSize, added OpenBCIlag, fixed examples
* 1.30 - rewrote filters and OpenBCIfft, added internal board buffer, fixed examples
* 1.20 - added filter functionality and classes, scaling inside classes, many example fixes
* 1.13 - ported some openbci_gui widgets, added tests, currentSampleRate, active flags
* 1.12 - added new sequencer class, buffer class stop bugfix, fixed examples
* 1.11 - added new buffer class
* 1.10 - big fixes to fft, clean up examples
* 1.02 - changed to direct ip instead of broadcast - need latest WifiShieldOSC
* 1.01 - improved helpfile, added initAction feedback, new advanced example
* 1.00 - big breaking rewrite and restructure of classes, added osc wifi classes## todo
* are getRadioChannel, setRadioChannel, setRadioHostChannel, getRadioPollTime, setRadioPollTime, setRadioHostBaudRate, getRadioSystemStatus, attachWifi, removeWifi supposed to work with wifishield?
* document all methods in Cyton, CytonDaisy and Ganglion classes
* add a 10sec timeout on initAction
* implement and test the different aux commands
* finish and test Ganlion classes - both serial and wifi
* finish and test Daisy classes - both serial and wifi
* deal with muted channels in test and fft classes
* converter class for SD log file data
* ganglion impedance