steam-audio icon indicating copy to clipboard operation
steam-audio copied to clipboard

Sofa Files Rejected

Open gravelvoice opened this issue 4 years ago • 6 comments

I'm using 2.0 Beta 18 and trying the custom HRTF option. I've placed my SOFA files in the correct folder and tried my application. I thought it sounded different each time, but when I compare recordings of the app, They all sound the same. I posted on the support forum and found out that if Steam has a problem with the supplied SOFA, it will use the default instead.

I did a comparison in Matlab of my SOFA to the MIT Kemar and it looks like my HRTF is at a much higher resolution. What would the desired number of directions and samples be?

Seems most of the sofas that don't work are 1368x2x256. SOFAS that DO work are different configs but not THAT particular one. Some that work are 1550x2x256, 1250x2x200 and 187x2x512. These are ARI Neuman, Subject 003 and Listen1002.

Are these the sort of configurations that the plugin is looking for? Other than these parameters, they all fit into to the SimpleFreeField convention and most certainly include the metadata listed in the documentation as "required".

gravelvoice avatar Jul 01 '20 19:07 gravelvoice

@gravelvoice - let us know if you can share link for sofa files that are not working. We can take a look.

achandak avatar Jul 01 '20 19:07 achandak

There isn't a particular measurement configuration that the plugin is looking for. Any number of directions, and any HRIR length should be fine.

Unfortunately, we will need either the SOFA file or a crash dump in order to debug the issue. Would it be possible for you to replace all HRIRs with a unit impulse and share the file with us? We don't need the data, we just need to look at the structure of the SOFA file.

lakulish avatar Jul 01 '20 22:07 lakulish

Oh, this is good news. I think I might be able to do this. I need to get approval first, so it will be next week.

Oh and hi Anish! I still sport my Phonon T-shirt from time to time. Thanks for sending it to me so long ago.

gravelvoice avatar Jul 01 '20 23:07 gravelvoice

here is our sofa file structure test_sofa_all_diracs.zip

gravelvoice avatar Jul 10 '20 17:07 gravelvoice

We were able to test this SOFA file with our tools and identify the problem: the SOFA file has an HDF5 superblock with version 0, but the SOFA loader library we're using expects superblock version 2 or 3.

We were able to use the Matlab/Octave API for SOFA files (https://github.com/sofacoustics/API_MO) to load this SOFA file, and then save out a new copy. This new copy loaded fine in Steam Audio, so the superblock version difference is due to the tools you're using to generate the SOFA files. Which tools are these?

Meanwhile, the Matlab/Octave workaround should allow you to use your SOFA files with Steam Audio.

lakulish avatar Jul 14 '20 01:07 lakulish