jaakkopasanen / Impulcifer

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

Idea: Inverse HRTF to get the sweet height channels from Atmos with custom HRIR #52

Closed ionizer999 closed 4 years ago

ionizer999 commented 4 years ago

Hi @jaakkopasanen,

I am a HUGE fan of your work. AutoEQ is amazing and Impulcifer looks really great (code wise) even though I right now still miss the measurement gear necessary for using it.

I had however an idea and I think that could work. Because HRTF / HRIR uses according to my understanding convolution and convolution is associative it should be possible to use the following Chain:

Now it's possible to merge the last two and you just get:

And given that you even had been able to create perfect rooms, etc I guess if that is at all possible you can do it :).

I already looked briefly and there are plugins out there that can reverse convolution, so my hopes are high that this idea is implementable.

My current test setup is:

Cloud Windows VM => Dolby Atmos for Headphones or HeSuVi => Mac OS X

jaakkopasanen commented 4 years ago

I'm not quite sure what you're trying to do here but I'm quite certain that height channels from Atmos cannot be obtained. Impulcifer only works with up to 7 channel systems because Atmos and other object based audio formats cannot be decoded on any computer except with the official apps. Unfortuantely the official apps don't allow customizing the HRTF so we're out of luck. It is of course possible to record ceiling speakers with Impulcifer but there is no way of of using the when watching movies since there isn't anything that can read the object based Atmos and forward it to HeSuVi.

ionizer999 commented 4 years ago

The idea was to do:

VM with Dolby Atmos for Headphones installed -> output sound

Capture sound on Host system -> Reverse Dolby Atmos for Headphones HRIR / HRTF -> apply customized HRTF

But since then I doubt that Dolby Atmos for Headphones can do anything meaningful with Atmos height channels anyway, because we only have two ears available with headphones and hence the illusion of top / down is not possible (unless I misunderstood), so I am not sure how a HRTF would even work with it.

So feel free to close this in knowing that height channels would not have any hearable effect on headphones anyway ...

jaakkopasanen commented 4 years ago

Height channels can be virtualized with headphones no problem. The thing here however is that Dolby Atmos for Headphones will output a stereo signal which has all the channels mixed. It's not possible to go from this stereo mix back to Atmos or multi-channel which would be needed to apply the custom HRTF.

LionsAd commented 4 years ago

How do you virtualise the illusion of height channels? I've not yet heard any sample so far.

jaakkopasanen commented 4 years ago

You simply have to record a height channel BRIR and then the rest is the same. Of course I don't have a way of doing the virtualization in real time with Atmos or such. Recording BRIR with a speaker on top of the you and then using this with virtualization will make headphones sound like a speaker above you.