Skip to content

eegsynth/eegsynth

Repository files navigation

The EEGsynth is a Python codebase released under the GNU general public license that provides a real-time interface between (open-hardware) devices for electrophysiological recordings (e.g., EEG, EMG and ECG) and analogue and digital devices (e.g., MIDI, lights, games and analogue synthesizers). The EEGsynth allows one to use electrical activity recorded from the brain or body to flexibly control devices in real-time, like (re)active and passive brain-computer-interfaces (BCIs), biofeedback and neurofeedback.

Since December 2018, the EEGsynth is registered as a legal Association with the French authorities.

Documentation

The EEGsynth code and technical documentation are hosted on Github and organized as follows:

  • src/eegsynth contains the EEGsynth application (see below)
  • src/module contains individual modules and reference dopcumentation
  • src/lib contains some libraries
  • doc contains the general documentation
  • patches contains patches and documentation of past performances
  • hardware contains documentation on some custom hardware

Installation

You can install the EEGsynth with pip install eegsynth. Further installation details can be found in the documentation.

Running the EEGsynth

Following installation of the EEGsynth and starting Redis, you can start eegsynth *.ini from a terminal with all ini files contained in a patch, for example like this

eegsynth buffer.ini generatesignal.ini plotsignal.ini

or you can start it one module at a time by starting multiple terminals, each with a separate EEGsynth instance, like this

eegsynth buffer.ini
eegsynth generatesignal.ini 
eegsynth plotsignal.ini

or you can start the graphical user interface (GUI) like this

eegsynth --gui

You can subsequently drag-and-drop the ini files that you want to start into the GUI. After editing an ini file, you can simply drop it into the GUI again and the module will automatically restart; there is no need to stop and restart all of them.

Disclaimer

The EEGsynth does not allow diagnostic investigations or clinical applications. It also does not provide a graphical user interface for offline analysis. Rather, the EEGsynth is intended as a collaborative interdisciplinary open-source and open-hardware project that brings together programmers, musicians, artists, neuroscientists and developers in scientific and artistic exploration.

Although there are plans to make it more 'plug-and-play', the EEGsynth currently has to be run from the command line, using Python and Bash scripts, and is therefore not friendly for those not familiar with such an approach.

Collaborate and get more information

When you start an project with the EEGsynth, consider doing it together with in a group of people that have knowledge and experience complimentary to yours, such as in electrophysiology, neuroscience, psychology, programming, computer science or signal processing.

More information can be found at our website. Follow us on Facebook and Twitter, and check our past and upcoming events on our calendar. Please feel free to contact us via our contact form.