Newbie question...libraries, environments, and such


#1

Sorry if this is a stupid question…but I have just received my Muse and am looking to play around with the functionality and write some code to do experiments (changes in eeg under different circumstances). I have installed the SDK and read the documentation on the website. It seems that currently what is supported is the IO (communicates with the headband), the Lab (lets you see the signal and tweak what is being measured), and the Player (gets data to other environments). I see a notice that a library is coming soon, but not available yet. So where does one go from here? Is the approach to just export the raw data to another environment (like MatLab or Java) and try to find libraries written for MatLab/Java? I’m not trying to write an app for distribution or anything. Just trying to be able to play with the Muse beyond using the Calm app.


#2

It’s possible to write programs on the desktop that can read the output from Muse-IO. Then it’s up to you what to do with them. There are some cool demos on YouTube, and several other posts on this forum provide more details.

For my part, I wanted to mess with the data in Python, so I looked into liblo and looked at how the dump_osc.py file (included in the SDK) worked…and that provided some indications how to start coding.


#3

Hi,

The provided Muse-Player is actually open source and written in Python. You can use that as an example or modify it to integrate different functionality as well.

We’ve also provided iOS and Android sample apps that will receive OSC from Muse-IO called museioreceiver:

You can certainly stream live data into MATLAB as well if you’re interested through OSC. We do it at Muse all the time. You should be able to find libraries that support OSC in almost any language. Python is an easy one, processing has lots of neat examples too.

I would recommend streaming into Muse-Lab and then forwarding select messages to your own program as it is a great way to see your live data, analyze and debug while selectively communicating with your software.