When we test out the Tectonic BMR speakers, subjectively they sound much clearer than the built in speakers on Quest 2, with really good imaging and staging.
Their biggest problem is the lack of bass. According to Tectonic's datasheet, the frequency cut off is just below 200Hz, which is right where the bass transitions to thumping sensation.
To solve this, I've been playing around with a Teensy Audio Adaptor Board to apply equalization. This post documents how I built a custom (pretty good) headphone measuring rig, and the result after applying EQ computed by AutoEQ.
Turns out that professional headphone measurement systems are insanely expensive. Even the most affordable set (miniDSP EARS) are a pricy side. So I decided to build my own. Here are the components:
- Budget Headphones Measurement Rig for Dayton iMM-6 by gumo_design. The ears were printed using Varioshore TPU to mimic human ears, and the ear canals were printed with Sainsmart TPU.
- Dayton iMM-6 - a fairly good and affordable calibrated microphone.
- Audiotools app (which can import iMM-6 calibration file). Simplifies measuring audio response curve and provides a pink noise source.
- iPhone and lightning to headphone jack adaptor.
- Zip tie the rig to VR Headset Stand from Amazon.
The setup is definitely not ideal but should be good enough to gather initial data. It also serves as the world's creepiest VR headset stand.
I cannot rely on raw measurements since the setup is quite non-standard. The rig needs to be calibrated with a reference audio source to a reference response.
Luckily, the AutoEQ project contains hundreds of headphone measurements, and my HD58X in the repo. I just need to use a pink noise audio source and compute the calibration curve to fit the reference measurement. This calibration curve can then be used on subsequent measurements.
- The frequency response curve only goes down to 100Hz since I live in a city. There's a lot of traffic noise that pollutes < 100Hz frequency band.
- I used Harmon 2018 w/o bass compensation curve to flatten the ear gain at around 1kHz - 10kHz.
- Curves are normalized to 0dB @ 1kHz.
HD58X, before and after calibration.
First, I measured Quest 2 built in speakers to get a baseline.
Honestly, the frequency response is pretty decent for such small drivers. There's definitely some EQ being applied in the firmware that boost the bass a lot. This seems to come at the expanse of treble frequencies above 5kHz. The audio engineers must have decided that people prioritize bass over clarity. To me, this response explains the Quest 2's characteristic 'warm' sound signature.
With the Quest 2 connected to BMR drivers directly, the response is pretty flat between 1kHz - 10kHz. This explains why they sound nice and clear, but the bass rolls off below 200Hz as expected.
Testing headphone mounting materials
A reditter suggested using wood filled PLA to increase damping and bass. I thought it did help, and to confirm I measure the response with wood filled PLA and PETG (which is more flexible than PLA). Unfortunately, there are no significant differences in frequency response between them.
Since I now have frequency response measurement, I can apply equalization to flatten the response. This is done by processing the measured response though AutoEQ to get parametric or graphic EQ settings.
Having failed to get reliable results with audio EQ app, I used a Teensy Audio Adaptor Board to apply the EQ in hardware with minimal latency. The code and build instructions can be found in this github repo.
Frequency response after applying the hardware EQ (and turning off psycho-acoustic bass).
The sub-100Hz bass response is now at much better. Interestingly, the overall response isn't as flat as I hoped. The 1-2kHz peak is now shifted a bit to 3kHz, and higher frequencies are flatter but a bit uncontrolled. This is probably a combination of my less-than-optimal measurement rig + not having enough resolution in frequency.
Finally, comparing all frequency response measurements.
Much better than built in Quest 2 speakers. Still not as good as HD58X, but maybe one day it will get there :)
Coming soon: walking through how I designed a custom, open source DSP board for headphone audio EQ at a reasonable price.
- If you're interested in supporting my work, please consider buying 3D printed VR accessories from our store https://prettygood3d.com/shop
- An introduction to headphone measurement (headphones.com). This topic is surprisingly deep!
- A recent Reddit thread on measuring Quest 2 audio response.