IMU Enabled Devices
Created:Introduction
As more and more devices become available on the market for headtracking and positional tracking we can expect more oppurtunity for growth of spatial audio and other creative uses for multichannel/spatial audio. Here we will try to track and list known devices, focused more on the consumer side as the DIY side could be endless (however we will still list some here for anyone starting to research DIY solutions).
Additionally we are excited to which of these devices will be easy for 3rd party developers to use for their use cases, instead of just having access to the tethered software of each device, we will list the ones that support open use (open-use
) as well as those that do not (via closed/inaccessible
)
Development Tracking
- (
TBD
) - Orientation is not accessible, public SDK in progress - (
open-use
) - Orientation data is accessible, full public SDK available - (
semi-open-use
) - Orientation data is limited, no official public SDK available - (
closed/inaccessible
) - Orientation data is not accessible or is proprietary
Headphones / Earphones
- Bose NC 700 (
semi-open-use
) - Bose QC35 II (
semi-open-use
) - Bose Frames Alto (
semi-open-use
) - Bose Frames Rondo (
semi-open-use
) - Apple AirPods Pro (
open-use
) - Apple AirPods Max (
open-use
) - Apple AirPods [3rd generation] (
open-use
) - Beats Fit Pro (
open-use
) - Audeze Mobius (
semi-open-use
) - JBL Quantum One (
closed/inaccessible
)
Attachable IMU Trackers
- mBient Lab MetaMotion (
open-use
) - Supperware (
open-use
) - WitMotion (
open-use
) - nvsonic (
open-use
) - EDTracker Pro (
open-use
) - Waves NX (
closed/inaccessible
)(semi-open-use
) - BBC micro:bit (
open-use
)
AR/MR Glasses
- MagicLeap: Lightwear
- Nreal
- LeapMotion: North Star
- Shadow Creator: Action One
- Rokid: Glass
- Kopin: Golden-I Infinity
- Rokid: Project Aurora
- Vuzix: M300
- ThirdEye Gen: X2
Alternatives Headtracking Sensors
- TrackIr
- OpenTrack
- FaceTrackerNoIR
- PointTracker
- Intel RealSense 3D cameras (via OpenTrack)
- Razer Hydra
- Aruco
- Wiimote
- Consolidated DIY IMU: BNO055
- Consolidated DIY IMU: L3GD20H + LSM303
- Consolidated DIY IMU: ICM-20948
- Consolidated DIY IMU: MPU-9250
- Consolidated DIY IMU: BNO080
Web Facetrackers
- MediaPipe BlazeFace
- jeelizFaceFilter
- FaceTracker.net
- tracking.js
Opensource Facetrackers
- Mediapipe FaceDetection/FaceTracker
- Spark AR: Face Tracker
Device Specific Instructions
AirPods Pro, AirPods Max, AirPods (3rd gen) & Beats Fit Pro
As of Xcode 12 Beta Preview 6 or newer (Xcode 12) along with iOS 14+ the CMHeadphoneMotionManager API is available and with minimal effort we can expose the orientation data of the AirPod Pro. View our demo implementation of this via an iOS app that outputs the orientation data via OSC here: https://github.com/Mach1Studios/M1-AirPodOSC
Supperware
We recommend usage of Supperware tethered IMU for studio environments. The IMU and associated connection tools are very maturely designed and further supports an opensource API for bridge connection to be natively written into production software.
MetaMotion
We have been using MetaMotion MMRL & MMS devices for custom 3rd party headtracking added nicely to any pair of headphones with great performance. We have even contributed to a prototyping cross-platform OpenFrameworks addon to help others use these devices as well: https://github.com/Mach1Studios/ofxMetaMotion
WitMotion
In an attempt to make the WitMotion controller accessible we have developed a cross-platform OpenFrameworks addon and example: https://github.com/Mach1Studios/ofxWitMotion
Waves NX : NXOSC (audiooo.com)
The WavesNX are now usable for macOS to custom OSC output addresses via Katsuhiro Chiba’s little middleman sniffer hacker application: https://audiooo.com/nxosc
Audeze Mobius
The Link Mode checkbox in the Audeze HQ application contains a beta feature with Audeze’s latest Firmware that allows apps using Zeroconf (OSC protocol) to access the headtracking data provided by Audeze Mobius. If you have software that’s compatible with that protocol, the data should transmit to it when you check the box in HQ as follows: