jaakkopasanen / Impulcifer

Measurement and processing of binaural impulse responses for personalized surround virtualization on headphones.
MIT License
213 stars 14 forks source link

Delay disabled required_ Multi Channel #72

Open LionLion123 opened 3 months ago

LionLion123 commented 3 months ago

https://www.head-fi.org/threads/recording-impulse-responses-for-speaker-virtualization.890719/post-18259753

Quote the thread above.

When SL, SR/BL, and BR are added in the current configuration of the impulcifer, the delay is intentionally added for each angle. And the way to know that for sure is that the same FL,FR is replicated and just changed the name, and the same delay is applied.

I don't listen to everything at the same time because it has the shape and width of a human face, but the part where the delay is added at the moment is a bit disappointing.

I don't hear everything at the same timing because it has the human face shape and width, but that doesn't mean I feel the delay difference of 0.1 to 0.2ms that's being added at the moment. And when we measured it directly, we didn't find any such delay, and judging it may look different from the peak of the impulse or the first sample alignment (because each response has a different roll-off in the ultra-high range, so the peak alignment may misrepresent this)

Also, when humans listen to speakers in real life, the brain correction always works, even if there is a slight error. And you can hear it without much trouble. But it's different in BRIR. It relies only on the limited information of the recording impulses already provided, and even a single sample difference of 0.01 ms instead of 0.1 to 0.2 ms, our brain perceives it and notices that it is wrong.

And not only that, I understand the purpose of the developer, but it may be a bit difficult to apply, considering the way we listen. The way we listen is correct, but the delay (timing) of the speaker is already set. There are parts that are pre-timely aligned, and even if it is not an accurate timing alignment, it is already determined in reality, and the purpose of BRIR is a reproduction function that conveys it as it is. Therefore, there are cases where intentional delays are added for synthesis purposes, but when converting the original file, I leave a message thinking that these delays should not be added.