Project

General

Profile

Example Clients and EEG recordings

The example clients are used for the visualization and transformation of EEG data to sound (sonification). The purpose of these clients is to provide exemplary usage scenarios of EEG data, e.g. in a creative context. The clients receive EEG data via the Open Sound Control protocol over the network or localhost. This protocol is implemented in a variety of environments and software tools, such that interested users should be able to receive EEG data via OSC in their applications easily.

We recorded raw EEG data which can be used for the example clients, see section Example_Clients_and_EEG_recordings. Both can be downloaded from our Files section.

Using the example clients

We implemented example clients in vvvv and SuperCollider. EEG data can be streamed to the clients in two different ways:

Streaming from devices

Owners of an Emotiv EPOC headset (with an EEG enabled license) or BrainVision BrainAmp device can forward EEG data to the example clients in realtime with the free software tool NeuroTransmitter. Here you will find more information about the NeuroTransmitter.

Streaming from EEG recordings (or: How to play with EEG data in 5 min although I have no device)

In our Files section you will find recorded raw EEG data made with BrainVision BrainAmp. The output of the NeuroTransmitter has been recorded with the free software tool Throng OSCDeck, which runs on most operating systems and can also be used to stream the data to our example clients:
  • Download Throng OSCDeck from here
  • Download the file rawEEGData0.1.zip from our Files section and unpack the zip.
  • Start Throng OSCDeck (Java is required)
  • Open an osc-file and enter Outbound IP Address and Port. If you run the example clients and Throng OSCDeck on the same computer, enter 127.0.0.1 as IP Address and the port number which is set in the example client (see next sections)
  • Click on Start Proxy and then on Start
  • Start an example client

Please feel free to use the recorded EEG data in your own environments.

Visualization in vvvv

Please download vvvv from http://vvvv.org and follow the instructions for the installation. Then just double-click one of the following files which are contained in exampleClients0.1.zip in our Files section:

  • simpleEEGDisplay - BrainProducts .v4p
  • simpleEEGDisplay - Emotiv.v4p

If an OSC stream is already started and IP address and port are set correctly, the visualization will respond immediately.


vvvv screenshot

Sonification in SuperCollider

Please download SuperCollider from http://supercollider.sourceforge.net/ and follow the instructions for the installation. Running SuperCollider code depends on the environment you use, so please refer to the help pages of SuperCollider. Note that SuperCollider usually expects incoming OSC data on the port 57120. The file simpleEEGSonification.sc contains our sonification approach. It can be found in exampleClients0.1.zip in our Files section.

We use the following algorithm in our sonification:
  • Average the sensor values on the two hemispheres (left and right sensors)
  • For {left|right} hemisphere
    • Apply three bandpass filters in the ranges 4-7 Hz (theta), 8-12 Hz (alpha) and 13-30 Hz (beta)
    • Use the amplitude of the bandpass filtered signals to drive the amplitude of three different sound sources wich are based on sine and impulse oscillators
    • Mix (add) the signals and output to the {left|right} audio channel


Screenshot SuperCollider

FAQ

Q: I am trying to stream the recorded raw EEG data to your example clients, but nothing is happening. What am I doing wrong?
A: First check if you entered the right Outbound IP Address and Port in Throng OSC deck. Ensure that the port numbers match and that you set the right IP Address for the receiver. Then click on Start Proxy. After hitting "Start" the data should arrive.

Q: Is it possible to run the NeuroTransmitter and the example clients on the same computer?
A: Yes, it is. Use the address 127.0.0.1 as IP address in the settings of the NeuroTransmitter and ensure that you enter the right port number. Please note that it is possible to distribute the data stream generated by the NeuroTransmitter in the network, such that CPU intense example clients can run on dedicated computers.

Contact

Please send bug reports, feedback and suggestions to

vvvv.png View (21.9 KB) Lukas Kaser, 2012-11-30 13:00

SuperCollider.png View (50.7 KB) Lukas Kaser, 2012-11-30 13:00