hoene / libmysofa

Reader for AES SOFA files to get better HRTFs
Other
131 stars 70 forks source link

Error when calling mysofa_check with an HRTF created via API 2.1.2 #201

Closed dgonzalezt closed 1 year ago

dgonzalezt commented 1 year ago

Hello First, thank you very much in advance for taking the time to read this issue. Secondly, I don't know if you have documented this somewhere and I'm the one who hasn't seen it. When I load an HRTF that it was created with API 2.1.2 and check it, with mysofa_check , it gives to me as invalid. In particular I am using the HRTF of the Neumann KU 100 from ARI. The problem occurs when checking the APIName and APIVersion fields. For my part I have changed the code a bit to be able to bypass the problem.
I hope it helps. Best regards

hoene commented 1 year ago

Please provide an HRTF file as test case

dgonzalezt commented 1 year ago

Here you are :-) hrtf_b_nh172_alignedlevel_v1.zip

hoene commented 1 year ago

Hmm, the receiver positions in this file are wrong: "Values": [ 0.000000e+00,-9.000000e-02,0.000000e+00,0.000000e+00,9.000000e-02,0.000000e+00 ]

They are suppose to be "Values": [ 0.000000e+00,9.000000e-02,0.000000e+00,0.000000e-00,-9.000000e-02,0.000000e+00 ]

In the past, this was a common mistake thus in order to support old versions of sofa files, we ignore this error if the file has been generated in the past.

However, as for modern files, libmysofa reports an error.

Libmysofa works as intended. Your sofa file is false and must be corrected.