SDK Overview


The Muse SDK currently consists of LibMuse and the Muse SDK Tools, three standalone tools for working with Muse data:

LibMuse: An Android and iOS library for writing Muse applications. Directly connects to Muse via Bluetooth, streams in raw data, and provides various forms of processed data including FFT coefficients, band powers, session scores, blink detection, jaw clench detection, and more.

MuseIOA Muse driver for Mac and Windows desktop environments that connects with Muse via Bluetooth and sends out Muse data as OSC or LSL messages which other programs can receive. For a list of available data, including raw EEG, accelerometer, and spectral components, see the OSC Paths pages here.

MuseLabA visualizer tool for brainwave and other types of data. MuseLab receives data from MuseIO and allows you to record, annotate, filter, and analyze it with various algorithms. 

MusePlayer A command-line desktop program which allows you to receive Muse data in one format and output it in one or more formats. Can be used for routing OSC messages as well as recording and converting data files.

Available Data Streams

Many kinds of data are available in the Muse SDK. These include raw EEG data, raw accelerometer data, raw FFT coefficients, relative and absolute band powers for Alpha, Beta, Delta, Theta, and Gamma waves, blink and jaw clench detection, and more. This data is accessible through both LibMuse and MuseIO. For more info and a full list of data streams, see the MuseIO documentation here.

Developing with OSC and the Muse SDK Tools 

Open Sound Control (OSC) is a message protocol for devices communicating over a network. It was developed as an alternative to MIDI primarily for applications in electronic music, but it happens to very useful for sending generic data around a network. The Muse SDK tools use OSC to send Muse data between programs. For instance, MuseIO can be used to connect to Muse over Bluetooth and then send Muse data over OSC to MuseLab, which can then visualize and record that data. 

If you plan to write a program that will receive OSC messages, you will need to get a library for your programming language: