Using raw data in Max/MSP/Jitter
I’d like to use raw data in Max/MSP/Jitter (mostly in MSP) and I wonder if anyone knows how to do this. Specifically I would like to sonifiy EEG data. To do this I would I would like to know how to create an MSP signal directly from the data. EEG data is samples of a varying signal over time in the same way that audio is (albeit at a faster sampling rate), but I don’t know what file types max will handle and how to deal with data so that I can use it in max. There are many places that you can get eeg data from, here are two examples:
if anyone has any help to offer or an idea of where I should start I would very grateful,
there are two types of EEG formats shared a lot in those two links;
matlab format. If you have matlab you might be able to export it in the other common format;
ascii. Those files should be easily loaded in Max.
As with all other data – mapping is everything. Good luck.
Hi, thanks for the help.
is an example data set that looks like this:
# 120 trials, 64 chans, 416 samples 368 post_stim samples
# 3.906000 msecs uV
# S1 obj , trial 0
# FP1 chan 0
0 FP1 0 -8.921
0 FP1 1 -8.433
0 FP1 2 -2.574
0 FP1 3 5.239
0 FP1 4 11.587
0 FP1 5 14.028
…starting with line 6 you have the data. This would be super-simple to access using the [text] object, send it "line $1" commands and use [zl ecils 2] to get the sample number and value by themselves (unless you need the first two values for something). Then use [scale] with the right arguments to get the values to a -1. to 1. range (possibly with tweaking), and use [peek~] to write the values directly to a buffer~.
Interested to hear what you come up with! Wish I had some EEG equipment too, I wanna hear my thoughts… ;-)
That is superb, thanks. I’ll get back to you when I’ve got somwhere with it :)