• Welcome to ASR. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

Binaural Geometry Mapper — an experimental audio measurement project

HaK77

Member
Joined
Mar 18, 2024
Messages
28
Likes
43
I have been interested for a long time in how human hearing works.

We do not hear a room, a loudspeaker or a direction from one isolated measurement. Our hearing combines information from both ears, small differences in timing and level, the first arriving sound, later reflections, movement and many other clues. The brain somehow turns all of this into a useful impression of space.

That led me to a simple question: how much of the same kind of information could a computer measure and combine?

I started exploring that question through a number of smaller programs and experiments. Over time, those separate tools began to grow into a larger project called Binaural Geometry Mapper, or BGM.

BGM is currently an experimental collection of measurement and analysis methods. It can play test signals, record them through a binaural microphone setup and examine different clues in the captured sound. The broader goal is to learn what can be inferred about loudspeakers, their relative directions and distances, the room, reflections and the audio system itself—while avoiding assumptions about what the answer is supposed to look like.

The project has grown in many directions. Some experiments have become useful parts of the main program, while others have exposed limitations, failed or remained unresolved. I consider those negative and uncertain results important too. If the available measurements do not contain enough information for a reliable answer, the software should say so instead of quietly inventing one.

BGM has a long development history already. Some earlier versions and measurement projects can be seen in videos I have shared on YouTube. Those show different stages of the work, so they should not necessarily be taken as a description of the current version. The software and my understanding of the problem have both changed considerably along the way.

At the moment, BGM is not a finished commercial product, and there is no decided commercial plan behind it. I do not yet know whether there ever will be one. The development will probably continue for as long as I find the questions interesting and the experiments meaningful.

I am also interested in the possibility of open-source development. Additional developers and testers could help explore more hardware, rooms and measurement conditions, and could potentially move the project forward much faster. On the other hand, maintaining a fully open project, answering questions and supporting users could become a large project of its own. For that reason, I have not made a decision about the development model yet.

For now, I plan to use this thread as a development diary: sharing the general direction, interesting experiments, things that work, things that do not work and questions that remain open. I will try to keep the main posts readable without requiring a deep technical background. More detailed explanations can follow if people are interested or have specific questions.

This is a resource-intensive project, and there is a limit to how quickly one person can develop, measure, test and document everything—even with extensive AI-assisted coding. Still, the subject continues to be fascinating, and there are many directions left to explore.

HaK77

AI assistance disclosure: This post was drafted with OpenAI Codex from HaK77’s notes and BGM project documentation, and is published after review by HaK77. The project concepts, measurement methods, physical testing, evaluation and development decisions are HaK77’s.

 
Last edited:
A small BGM progress update—and this time I think I am allowed to be quietly pleased with it.

I have been doing quite a lot of work on the code, and BGM has taken some fairly big steps forward. Two of the main areas have been better timing synchronization between measurements and the addition of interference-based measurements.

The solver can now reconstruct a multi-speaker map that is, in practical terms, very close to the real layout using only six measurement positions. The accuracy looks remarkably good compared with anything I have managed to get from BGM before, especially from such a small number of positions.

In the first image, four measurements are clustered near the front of the room, close to where I started the series. The other two were taken farther back in the room. The large box in the upper-right area is the region suggested by the algorithm for the next measurement point.

[Image 1: Measurement coverage, uncertainty and the suggested region for the next measurement.]
1788370140265.png


The second image shows the resulting 3D speaker topology.

[Image 2: The 3D speaker map reconstructed from the six measurement positions.]
1788370148008.png


There is still something slightly strange—and amusing—about this whole project. I have somehow written software that can do things that occasionally feel almost like magic: use a dummy-head measurement rig to build an acoustic map of the system, along with quite a few other kinds of analysis. Yet I still do not really know what I should ultimately do with it.

If nothing else, I have learned a great deal while building it, which already makes the project worthwhile.

Perhaps the most interesting direction for me is stereo-image analysis: trying to measure how the perceived soundstage is formed and where sounds appear within it. The topology map is extremely valuable in the background because it establishes the coordinate system of the dummy head. The measured sound directions can then be related to that same coordinate system.

When the reconstructed topology matches the real layout this closely, it also provides a useful internal consistency check for the stereo-image measurements, since the different parts of the system are working from the same underlying measurement data.

The main limitation at the moment is simply time. There are many more measurements, rooms, layouts and ideas I would like to explore than I can realistically test on my own. Still, this latest result feels like a rather encouraging step forward.

HaK77

AI assistance disclosure: This post was edited and translated into English with OpenAI Codex from HaK77’s Finnish draft. The software development, measurements, observations and conclusions are HaK77’s.
 

BGM feature overview #1: Frequency Response Map​

One of the central features in Binaural Geometry Mapper is the Frequency Response Map.

A normal frequency-response measurement describes what happens at one microphone position. BGM instead combines measurements from several positions and turns them into a spatial map. This makes it possible to inspect the estimated response of any selected loudspeaker at practically any point in the room.

The important distinction is how much confidence can be placed in different parts of the map:

  • At the original measurement positions, the response comes directly from the measured data and can be examined very accurately.
  • Between the measurement positions, BGM interpolates the response from the surrounding measurements. This is usually reasonably accurate when the measurement coverage is good.
  • Outside the measured area, the result is extrapolated. It can still show the likely direction of change, but it should be treated as a rough indication rather than an actual measurement.
This distinction is kept visible instead of presenting every part of the room as equally certain.

The main heatmap shows how the selected response value changes across the room at a chosen frequency. You can click anywhere on the map, and the graph on the right then shows the complete estimated frequency response at that location. Moving the selected point makes it easy to explore how peaks, dips and overall level change around the room—not only at the original microphone positions.

[Image 1: The complete Frequency Response Map view. The heatmap shows one selected frequency, while the graph on the right shows the full response at the selected location.]
1788371603466.png

[Image 2: Moving the inspection point updates both the local map value and the estimated response curve.]
1788371609921.png

The map can display several different views of the binaural data. These currently include, among others:

  • uncalibrated response
  • calibrated response
  • separate ear-related views
  • left-to-right difference, or ILD
  • spatial delta
  • MAD-based variation and uncertainty views
These layers look at different parts of the same measurement data. A normal response view shows how strongly the loudspeaker is reproduced at each frequency, while the binaural difference views help reveal how the result changes between the two ears or across space.

[Image 3: A spatial-delta view, showing how the selected value changes relative to the spatial reference.]
1788371618903.png


[Image 4: An ILD view showing the level difference between the left and right ears across the room.]
1788371623526.png


The map also contains the physical context needed to interpret the data. When available, it shows:

  • the defined shape of the room
  • all measurement positions
  • the orientation of the dummy head at each measurement
  • the calculated loudspeaker positions
  • the surrounding speaker layout
  • the frequency-response heatmap itself
The view can be freely panned and zoomed. This allows either the whole room to be inspected at once or a much smaller area to be examined in detail.

[Image 5: A zoomed and panned view of a smaller part of the map.]
1788371631202.png


The main purpose is not simply to produce another frequency-response curve. It is to connect that response to a location in the room.

Instead of asking only, “What is the response at the listening position?”, BGM can also explore questions such as:

  • How quickly does the response change when moving away from that position?
  • Is a peak or dip limited to one small area?
  • Do the two ears see the same behaviour?
  • Where is the measurement coverage strong, and where does the result become more uncertain?
  • How differently do individual loudspeakers behave across the room?
As always, the map cannot create information that was never measured. More measurement positions provide better spatial coverage. The measured points remain the strongest evidence, interpolation fills the space between them, and extrapolation outside that area is intentionally treated with more caution.

HaK77

AI assistance disclosure: This post was structured and translated into English with OpenAI Codex from HaK77’s description and BGM screenshots. The software, measurements and technical interpretation are HaK77’s.
 
This seems really interesting. I could imagine this being really useful for installers and... I guess anyone that has freedom to position their speakers in a room. Unfortunately, I do not have that freedom. I do have a MiniDSP EARS rig from my old job, though. So I guess I could theoretically test it?

Anyway, let me ask a really simplistic quetsion: How would a home listener use this to optimize their stereo image?
 
This seems really interesting. I could imagine this being really useful for installers and... I guess anyone that has freedom to position their speakers in a room. Unfortunately, I do not have that freedom. I do have a MiniDSP EARS rig from my old job, though. So I guess I could theoretically test it?

Anyway, let me ask a really simplistic quetsion: How would a home listener use this to optimize their stereo image?
Thanks—that is exactly the right question.

The honest answer is that I do not yet know how a home listener could reliably use it for stereo-image optimization. Before making that claim, I think the measurement needs to be validated against subjective references.

One sensible experiment would be to create several clearly different versions of the same setup, measure each one and compare the results with what listeners can actually hear. For example, my room has acoustic treatment at the first-reflection points of the main loudspeakers. Removing that treatment produces a difference that I can hear very clearly, and it is also visible in conventional REW measurements.

Comparing those two conditions with BGM’s stereo-image analysis could be a particularly interesting first test. If the measured image changes consistently with the audible change, we could then begin investigating whether the results are useful when adjusting placement, room treatment or other parts of the setup.

I have also experimented with reconstructing the speaker topology from stereo measurements alone, but so far that problem has been too underconstrained. BGM calculates many unknown variables directly from the measurement data, and two loudspeakers do not provide enough independent geometric “locks” for the full solution.

That does not necessarily mean that a phantom image cannot be measured without a completely solved topology. However, a reliable topology gives the dummy head a well-defined coordinate system. The apparent sound directions can then be placed within the complete measured field, which I consider an important part of making stereo-image measurements trustworthy.

The images below show some of the experimental Stereo Image views currently in development. They are examples of what BGM can already extract and display, but they should not yet be interpreted as a proven optimization method.

The first view places the measured directional estimate into the reconstructed speaker map. The center graph shows how the estimated phantom-image direction varies with frequency, together with its spread and confidence. The response used for the analysis is shown along the bottom.

[Image 1: Experimental phantom-stereo analysis for one panning setting.]
1788375595275.png

The same view can then be used with another panning setting to see whether the measured direction moves in a corresponding way—and whether that movement remains consistent across the frequency range.

[Image 2: The analysis repeated with a different panning setting.]
1788375599449.png

Another view presents the result as a two-dimensional sound-image plot. Horizontal position represents the estimated left-to-right direction, vertical position represents the measured elevation cue, and the colors identify different frequency regions. The surrounding areas visualize how widely the directional estimates are spread rather than pretending that the image is one perfectly defined point.

[Image 3: Experimental sound-image view for the first panning setting.]
1788375605154.png

[Image 4: The sound-image view after changing the panning setting.]
1788375611544.png

These plots already reveal that a phantom image is not necessarily one fixed position at every frequency. Different parts of the spectrum may point in slightly different directions, and the apparent image can have width, frequency-dependent structure and uncertainty.

The next important question is whether those visible patterns consistently correspond to what a listener hears. That still requires controlled comparisons, repeated measurements and preferably more listeners than just me.

You could certainly experiment with the software using a binaural dummy-head rig such as the MiniDSP EARS, although I have not yet validated the current workflow specifically with EARS. The version presently available for download is also somewhat behind my current development version and may not include the Stereo Image section at all. I would need to prepare a newer version for sharing.

I have recently changed both the complete measurement sequence and significant parts of the solver. The results are improving, but such large changes inevitably leave bugs and side effects that still need to be found. It is a very resource-intensive project, and the AI-assisted development process consumes my available AI capacity surprisingly quickly.

So the short answer is: I do not yet have a proven stereo-optimization procedure—but finding and validating one is one of the most interesting possible directions for BGM.

HaK77

AI assistance disclosure: This reply was edited and translated into English with OpenAI Codex from HaK77’s Finnish draft. The software development, measurements, screenshots, observations and conclusions are HaK77’s.
 
All super interesting, thanks! It looks like you've gone farther than anyone else (at least outside of certain monitoring tools for studio folk) in measuring stereo image. And since those are mostly just evaluating a recording in-the-box, maybe you really are the vanguard here. I think this answers the thread "how do we measure stereo image / soundstage" pretty well. Or at least as well as anyone does.


I do not yet have a proven stereo-optimization procedure—but finding and validating one is one of the most interesting possible directions for BGM.

I think that could be a real product. I agree that you need to validate it with listeners and more rooms. But so many people are going around asking how to improve soundstage. There is very likely a place for a product that gives a concrete answer: Put the dummy head there, run the tests, and it will tell you where to put your speakers, where to put room treatment, what to EQ, etc.


Dirac ART costs $700 a pop and this seems to operate on a similar level of complexity... :)

As far as reconstructing the speaker topology - interesting but I wonder if it's required in most cases? After all most people can grab a tape measure and tell you where the speakers are, at least within an inch or so...
 
All super interesting, thanks! It looks like you've gone farther than anyone else (at least outside of certain monitoring tools for studio folk) in measuring stereo image. And since those are mostly just evaluating a recording in-the-box, maybe you really are the vanguard here. I think this answers the thread "how do we measure stereo image / soundstage" pretty well. Or at least as well as anyone does.




I think that could be a real product. I agree that you need to validate it with listeners and more rooms. But so many people are going around asking how to improve soundstage. There is very likely a place for a product that gives a concrete answer: Put the dummy head there, run the tests, and it will tell you where to put your speakers, where to put room treatment, what to EQ, etc.


Dirac ART costs $700 a pop and this seems to operate on a similar level of complexity... :)

As far as reconstructing the speaker topology - interesting but I wonder if it's required in most cases? After all most people can grab a tape measure and tell you where the speakers are, at least within an inch or so...
Thank you again—that is very encouraging. I am not quite ready to call myself the vanguard, but I do think there is a genuinely interesting idea here.

One thing I have noticed over the years is that subjective and objective views are often placed in opposition in audio. Ideally, they should complement each other. At some point, it would be useful to find a sensible connection between what listeners consistently perceive and what we can actually measure.

Most hobbyist room measurements and software workflows I have encountered are based on one omnidirectional microphone, or an array of omnidirectional microphones. Binaural measurements seem much less common in practical home use, even though they have certainly been studied in laboratories for many years.

That was one of my reasons for exploring this now. AI-assisted development made it possible for me to investigate ideas that would previously have been far beyond the time and resources available to one person. Measuring the final acoustic event at two ears—after the loudspeakers, room and listener geometry have all played their part—seems like a promising direction.

I also recognize that BGM may never be software for every audio enthusiast. It does not necessarily need to be. My original motivation was simply to find answers to questions that interested me. If it eventually becomes useful to other people as well, that would be an excellent additional result.

There may indeed be a real product somewhere inside this project, but a great deal of development and validation would still be required. BGM has grown very broad because I have kept adding almost every measurement idea that came into my head. A successful practical product would probably be much narrower and simpler—perhaps concentrating on one clearly defined task, such as measuring and improving stereo imaging.

I would not compare its maturity with Dirac ART yet. ART is a finished commercial system, while BGM is still an experimental research platform with unfinished workflows and plenty of bugs. The underlying problems may be similarly complex, but the level of product validation is very different.

Regarding speaker topology: yes, it would be entirely possible to let the user enter measured speaker positions and directions. For a practical consumer version, that might be a very sensible option. I have deliberately avoided doing that so far because I wanted to approach the research problem from the opposite direction.

My current goal is to tell the software as little as possible, give it as little measurement data as reasonably possible and see whether it can reconstruct a coherent topology from the acoustic evidence alone. If I provide the positions and directions in advance, it becomes harder to know whether the system truly recovered them from the measurements or merely repeated the information it was given.

The stereo-image analysis itself has not been taught where the loudspeakers are supposed to be or what direction should count as “front.” Those values are calculated from the measurement data. Reconstructing a familiar speaker layout without supplying that layout in advance therefore acts as an important self-consistency test of the complete measurement chain.

This matters because two loudspeakers alone can leave significant geometric ambiguities. Without additional constraints, the entire interpretation can rotate or reflect around the geometry formed by the speaker pair. Binaural localization also has the familiar cone-of-confusion problem: similar timing and level differences can correspond to more than one direction, potentially producing a front/back reversal.

These are effortless distinctions for a human listener because our hearing combines many cues and prior experience. For a computer working only from measured signals, they are surprisingly difficult.

So I do not think reconstructing the topology would always be mandatory in a future practical product. A simplified mode could accept tape-measured positions. But for the current research, solving the topology without those hints is valuable because it tests whether BGM’s coordinate system and directional interpretation are internally coherent before I begin trusting its stereo-image results.

Perhaps the eventual answer is to have both: a research mode that uses minimal prior information, and a practical assisted mode that lets the user provide known dimensions when the goal is simply to optimize a real system.

HaK77

AI assistance disclosure: This reply was edited and translated into English with OpenAI Codex from HaK77’s Finnish draft. The software, research direction, technical reasoning and conclusions are HaK77’s.
 
Perhaps the eventual answer is to have both: a research mode that uses minimal prior information, and a practical assisted mode that lets the user provide known dimensions when the goal is simply to optimize a real system.
I would assume that in a consumer product this is how it would work. The user provides reasonably close measurements and the software could use that to limit the calculations toward exact solutions.

I definitely agree the current version is more "lab" than consumer but it looks like progress toward something useful in everyday listening. If you can measure in room stereo image properly, and identify variables / causes, then you have a big part of what's needed to improve it also.

I guess the real work is in correlating which measurements / controls have the biggest and most predictable impact on what people hear. I think there is a theoretical way to optimize soundstage / image (make sure that perceived direction is predicted to be the same/symmetrical at all frequencies... somehow) but I am not sure that results in what people want.
 
Last edited:
I would assume that in a consumer product this is how it would work. The user provides reasonably close measurements and the software could use that to limit the calculations toward exact solutions.

I definitely agree the current version is more "lab" than consumer but it looks like progress toward something useful in everyday listening. If you can measure in room stereo image properly, and identify variables / causes, then you have a big part of what's needed to improve it also.

I guess the real work is in correlating which measurements / controls have the biggest and most predictable impact on what people hear. I think there is a theoretical way to optimize soundstage / image (make sure that perceived direction is predicted to be the same/symmetrical at all frequencies... somehow) but I am not sure that results in what people want.
I think that is probably the most realistic direction for a consumer-oriented version.

Rather than exposing the complete BGM research environment, it could be a separate and much simpler version focused mainly on two things: frequency response and stereo-image data. The user could provide approximate speaker positions, distances and angles, and the software could use those as constraints instead of solving every geometric variable from scratch.

There is still an important calibration question. In my current multichannel test setup, BGM can reconstruct a topology that closely matches the physical speaker layout. That gives it a strong understanding of the dummy head’s full 360-degree coordinate system.

A stereo-only version would not automatically have all of that information. The missing coordinate reference would therefore need to be supplied through accurate dimensions and angles, or established with a guided calibration procedure. One possibility would be to place the dummy head in several known orientations and verify that the measured directional changes correspond to the actual rotations of the head. That could help resolve the front/back orientation and make the angular scale internally consistent.

Once calibrated, I can imagine the system following a signal as it is panned across the stereo image and showing not only its overall apparent direction, but also how that direction changes with frequency. The current experimental views are already intended to expose this kind of behaviour.

Those frequency-dependent differences are interesting because the sound arriving at the ears is the combined result of the direct sound, room reflections and acoustic interference. Different parts of the spectrum may therefore pull the apparent image in slightly different directions or make it wider and less stable.

I agree that making every frequency point perfectly identical or symmetrical may not necessarily produce what listeners prefer. The real challenge is discovering which measured properties correlate reliably with perceived image position, width, stability and naturalness—and then identifying which practical controls have the strongest and most predictable effects on them.

That would require controlled changes to speaker placement, toe-in, delays, levels, EQ and room treatment, followed by both binaural measurements and listening comparisons. It is a substantial research task, but it now looks like a credible development direction rather than just a vague idea.

I will definitely keep this as one of the main possible paths for BGM.

HaK77

AI assistance disclosure: This reply was edited and translated into English with OpenAI Codex from HaK77’s Finnish draft. The software, research direction, technical reasoning and conclusions are HaK77’s.
 
Is this system accounting for the HRTF of the dummy head?

(Every word in this post is filled with admiration.)
Short answer: yes, but not by applying a generic human HRTF model.

The dummy head’s own HRTF is physically present in every binaural recording. Its head, pinnae, ear geometry and microphone channels all affect the measured impulse responses. BGM then analyzes the resulting differences between the ears—including timing, level, phase/coherence and frequency-dependent spectral cues.

For stereo-image measurements, BGM also uses separately measured physical loudspeakers as directional anchors. Those reference measurements and the phantom-center measurements are made through the same dummy head. The software can therefore compare the unknown phantom image with directional patterns already measured by that particular rig. In that sense, the process is empirically adapted to the dummy head rather than relying on a standard HRTF database.

There is also an optional rig-calibration profile. It can correct measured left/right channel imbalance before directional analysis and apply a common spectral correction to derived response displays. BGM also has an experimental “pinna-neutral” response layer, but that only removes a common symmetric spectral shape. It is not a complete direction-dependent HRTF removal, and the original binaural recordings and raw impulse responses always remain unchanged.

The important limitation is that the result represents what this particular dummy head measures. It is not automatically the personal HRTF of an individual listener, so I would not claim that every person must perceive exactly the same direction. Front/back and elevation ambiguities are also considerably more difficult than horizontal left/right localization.

So BGM does account for the dummy head’s HRTF, mainly by measuring through it and using its own physical reference data—not by trying to replace it with a generic model.

HaK77

AI assistance disclosure: This reply was written with OpenAI Codex from BGM’s current implementation and project documentation, and reviewed by HaK77. The software, measurement method and technical decisions are HaK77’s.
 
Short answer: yes, but not by applying a generic human HRTF model.

The dummy head’s own HRTF is physically present in every binaural recording. Its head, pinnae, ear geometry and microphone channels all affect the measured impulse responses. BGM then analyzes the resulting differences between the ears—including timing, level, phase/coherence and frequency-dependent spectral cues.

For stereo-image measurements, BGM also uses separately measured physical loudspeakers as directional anchors. Those reference measurements and the phantom-center measurements are made through the same dummy head. The software can therefore compare the unknown phantom image with directional patterns already measured by that particular rig. In that sense, the process is empirically adapted to the dummy head rather than relying on a standard HRTF database.

There is also an optional rig-calibration profile. It can correct measured left/right channel imbalance before directional analysis and apply a common spectral correction to derived response displays. BGM also has an experimental “pinna-neutral” response layer, but that only removes a common symmetric spectral shape. It is not a complete direction-dependent HRTF removal, and the original binaural recordings and raw impulse responses always remain unchanged.

The important limitation is that the result represents what this particular dummy head measures. It is not automatically the personal HRTF of an individual listener, so I would not claim that every person must perceive exactly the same direction. Front/back and elevation ambiguities are also considerably more difficult than horizontal left/right localization.

So BGM does account for the dummy head’s HRTF, mainly by measuring through it and using its own physical reference data—not by trying to replace it with a generic model.

HaK77

AI assistance disclosure: This reply was written with OpenAI Codex from BGM’s current implementation and project documentation, and reviewed by HaK77. The software, measurement method and technical decisions are HaK77’s.
I understand you don't want to bias the system, but right now it doesn't have reference points. If you allow it to accept an upload of the dummy head's HRTF, for example with a SOFA file, you will give it a library of directional frequency information as well as (if included) a binaural room impulse response (BRIR) for timing information.

In doing so you could potentially include a version of this system which would allow headtracking and allow a person with in-ear microphones and their HRTF to compare what they hear vs. what the system is drawing with controlled listening tests administered by the system.


What kind of dummy head is it? The GRAS KEMAR and B&K HATS are standard and provide the necessary information. There are also SOFA databases that may have HRTFs and BRIRs measured from other dummies.
 
I understand you don't want to bias the system, but right now it doesn't have reference points. If you allow it to accept an upload of the dummy head's HRTF, for example with a SOFA file, you will give it a library of directional frequency information as well as (if included) a binaural room impulse response (BRIR) for timing information.

In doing so you could potentially include a version of this system which would allow headtracking and allow a person with in-ear microphones and their HRTF to compare what they hear vs. what the system is drawing with controlled listening tests administered by the system.


What kind of dummy head is it? The GRAS KEMAR and B&K HATS are standard and provide the necessary information. There are also SOFA databases that may have HRTFs and BRIRs measured from other dummies.
Yes—in one sense BGM already accounts for the dummy head’s HRTF, but not yet in the way you suggest.

All binaural measurements pass through the physical head, ears and microphones. The measured ITD, ILD, phase and coherence therefore naturally include the directional behaviour of that particular rig. BGM currently estimates direction from these measured binaural cues and from physical directional anchors created during the measurement process. It does not currently use a generic HRTF library as an active reference for the solver.

BGM already supports SOFA import and export. Imported HRTF, HRIR, BRIR and SRIR datasets can be examined as external reference data. The viewer can display their measurement geometry, individual raw impulse responses, frequency responses and several binaural analyses. The original data is preserved without smoothing, gating, normalization, resampling or averaging.

The screenshots below show an imported SOFA dataset: its measurement geometry, one selected raw impulse response and the corresponding raw full-IR frequency response.

At the moment, however, imported SOFA data remains separate from the active BGM project. It does not automatically become a rig calibration, measurement set, pose map or solver input. Connecting an individually measured SOFA dataset to the dummy-head calibration is already in my longer-term development pipeline, but that connection has not been implemented yet.

My dummy head is a DIY design, so there is no manufacturer-provided HRTF or SOFA file available for it. I would need to measure its directional response myself, probably by rotating it through a controlled sound field, and then store the resulting dataset in SOFA format. KEMAR or B&K data could still be useful for comparison and validation, but it should not be treated as the HRTF of my own rig because the head, pinnae, microphones and their positions are different.

I would also distinguish between HRTFs and BRIRs here. An HRTF mainly describes the directional effect of the listener or dummy head. A BRIR also contains the loudspeaker and room response. That makes BRIR data potentially very useful for comparisons, rendering and controlled listening tests, but it is not a neutral dummy-head calibration by itself.

Head tracking and personal in-ear measurements would be another interesting direction. BGM already works with head orientation and coordinate systems internally, but it does not currently have real-time head-tracker integration. A tracker such as the linked Supperware device could potentially provide live orientation data for this purpose, but the synchronization, rendering and controlled listening-test system would still need to be developed and validated.

So the basic pieces are partly there, and your suggestion fits the direction quite well. The main missing step is turning an individually measured directional HRTF from external reference data into an active part of the calibration and solver.
1788433374225.png
1788433382718.png
1788433389376.png

AI assistance disclosure: This reply was edited and translated into English with OpenAI Codex from HaK77’s Finnish draft. The software, research direction, technical reasoning and conclusions are HaK77’s.
 
The real challenge is discovering which measured properties correlate reliably with perceived image position, width, stability and naturalness—and then identifying which practical controls have the strongest and most predictable effects on them.
I would tend to agree that this is a serious challenge, I'm not sure that there is solid research establishing the exact correlates of a satisfying stereo image. Maybe there is, I'm no expert, but I feel like if there was, people would be trotting out more quotes from books and papers. :D

I think you'll probably also find two or more modalities of "good stereo image" if you started surveying people against their measurement results from BGM. I am sure you've seen this but there is an intractable divide between "you are there", "envelopment", "big" stereo image, and "they are here", focused, "pinpoint" stereo image. I think both are considered valid but both can't necessarily be achieved with the same speakers in the same room.

I do think constrained measurements are consumer-friendly as long as they don't need to be exact.

"turn the dummy head 90 degrees to the left" is fine as long as 86-102 degrees (give or take) is close enough for the measurement to work. :)
Once calibrated, I can imagine the system following a signal as it is panned across the stereo image and showing not only its overall apparent direction, but also how that direction changes with frequency. The current experimental views are already intended to expose this kind of behaviour.
This definitely feels like a chunk of a home diagnostic tool for fixing stereo image...
 
I would tend to agree that this is a serious challenge, I'm not sure that there is solid research establishing the exact correlates of a satisfying stereo image. Maybe there is, I'm no expert, but I feel like if there was, people would be trotting out more quotes from books and papers. :D

I think you'll probably also find two or more modalities of "good stereo image" if you started surveying people against their measurement results from BGM. I am sure you've seen this but there is an intractable divide between "you are there", "envelopment", "big" stereo image, and "they are here", focused, "pinpoint" stereo image. I think both are considered valid but both can't necessarily be achieved with the same speakers in the same room.

I do think constrained measurements are consumer-friendly as long as they don't need to be exact.

"turn the dummy head 90 degrees to the left" is fine as long as 86-102 degrees (give or take) is close enough for the measurement to work. :)

This definitely feels like a chunk of a home diagnostic tool for fixing stereo image...
I have subjectively experienced many different kinds of stereo image, and I could describe several of them as good or excellent even though they are completely different in character. Ultimately, I think it comes down to preference. It may also depend on the situation or the content, so I do not see one single presentation as the only correct one.

On the other hand, if I can hear these differences, there must be physical differences that can potentially be measured. Thinking about how human hearing works, trying to replicate that process in measurements seems like a good starting point. That is why I chose binaural measurement. A sine sweep is still a practical measurement signal and is already widely used for room measurements.

The combined signal from two speakers in a room is rarely completely linear. Reflections and interference create frequency-dependent variations that may be good or bad. If we can convert this signal accurately and repeatedly into numbers and graphical presentations, we have a reference against which any change can be compared. That is the core idea of BGM in this context.

I have already made a small assessment of what would be required to create a narrower version of BGM for this purpose, and it seems quite feasible. A possible process would be:

  1. Place the dummy head at the listening position.
  2. Use live L/R delay and level information to centre the head and align its initial yaw.
  3. Measure the centre position and a few additional yaw angles without moving the head.
  4. If needed, add measurements with the head tilted up and down.
  5. The solver calculates the speaker directions and the relative orientation of each pose using the known microphone spacing.
  6. Run stereo sweeps at different pan positions, from 100% left to 100% right.
The requested head rotations should be made as accurately as practical—preferably within approximately one degree. With a tripod and a proper pan head, this should be relatively easy.

The consumer-oriented version would use dimensions, directions and distances provided by the user as its starting references, rather than trying to solve everything from the measurement data alone.

AI assistance disclosure: This reply was edited and translated into English with OpenAI Codex from HaK77’s Finnish draft. The software, research direction, technical reasoning and conclusions are HaK77’s.
 

BGM’s current challenge: solving a two-channel topology​

The main BGM challenge I am working on at the moment is reconstructing the topology of a two-channel system when the available starting information is extremely limited.

Leaving the ear spacing—or more precisely the model’s acoustic ear-axis span—as a free parameter may sound almost utopian. However, this has already been made to work with multichannel systems. The reason is that every rig position receives enough acoustic locks from several different directions.

With two speakers there are only two such directional references at each rig position. The remaining information must be extracted as well as possible from ITD, relative timing, level and ILD differences, pose relationships and interference measurements. Many different combinations of speaker distance, direction, head orientation and ear-axis span can still explain almost the same observations.

The latest tests make the problem quite visible. In the current real two-channel dataset, 22 ITD observations, 11 relative time-of-flight observations and an additional shared-yaw constraint still allowed ear-axis values between 200 and 1500 mm to be fitted with surprisingly similar errors. This obviously does not mean that all those values are physically realistic. It means that the present data does not identify the correct scale reliably enough by itself.

Level information also helps, but it is difficult to convert directly into distance inside a room. The rig orientation, dummy-head response, speaker directivity, reflections and room modes all affect the measured level. Even when the rig remained at the same XYZ position, changing its yaw altered the measured band levels by up to about 1.36 dB. After removing the overall gain difference, the frequency-response shape still changed by roughly 1.74–2.57 dB RMS.

The contrast with multichannel data is clear in the latest blind synthetic tests. With five sources and clean data, the correct geometry and free ear spacing were reconstructed almost exactly. With 1 mm of simulated measurement noise, the geometry error remained about 0.9 mm. The equivalent clean two-source test did not resolve correctly: even with calibrated time-of-flight information, the geometry error remained about 653 mm.

So the knot has not yet been opened reliably. The measurements contain a lot of useful information, but with only two speakers the solver still needs another genuinely independent geometric lock—or a carefully chosen piece of prior information—before the result can be trusted.

Image 1 – Relative level evidence​

1788598214936.png


Relative levels measured from the left and right speakers at 11 rig poses. The values are relative to each speaker’s median across the poses, not calibrated absolute SPL. The variation contains distance, orientation, dummy-head response and room effects.

Image 2 – Effect of rig orientation​

1788598238585.png


Binaural frequency responses measured at the same XYZ location with different rig yaw angles. Changing only the head orientation produces clear response differences, showing why measured level cannot be converted directly into distance.

Image 3 – Alternative timing solutions​

1788598256126.png


Two very different geometries fitted to the same two-channel timing data. Both reproduce the measured ITD and relative ToF reasonably well, demonstrating why the topology is not yet uniquely determined.

AI assistance disclosure: This post was edited and translated into English with OpenAI Codex from HaK77’s Finnish draft. The software, experiments, research direction and conclusions are HaK77’s.
 

Phantom center vs dedicated center​

Oh boy, this one really hits hard—at least for me.

I measured complete left-to-right pan series using both a conventional L–R phantom image and an L–C–R system with a dedicated center speaker. I am only showing two examples here, but the measurements contain clear and substantial differences across several—and in some cases nearly all—of the sound-image metrics.

If BGM eventually turns into something genuinely useful, I now think there is a very good chance that this feature will be at the heart of it. For the first time, I can directly compare two fundamentally different ways of creating the same nominal center image and see the differences clearly in the measurement data.
00001_L-R_ART_Sound_image_pan050.000pct_-11.010deg_202.999Hz.png
00001_L-C-R_ART_Sound_image_pan050.000pct_+2.313deg_202.999Hz.png

AI assistance disclosure: This post was edited and translated into English with OpenAI Codex from HaK77’s Finnish draft. The measurements, software, interpretations and conclusions are HaK77’s.
 
More development on BGM’s sound-image features. I added graph overlays, making it much easier to compare measurements before and after a change at a glance.

These L–R measurements examine the effect of an acoustic change. The baseline is my room with its normal acoustic treatment, shown in white. For the second series, shown in purple, I partially removed treatment from the first reflection points on the sidewalls.

This relatively small change shows up very clearly, especially at the extremes of the pan range—when the signal is played through just one speaker.

For these measurements, the dummy head was positioned behind the main listening position, which also affects the apparent size of the stereo image. BGM estimates the rig’s position before the actual stereo measurement and uses that information when processing the data and drawing the graphs. You can see the rig’s position on the left-hand map in the Stereo Image views.
 

Attachments

  • 00005_L-R_ART-070926_Sound_image_pan100.000pct_+23.026deg_626.135Hz.png
    00005_L-R_ART-070926_Sound_image_pan100.000pct_+23.026deg_626.135Hz.png
    757.5 KB · Views: 19
  • 00004_L-R_ART-070926_Sound_image_pan074.000pct_+10.822deg_626.135Hz.png
    00004_L-R_ART-070926_Sound_image_pan074.000pct_+10.822deg_626.135Hz.png
    767.5 KB · Views: 19
  • 00003_L-R_ART-070926_Sound_image_pan050.000pct_-0.444deg_626.135Hz.png
    00003_L-R_ART-070926_Sound_image_pan050.000pct_-0.444deg_626.135Hz.png
    756.8 KB · Views: 21
  • 00002_L-R_ART-070926_Sound_image_pan024.000pct_-12.649deg_626.135Hz.png
    00002_L-R_ART-070926_Sound_image_pan024.000pct_-12.649deg_626.135Hz.png
    775.6 KB · Views: 20
  • 00001_L-R_ART-070926_Sound_image_pan000.000pct_-23.915deg_626.135Hz.png
    00001_L-R_ART-070926_Sound_image_pan000.000pct_-23.915deg_626.135Hz.png
    779.5 KB · Views: 19
  • 00001_L-R_ART-070926_Stereo_image_pan000.000pct_-23.915deg_626.135Hz.png
    00001_L-R_ART-070926_Stereo_image_pan000.000pct_-23.915deg_626.135Hz.png
    846.9 KB · Views: 23
  • 00002_L-R_ART-070926_Stereo_image_pan024.000pct_-12.649deg_626.135Hz.png
    00002_L-R_ART-070926_Stereo_image_pan024.000pct_-12.649deg_626.135Hz.png
    843.1 KB · Views: 23
  • 00003_L-R_ART-070926_Stereo_image_pan050.000pct_-0.444deg_626.135Hz.png
    00003_L-R_ART-070926_Stereo_image_pan050.000pct_-0.444deg_626.135Hz.png
    816.1 KB · Views: 20
  • 00004_L-R_ART-070926_Stereo_image_pan074.000pct_+10.822deg_626.135Hz.png
    00004_L-R_ART-070926_Stereo_image_pan074.000pct_+10.822deg_626.135Hz.png
    861.3 KB · Views: 21
  • 00005_L-R_ART-070926_Stereo_image_pan100.000pct_+23.026deg_626.135Hz.png
    00005_L-R_ART-070926_Stereo_image_pan100.000pct_+23.026deg_626.135Hz.png
    841 KB · Views: 18
Back
Top Bottom