MusePlayer is a utility for recording, replaying, rerouting, and converting EEG and accelerometer data from Interaxon Muse EEG devices. It can save to and convert between the native Muse datatype (.muse), Matlab (HDF5), CSV, and OSC replay formats.
####Supported Inputs
- OSC network stream
- OSC-replay file format
- Muse file format v1
- Muse file format v2
####Supported Outputs
- MATLAB (HDF5)
- CSV
- OSC network stream
- OSC-replay file format
- Muse file format v2
- Print to screen
-
Install the dependencies listed in the below section, except for the 3rd party repos, which you will pull down after cloning the museplayer.git repo.
-
Clone the repo:
git clone git@bitbucket.org:interaxon/museplayer.git
-
Navigate to your local clone:
cd museplayer
-
Initialize and update the submodules:
git submodule init git submodule update
-
Build the executable:
./scripts/build.sh
###3rd Party Repositories
These repos are included as git submodules of the top level museplayer.git repo. Update them with:
cd museplayer
git submodule init
git submodule update
###Python libraries
- pyliblo - python bindings for liblo
- scipy - for reading/writing HDF5 matlab files
- numpy - for reading/writing HDF5 matlab files
- Google Protocol Buffers - for reading/writing .muse files
- h5py - python bindings for libhdf5
###Build Dependencies
- PyInstaller - to build the all-in-one executable
###Testing Dependencies
MusePlayer takes Muse data in a variety of formats and then outputs Muse data in a variety of formats. For example:
muse-player -l 5000 -M path/to/recording/muse_recording.mat
Listens for Muse OSC data over TCP on port 5000, and records it to a MATLAB file in path/to/recording/muse_recording.mat
For more information on all the options for MusePlayer including message filtering options, type "muse-player" in your shell to see the help docs.
The main test script is /scripts/test.py. You will need to install mock and nose to run it.
MusePlayer is tested by inputting known test data and checking the output against golden examples of correct output data for each configuration. All test data is stored in the test_data directory.
To contribute code to the MusePlayer project, you must follow the standard fork and pull request workflow. For details on this process as well as how to submit bug reports and feature requests, see the CONTRIBUTE file.
Documentation regarding the implementation and development of MusePlayer is hosted here on the Bitbucket wiki for this repo.
For documentation on the Muse SDK in general and how to develop applications for Muse with it, visit developer.choosemuse.com.
MusePlayer is licensed under the provisions of the Apache license 2.0. See the LICENSE file for details.