Recording Impulse Responses for Speaker Virtualization

Aug 18, 2024 at 2:10 PM Post #1,891 of 2,034
And personally, it was very unstable when I looked at and helped measurements while other people's ears were open, and the resonance was ambiguous, and it eventually connected to the lower notes
I agree that measurements with open ear canal where the mic is inserted into the opening of the ear canal are more difficult compared to measurements with mic placements in front of the the ear canal opening. But for me the open ear measurements gave me the best results after some post processing.
 
Aug 18, 2024 at 2:23 PM Post #1,892 of 2,034
First of all, the degree of wearing of the left and right microphones is very different. (Ears originally have left and right deviations, but it seems to be a matter of wearing itself beyond the allowable range). And whether the ear is sealed or open is the difference between whether or not the effect of the ear canal is erased. Measurements with blocked ears do not matter because the effect of the ear canal is included when listening to earphones or headphones, but measurements with open ears are overlapped twice because the measurement already includes the ear canal. Therefore, it depends on the post-treatment.

And personally, it was very unstable when I looked at and helped measurements while other people's ears were open, and the resonance was ambiguous, and it eventually connected to the lower notes

Can you show me all of FL-L, FL-R, FR-L, FR-R in plot?
Did you mean pre or post? Ok I will upload all of them if you may - this is pre
 

Attachments

  • FL-left.png
    FL-left.png
    81.3 KB · Views: 0
  • FL-right.png
    FL-right.png
    82.4 KB · Views: 0
  • FR-left.png
    FR-left.png
    82.7 KB · Views: 0
  • FR-right.png
    FR-right.png
    82.8 KB · Views: 0
Aug 18, 2024 at 2:24 PM Post #1,893 of 2,034
Did you mean pre or post? Ok I will upload all of them if you may - this is pre
And this is post. Now I see that decay is controlling somehow...And probably I'd like to increase low end decay, not sure how still
 

Attachments

  • FL-left.png
    FL-left.png
    61 KB · Views: 0
  • FL-right.png
    FL-right.png
    63 KB · Views: 0
  • FR-left.png
    FR-left.png
    63.1 KB · Views: 0
  • FR-right.png
    FR-right.png
    62.8 KB · Views: 0
Aug 18, 2024 at 9:16 PM Post #1,894 of 2,034
I agree that measurements with open ear canal where the mic is inserted into the opening of the ear canal are more difficult compared to measurements with mic placements in front of the the ear canal opening. But for me the open ear measurements gave me the best results after some post processing.
Yes enough this can vary from measurement to individual. My translator may have written down my writing somewhat misleadingly. Sorry
nd this is post. Now I see that decay is controlling somehow...And probably I'd like to increase low end decay, not sure how still
Okay I overlapped it on Photoshop to make it easy to see.

This is Your L (FL-L, FL-R)
1724029112155.png


And This is your R (FR-R,FR-L)

1724029132187.png




1724029180872.png


And if you overlap both sides (4 channels), you can definitely see a difference.

We can confirm that your current recording has not already been consistently measured left and right from the room file. (This is not only a simple imaging problem, but it can also feel quite complicated confusion.)
Now let's focus on your original story.

The first issue I have is around 3khz peak,
This means that the headphone files that are currently applied to the room files are not the same characteristics (that is, they are not properly equalized).
So this needs to calibrate the headphone file. 3k sounds high because 3k is less recorded on the headphones, and because the impulcifer overcompensates it, it sounds more excessive when actually audited.
Not only IEM, but headphones are not perfect even if you measure them with a microphone in your ear. To be the perfect headphones.wav file, you need to wear headphones and listen to the sweep without any change when you listen to the headphones.wav in reverse (hesuvi is off). But most of the time it doesn't. That's why you need an EQ.
In other words, some headphones reproduce well, while others say BRIR didn't work very well. The same goes for IEM.
However, if the correct base file is prepared, most BRIRs should sound almost the same no matter what device you use, except for distortion characteristics such as the device itself's thd.
Therefore, the solution is that we need to do additional eq.

And the second one is the reverb. While Impulcifer has reverb management to REDUCE RT60 or decay, whatever, I need something to INCREASE a bit the reverb tail to much my room and jbl305mk2 perfectly. Especially what I really miss is a thump reverb from kick drums and bass, it also reduce some width in the low end.
Yes, when I compared my blocked and closed echelon measurements, I saw these bass problems sometimes. Of course, I saw that even my blocked echelon measurements sometimes didn't have a perfect low pitch (especially for small 3mm microphones)
Sometimes it's not just a bath below 100 Hz, but from about 200 Hz, it's quite often not enough to be recorded differently from what I actually hear.
So to compensate for this, we also need EQ.
You can simply listen to it and EQ it, but you can also look at the sum response (LL+LR, RL+RR) in the REW and calculate it accurately to compensate for it. If you have a micromeasured room impulse like Umik-1, Earthworks, you can also compare it and correct it correctly.
And yes. Impulcifer has the ability to cut Decay (a kind of gating), but it doesn't have the ability to increase it.
The really simple thing is to bring your Hesuvi file to Audacity and increase the gain in the time band you want (for example, 40 to 150 ms), or just increase some frequency bands. Or you can add Late Reflection as VST. These are very simple solutions.
And if you want to manipulate the space more precisely, that's when the words change. You have to synthesize the file by looking at it in us units rather than ms.
And you need information from multiple directions, not just a simple reb, and you also need HRTF from multiple angles.
But I don't think you want this, and I think Bass itself might get the feeling you want with a little bit of a reverb because it's normal not to be able to recognize the direction without the port or room mode issue of the woofer unit (80hz downband).
And now you see a peak at about 150 Hz and a little dip underneath it. There's quite a lot of difference and this may sound like Bass is even more lacking.
 
Aug 19, 2024 at 12:50 PM Post #1,895 of 2,034
New user question: what is a proper and hopefully easy way to encode an Impulcifier hrir.wav (or HeSuVi wav) file into a SOFA file? I've seen lots of posts from people wanting to convert a SOFA to WAV, but not the other way around.

I am on a Mac (no HeSuVi), have a 16-channel hrir.wav and a 14-channel hesuvi.wav, and want to get a custom HRTF into APL Virtuoso, AALTO Sparta, Fiedler, SPAT Revolution and countless other plugins/tools (some expect free-field SOFAs, others diffuse field).

127 pages of thread too long to read in entirety: searched for discussion of SOFA files but didn't find an answer. Not much on Google searches either.

Looking at the sofar Python library, but it feels like someone out there must already have a good workflow to do this. Any suggestions?

Thank you!
 
Aug 19, 2024 at 1:02 PM Post #1,896 of 2,034
New user question: what is a proper and hopefully easy way to encode an Impulcifier hrir.wav (or HeSuVi wav) file into a SOFA file? I've seen lots of posts from people wanting to convert a SOFA to WAV, but not the other way around.

I am on a Mac (no HeSuVi), have a 16-channel hrir.wav and a 14-channel hesuvi.wav, and want to get a custom HRTF into APL Virtuoso, AALTO Sparta, Fiedler, SPAT Revolution and countless other plugins/tools (some expect free-field SOFAs, others diffuse field).

127 pages of thread too long to read in entirety: searched for discussion of SOFA files but didn't find an answer. Not much on Google searches either.

Looking at the sofar Python library, but it feels like someone out there must already have a good workflow to do this. Any suggestions?

Thank you!
Do you intend the SOFA for head-tracking or all-around spatial audio? If so, I don't think the Impulcifier capture method is designed to capture the number of samples needed. https://www.earfish.eu/ which uses the method documented in https://ieeexplore.ieee.org/document/9094228 (which is technically more advanced than what is possible with the kit; I haven't heard back from them yet regarding some questions) is how I got my personalized SOFA. Taking a look at that paper dashed my ambitions of implementing my own HRTF interpolator which is necessarily more complex when the direction samples aren't evenly spaced.

In that regard, @jaakkopasanen, are you familiar with that paper I linked? Last I heard from Dr. Reijniers, they had a patent but ceased pursuing it.
 
Last edited:
Aug 19, 2024 at 1:35 PM Post #1,897 of 2,034
Do you intend the SOFA for head-tracking or all-around spatial audio? If so, I don't think the Impulcifier capture method is designed to capture the number of samples needed. https://www.earfish.eu/ which uses the method documented in https://ieeexplore.ieee.org/document/9094228 (which is technically more advanced than what is possible with the kit; I haven't heard back from them yet regarding some questions) is how I got my personalized SOFA. Taking a look at that paper dashed my ambitions of implementing my own HRTF interpolator which is necessarily more complex when the direction samples aren't evenly spaced.

In that regard, @jaakkopasanen, are you familiar with that paper I linked? Last I heard from Dr. Reijniers, they had a patent but ceased pursuing it.
Yes to all: I do a lot with Ambisonics, immersive/spatial and surround. Impulcifier seems fairly straightforward, which I realize is relative: by comparison, Mesh2HRTF seems to involve an enormous amount of 3D modeling work. I have a DPA 4560 (in-ear binaural CORE 4060s), an omni measurement mic with calibration data (0°, 30° and 90°), and a decent Atmos studio for capturing IRs. So I have the physical kit on hand for Impulcifier, and I figure it has to sound better than a generic HRTF, if I can find a way to use its hrir.wav or hesuvi.wav outputs.

I'd seen the Earfish project before, but the site seemed to suggest that it was "only available in the context of a research collaboration". Are they actively engaging with people?

Also, they seem to have their own measurement kit (DIY binaural mics, Axagon USB audio interface, Sparkfun Openlog Artemis IMU "headtracker", cables and straps). Is this kit necessary? In addition to my DPA binaurals and calibrated measurement mic, I also have headtrackers (Supperware+Bridgehead, Witmotion IMU, and an old RondoMotion). I have equivalents for everything in that kit, but have no idea if they'd work (especially the headtracker data). I'd have to think the DPAs, the Supperware and any of my audio interfaces (RME, Apollo, Apogee) would be of higher quality than what's in the kit. I can reach out to them, but am curious about your experience.

And to my original question, whether it's ideal or not, is there a workflow to convert an Impulcifier hrir.wav or hesuvi.wav to a diffuse-field or near-field SOFA?
 
Aug 19, 2024 at 2:50 PM Post #1,898 of 2,034
Yes to all: I do a lot with Ambisonics, immersive/spatial and surround. Impulcifier seems fairly straightforward, which I realize is relative: by comparison, Mesh2HRTF seems to involve an enormous amount of 3D modeling work. I have a DPA 4560 (in-ear binaural CORE 4060s), an omni measurement mic with calibration data (0°, 30° and 90°), and a decent Atmos studio for capturing IRs. So I have the physical kit on hand for Impulcifier, and I figure it has to sound better than a generic HRTF, if I can find a way to use its hrir.wav or hesuvi.wav outputs.

I'd seen the Earfish project before, but the site seemed to suggest that it was "only available in the context of a research collaboration". Are they actively engaging with people?

Also, they seem to have their own measurement kit (DIY binaural mics, Axagon USB audio interface, Sparkfun Openlog Artemis IMU "headtracker", cables and straps). Is this kit necessary? In addition to my DPA binaurals and calibrated measurement mic, I also have headtrackers (Supperware+Bridgehead, Witmotion IMU, and an old RondoMotion). I have equivalents for everything in that kit, but have no idea if they'd work (especially the headtracker data). I'd have to think the DPAs, the Supperware and any of my audio interfaces (RME, Apollo, Apogee) would be of higher quality than what's in the kit. I can reach out to them, but am curious about your experience.

And to my original question, whether it's ideal or not, is there a workflow to convert an Impulcifier hrir.wav or hesuvi.wav to a diffuse-field or near-field SOFA?
Earfish needs to be contacted by email. I believe it is only Dr. Reijniers among the team who responds, and it make take weeks to months before you can get a response. I haven't read of any person other than myself in the English-speaking world sharing their experience buying the kit and SOFA, but at least for my music listening, it was revolutionary. For using one's own mics and head-trackers, they may need to provide a custom capture software else give you documentation for supplying direction samples compatible with their SOFA-extraction software. Otherwise, I wouldn't know about using Impulcifier or hesuvi to produce a SOFA.

An open-source implementation of a capture and processing suite based on their papers may be ideal, but "spherical harmonics" is well above my mere BASc in Computer Engineering.
 
Last edited:
Aug 19, 2024 at 6:31 PM Post #1,901 of 2,034
@ThymeTraveler:
An impulcifer HRIR respects someone's full HRTF but it doesn't contain someone's full or even partial HRTF in isolation, that is something different.
For example the impulces for the left front channel, they contain the direct portion of the sound hrtf filtered according to the direction 30 degrees left front (assuming the speaker was there when measured), but also reflections/reverberations from countless directions, all filtered through the hrtf according to their respective directions.
That doesn't necessarily mean that it couldn't give some usable result to simply use that complete impulse response as if it was just the hrtf filtering for 30 degrees front left (I wouldn't know, really), but it is not the same.
If you use Virtuoso - especially with headtracking - it will need your HRTF for "all" directions, and it will assume it is a pure HRTF without reflections and reverberations, and it will calculate the correct direct sound and the reflections from different directions based on that. If you use HRIRs as a base for your sofa file, you would indeed need all directions - not just the speaker directions, Virtuoso will need many directions to calculate hrtf filtering of the reflections - plus you will get your reflections "double" (what is in the HRIRs already plus what Virtuoso add's by simulating a virtual room)!
Again, maybe it could work in the sense that it could give a usable result, but I just wanted to point out that lets say strictly theoretical/mathematical speaking it is not "correct". And that is probably the reason why there is not much info on converting hrir's to a sofa file.
The other way around is a completely different story. From a complete hrtf in combination with a virtual room and virtual speakers you can generate hrir's containing (personalised) room impulse responses. It is a matter of adding the direct sound and the calculated reflections from several directions each hrtf filtered according their respective directions. (One way to do it: put the hrtf in Virtuoso and run the Impulcifer measurement sweeps through Virtuoso, record the output and let Impulcifer process those to create the hrir's, one by one for all speaker positions that you want).
 
Aug 19, 2024 at 7:16 PM Post #1,902 of 2,034
Interesting point. I understand why some plugins prefer free-/near-field SOFAs, especially if binauralizing an encoded spherical soundfield without lumps or hot spots. Modeling a 7.1.4- or 9.1.6-loudspeaker room, on the other hand, the diffuse field would seem important to capture all the reflections and room modes.

With head-tracked ambisonics over headphones, I assume there are multiple approaches: listening to a decoded and binauralized "free field" of the pure spherical soundfield, and pre-rotating the soundfield for subsequent encoding (AllRAD, VBAP, etc) to virtual loudspeakers within a diffuse room. AALTO seems to want diffuse-field SOFAs, while FLUX/IRCAM uses simple free-field. I believe APL Virtuoso uses diffuse field, and Fiedler only supports Dolby PHRTFs (which I have) and not generic SOFA files. Definitely a mixed bag. I did reach out to the Earfish people per the earlier post. Curious about all avenues.

Thanks for the thoughts!
 
Aug 19, 2024 at 9:15 PM Post #1,903 of 2,034
Interesting point. I understand why some plugins prefer free-/near-field SOFAs, especially if binauralizing an encoded spherical soundfield without lumps or hot spots. Modeling a 7.1.4- or 9.1.6-loudspeaker room, on the other hand, the diffuse field would seem important to capture all the reflections and room modes.

With head-tracked ambisonics over headphones, I assume there are multiple approaches: listening to a decoded and binauralized "free field" of the pure spherical soundfield, and pre-rotating the soundfield for subsequent encoding (AllRAD, VBAP, etc) to virtual loudspeakers within a diffuse room. AALTO seems to want diffuse-field SOFAs, while FLUX/IRCAM uses simple free-field. I believe APL Virtuoso uses diffuse field, and Fiedler only supports Dolby PHRTFs (which I have) and not generic SOFA files. Definitely a mixed bag. I did reach out to the Earfish people per the earlier post. Curious about all avenues.

Thanks for the thoughts!
https://sourceforge.net/p/mesh2hrtf...ot-all-hesuvi-data-and-convert-to-sofa-format

If you look here, you can also see the transformation of hisuvi to sofa.
An angle of 5 degrees should be sufficient. (An angle less than that is too fine and not much difference more than about 2 meters.)
You don't have to use Sofa if it's just for simple Atmos. (Maybe I didn't get the text right. Translation problem).
If you have the right receiver and multi-channel misinfe (such as motu24ai), it's playable enough.
Of course, if you need headtracking for the VR/AR experience or if you want to move the speaker placement virtually, Sofia will be convenient. (You can move the speaker placement virtually without using SOfa. It's just a bit cumbersome to synthesize and operate.)
 
Last edited:
Sep 13, 2024 at 10:16 AM Post #1,905 of 2,034
does someone know if its recommended to enable dolby atmos for headphones when using virtuoso with dolby atmos layout and dolby atmos games and movies? i get very mixed results.
Looks like it would put one simulation on top of another.
 

Users who are viewing this thread

Back
Top