Open head tracking for spatial audio

Exploratory work toward open, wireless, OSC-native head tracking for binaural and Ambisonic monitoring — a few early software bridges and a reverse-engineering writeup, with a custom hardware tracker as the eventual aim.

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 spatial-audio research — it supplies the listener’s head orientation in three rotational degrees of freedom (3DoF: yaw, pitch, roll) — 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.

  • openMMRL — 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 sensor fusion — the Versatile Quaternion-based Filter (VQF) — which estimates gyro bias and gates magnetometer disturbances, intended to improve heading stability in magnetically noisy rooms. (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 never crosses GATT to a host — confirmed on a rooted Android, where a system-wide Bluetooth hook saw zero head-tracking traffic and Sound+ holds no GATT link. 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 (openMMRL, and OpenNx on macOS) plus one 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 longer-term goal is a custom open-hardware wireless tracker. It hasn’t been built yet — the software above is the first step toward it.

Related Resources