Skip to content

AntoineBellemare/MEME

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 

Repository files navigation

Bundle of Max4Live devices using EEG signal for dynamical audio-visual composition. It is designed to provide flexible mapping of real-time EEG signals for digital artists

This bundle is primarilly intended to be coupled with the use of EEG_synth (https://github.com/hyruuk/eegsynth/tree/dev_cbc) and Muse headset. The EEG_stream module allows to receive the OSC messages and stream it to any other module that requires it. If the user doesn't have a Muse headset, the module EEG_playback allows to stream pre-recorded EEG signals. The modulation modules can be used without the live EEG stream.

Simple use case

Insert the EEG_stream module in any Ableton track and set the UDP port accordingly to your EEG_synth patch. The light will flash if data is received.

Insert the EEG_mapper or EEG_mapper_multi module in any Ableton track and choose the feature that you want to map on any control parameter

Utilities

The EEG_playback module can replace the EEG_stream module when pre-recorded signals are used. When signal is streamed, all the other modules are able to receive the data they are expected. You can find data examples recorded using a Muse headband in the /data_examples folder. To open a datafile, you need to press on the load button and select the file (you will be asked to select the file twice; this behavior needs to be fixed). Then, the speed parameter needs to be manipulated to control how fast the data is read. With the present files, you can set the speed to 1.15ms to reflect the original datastream sampling frequency.

Modulators modules

Cognitive accumulator/trigger

The cognitive accumulator/trigger is a module designed to trigger events such as audio clips, or musical scenes. The trigger happens when a specific EEG feature reaches a chosen threshold and stays above it for a certain amount of time, indicating that ‘’a state’’ has been detected. This module allows to navigate between musical scenes based on the detection of cognitive states.

Quantizer-Smoother-Pitchbend

The quantizer-smoother-pitchbend works as both a smoother and a sample-and-hold. It whether computes the average or take a snapshot of an incoming each specified amount of time. The ramptime value indicates the time necessary to ramp to the next value. When pitch is set to ON, output values are directly routed to the pitchbend cc value. The quantize option allows to constraint the output value according to predetermined tunings. The Biotuner option allows to use dynamical biotunings as a reference tuning for pitchbend.

Thresholder

The thresholder is a module designed to trigger MIDI notes when a specific EEG feature crosses a predetermined threshold.

Machine learning modules

Brain decoder

The Brain decoder module uses supervised machine learning classifiers. By feeding data from different mental states, the algorithm learns to classify new data as belonging to one of the pre-learned state. By clicking on the ''features'' button, the choice of feature can be made.

Fuzzy Adaptive Resonance Neural Network

The Fuzzy Adaptive Resonance Neural Network module uses unsupervised machine learning in the form of self-organizing neural networks that allow to perform realtime clustering. By clicking on the ''features'' button, the choice of feature can be made. This module can be use to modelize pathways in the state space of brain signal.

Biotuner modules

These modules interface the Biotuner Python toolbox (https://github.com/antoinebellemare/biotuner) They allow to use dynamical microtonal tunings and euclidean rhythms derived from EEG signals for realtime musical composition.

Tuning Foraging

The Tuning Foraging module allows flexible control over biotunings, whether by controlling how often the tuning changes, how many notes are in the tuning, as well as the degree of harmonic similarity between two successive tunings.

MIDI_microtonality

The MIDI_microtonality module allows to load tuning files from .scl and .txt, as well as write new tunings directly in the module. It can also be coupled with the Tuning Foraging module to receive tunings dynamically from the Biotuner.

Biotuner-Euclid

The Biotuner-Euclid module produces euclidian polyrhythms based on EEG signal harmonic ratios. It can easily be coupled with EEG_mapper module by mapping EEG features on sustains, rate of change or complexity values. It takes MIDI notes as input, and can therefore be integrated in an instrument rack with the MIDI_microtonality and Tuning_foraging modules to use bioharmonies in frequency and time domains simultaneously.

About

Bundle of Max4Live devices to use EEG signal in dynamical audio-visual composition

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published