Page 1 of 1

OSC Streaming vs Recording Data Discrepancy

Posted: Tue Mar 30, 2021 9:05 pm
by alnasir43
Hi,

I'm wondering what is the difference between the raw data obtained via OSC streaming and the raw data obtained through recording? My assumption was that these two should produce identical data but I'm finding it is not the case. Can anyone shed some light?

Re: OSC Streaming vs Recording Data Discrepancy

Posted: Tue Mar 30, 2021 9:37 pm
by James
Set the "Recording Interval" to "Constant" and the RAW EEG will match.
Because all values are written on each line as a requirement of the CSV format, you'll get duplicate data on all other values due to the slower data rate. For example, absolutes are calculated at 10Hz.
You can find the data rates in the OSC spec here: https://mind-monitor.com/FAQ.php#oscspec

OSC on the other hand, streams each value type independently, so you can for example get 256Hz RAW EEG and 10Hz Absolutes.

If you want to record all the data exactly as in the OSC stream with each data type being written at it's independent data rate, then you can record in ".Muse" format (Switch formats in settings). This creates a Google Protocol Buffer file, which was the file format that Interaxon originally used with their now discontinued Muse Lab toolset.

Re: OSC Streaming vs Recording Data Discrepancy

Posted: Tue Mar 30, 2021 9:53 pm
by alnasir43
Thanks for the reply!

I do have recording interval at 'constant'. I'm not worried about other values since I'm only focused on the raw. I guess my question is more along the lines of how do I get OSC to produce the exact same data as from the recording. Beyond matching frequencies would there be any difference in the voltage values themselves?

To give a brief background on my question, I'm conducting a simple machine learning exercise involving feature extraction from eeg signals. However, the model only seems to perform well with recorded data, and not with the data I obtain from the OSC.

Re: OSC Streaming vs Recording Data Discrepancy

Posted: Tue Mar 30, 2021 9:58 pm
by James
The recorded RAW EEG and Streamed RAW EEG values will be identical at the "Constant" recording rate.

If you go into settings you can turn on "Marker Buttons". This will give you five numbered buttons that you can use to inject a numbered marker into both the OSC and recorded stream to help sync.

Re: OSC Streaming vs Recording Data Discrepancy

Posted: Tue Mar 30, 2021 10:43 pm
by alnasir43
Thanks again for the reply.

It still doesn't seem to sync up. Is the OSC stream 220 Hz by default or 256? I noticed there are two values on the OSC stream spec.

Re: OSC Streaming vs Recording Data Discrepancy

Posted: Tue Mar 30, 2021 10:46 pm
by James
220Hz for the 2014 Muse, 256Hz for all the later versions.
Are you sure you've got all the OSC data? It's UDP, so you might have dropped some packets.
Email me some samples and I'll take a look.