Unity Example Application and LibMuse 5.13.0 Released


#1

We have 2 exciting pieces of news to share.

1/ New LibMuse Unity Example Application.

We are happy to announce a Unity 3D example application that illustrates how to integrate LibMuse into the Unity Game Engine. This application will show you how to detect, connect to and receive data from both the 2014 and 2016 Muse headbands using a C# Unity script. The example can be used as in your own applications or you can use it as a starting point for additional modifications.

Download from http://developer.choosemuse.com/unity

2/ LibMuse for iOS and LibMuse for Android have been updated to 5.13.0 API 4.

We’ve updated LibMuse for both Android and iOS to version 5.13.0. This release contains a new IS_GOOD data type for EEG data, fixes for the accelerometer and gyro data types and some stability fixes. The full changelog is below.

Download LibMuse for iOS: http://developer.choosemuse.com/ios
Download LibMuse for Android: http://developer.choosemuse.com/android

Changelog for LibMuse 5.13.0:

Features introduced in this release:

  • New IS_GOOD data packet type which indicates if the last 1 second of raw EEG data is good or contained too much interference and should not be used.
  • Introduces ReaderPlaybackListener which provides notifications when a ReaderMuse finishes playback of a file or playback was interrupted.

Issues addressed in this release:

General

  • Corrected the timestamp for all EEG derived packets (ALPHA_ABSOLUTE, ALPHA_RELATIVE, ALPHA_SCORE, BETA_ABSOLUTE, …). Previous versions were returning -1 for the timestamp. This has been corrected to be the time the packet was generated by LibMuse.
  • ACCELEROMETER axis values were inconsistent between Muse 2014 and Muse 2016 headbands. Axes for both headbands have now been mapped to X, Y, Z in a Right Hand Coordinate System as shown in the new documentation. - FORWARD_BACKWARD, UP_DOWN and LEFT_RIGHT have been deprecated and the sign of UP_DOWN and LEFT_RIGHT has changed as a result of the new axis mapping.
  • ACCELEROMETER values are now displayed in G for both Muse 2014 and Muse 2016 headbands. Previous releases had Muse 2014 values displayed in mG.
  • The GYRO axis values now map to the same axes as the ACCELEROMETER values where GYRO indicates rotation about that axis.
  • ACCELEROMETER and GYRO values for Muse 2016 headbands running firmware versions 1.2.9 and 1.2.13 have been corrected. LibMuse was returning +/-4G for the accelerometer and +/-1000 degrees per second when the ranges for these firmware versions was actually +/-2G and +/-245 degrees per second.

Android

  • Fixed a crash that occurred if you tried to connect to a headband while the Bluetooth on the device was turned off.
  • Fixed a crash that could result while attempting to reconnect to a headband after the device had been locked and unlocked.

iOS

  • Fixed a crash that resulted from calling disconnect when the headband was already disconnected. The second call to disconnect is now ignored.

#4

#5

I’m very excited about the Unity example app. Has anyone gotten the Muse connections to work in the Unity example app with Android and Visual Studio 2015 as the debugger and script edit ? I’m using the Unity Tools, and the Unity 5 Remote on the android device. When I debug and play I see the screen come up on my android device, but never get a list of Muse devices to show up on the screen. The connections work fine with other apps i’ve written using Android Studio, but with Unity, no breakpoints ever get hit and no devices ever show up ?


#6

This is great -thank you! Is the muse code tied to specifically the IOS/ android platforms, or could it be extended to Mac / Windows?


#7

The Unity example only includes Android and iOS support, but it could be extended to Windows 10 UWP applications by including the LibMuse for Windows SDK.

You would need to create the appropriate LibMuseBridgeWindows.cs to bridge the calls from Unity to the appropriate LibMuse C++ calls, similar to what is done for Android and iOS. Check out http://developer.choosemuse.com/unity/docs for more details on the Android and iOS implementations.

Unfortunately, LibMuse is not available for Mac yet.