OpenBCI Video

OpenBCI – OSC stream mapped to multiple objects in Touchdesigner

This is an extended example of a single channel of BCI data sent to Touchdesigner via OSC. The main difference here is that I am breaking out each of the five band power values and mapping them each to something different.

After I made this video, I confirmed that the values are arranged as follows:

Delta (0.5 – 4 Hz)
Theta (4 – 8 Hz)
Alpha (8 – 13 Hz)
Beta (13 – 32 Hz)
Gamma (32 – 100 Hz)

Source: OpenBCI GUI Networking formats

OpenBCI Video

Reading Cyton Data from Files

These videos recap some of my earlier proof of concept attempts for getting data into Touchdesigner using file output capability of the OpenBCI GUI.

In the first case, I first generated a file using the OpenBCI GUI, then later pulled the data into Touchdesigner (non-real time).

Read Cyton Data into Touchdesigner From Static File

In the second attempt, I pointed Touchdesigner to the location of the file as it was being generated and later parsed the data into rows and columns. I’m calling this “semi-real time” because this isn’t as direct as it could be, and presents some timing problems. I would later abandon this in favor of using OSC and other options.

Consuming OpenBCI output with Touchdesigner via semi-real time process
OpenBCI Video

Band Power via OSC into Touchdesigner mapped to sine wave

Continuation of previous experiments with getting BCI data into Touchdesigner.

OpenBCI Video

OpenBCI into Touchdesigner via OSC mapped to Sine Wave

This is a rudimentary demo of an OpenBCI signal (in this case, FFT of channel 5) mapped to an audio generator (Sine wave generator).

As I move my arm the frequency tends to go up, though there is not any fine control at this point. But there is a clear difference between the at rest tones and more excited tones with arm movement.

The base frequency of 420 Hz is manipulated +/- the re-ranged values coming from the BCI input. A similar normalized value is used for the circle radius (which is hard to see here since it ranges outside the viewer most of the time). This continues what I demonstrated here:

OpenBCI Video

OpenBCI: Cyton OSC Data to Touchdesigner

This video shows OpenBCI Cyton live data input to Touchdesigner via OSC protocol.

The good thing here is that data is finally coming in live, rather than from a saved CSV file. On the downside, this method is still reliant on the OpenBCI GUI and I also had an index issue (later fixed by adjusting the OSC rows to 8 instead of 10). The data is also not very clean yet, so much more work is needed.