Open head tracking for spatial audio
Open, cross-platform, wireless head tracking for binaural and Ambisonic monitoring — because the existing options are each closed, platform-locked, or drift-prone in electromagnetically noisy rooms.
Head tracking is what lets binaural and Ambisonic monitoring hold still: turn your head and the virtual scene should stay fixed in the room rather than rotating with you. The trackers that do this well today are each compromised in some way — closed, tied to a single platform, or unreliable near the magnetic clutter of a studio. This is an ongoing effort to build an open, wireless, OSC-native alternative: it starts with software bridges for sensors that already exist and is aimed at an eventual custom hardware tracker.
Motivation
Head tracking is essential for binaural monitoring and for 6DoF spatial-audio research, but the available options each come with a catch:
- Supperware HT-1 — excellent and well supported, but wired, and its magnetometer-referenced heading can drift near the equipment of a typical control room.
- Waves Nx — wireless over Bluetooth, but the only ready-made OSC bridge (NXOSC) is macOS-only, and the Nx plugin itself is closed.
- MrHeadTracker — open and well regarded, but built around end-of-life parts that are increasingly hard to source.
The goal is the combination none of them offer at once: open, wireless, cross-platform, OSC-native head tracking, with heading that stays stable even in electromagnetically noisy rooms.
Current components
Three open-source repositories (all MIT-licensed) make up the work so far — two working OSC bridges and one reverse-engineering writeup. These are early-stage tools, not finished products.
- mmrl-osc — uses an Mbientlab MetaMotion RL as a head tracker, connecting over Bluetooth LE and streaming orientation as OSC to common spatial-audio plugins (IEM SceneRotator, SPARTA, APL Virtuoso). It can run host-side VQF sensor fusion for drift-resistant, magnetometer-disturbance-aware heading. (GitLab · GitHub)
- OpenNx — an open OSC bridge for the Waves Nx Head Tracker, reimplementing the macOS-only NXOSC on a portable BLE stack so it can run beyond macOS. Developed and tested on macOS so far; Windows and Linux support is the design intent but not yet verified. (GitLab · GitHub)
- jabra-elite10-re — a complete BLE GATT reverse-engineering of the Jabra Elite 10 Gen 2 earbuds’ head-tracking service, including its Google Fast Pair authentication. The result is a documented dead end: the orientation data is gated behind Fast Pair and most likely never crosses GATT to a host at all. The writeup — the full GATT map, the capture evidence, and an honest runnable skeleton — is the deliverable. (GitLab · GitHub)
In short: two OSC bridges that work today (mmrl-osc, and OpenNx on macOS) plus one rigorous negative-result study.
Direction
The software bridges are groundwork. They establish the OSC output that spatial-audio plugins expect, a host-side sensor-fusion pipeline, and a practical understanding of how these sensors actually drift — exactly the things a good hardware tracker has to get right.
The eventual centrepiece of this project is a custom open-hardware wireless head tracker: low-latency BLE, a best-in-class MEMS gyro, host-side VQF fusion, and a form factor small enough to hide on a headband. The MMRL work in particular feeds the sensor-fusion and thermal-drift decisions behind that design.