• WANTED: Happy members who like to discuss audio and other topics related to our interest. Desire to learn and share knowledge of science required. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

Simultaneous HDMI bitstream and 8-channel PCM decode on Windows possible?

SirMaster

Member
Joined
Feb 19, 2020
Messages
34
Likes
33
I am looking to see if anyone can think if a way that I can play back media on a Windows PC where I can bitstream the TrueHD and DTS-HD audio to my AVR over HDMI while simultaneously decoding it to 8 channel PCM (like LAV Filter can do).

With MPC-BE player I can use it's dual audio out feature to bitstream the audio 2 different HDMI devices at the same time. I can also decode it to PCM for 2 different output devices at the same time as well (though this is also achievable through software like Voicemeeter as well).

But I am not able to set one output to bitstream and one to decode at the same time. I suppose due to limitations of the design of MPC-BE's dual audio out system.

I am wondering though can anyone think of a way to make get it to work? I don't see why it shouldn't be technologically possible to make work.

Like is there maybe a way I can have the second output device that I set in MPC-BE to be some sort of virtual audio device that can accept a bitstream signal, and then that software could then decode it like LAV Filters can and does?

Any ideas anyone?


What I really want to achieve is to use my regular Denon AVR for my Atmos and DTS:X bitstream for my theater, but then also get a raw copy of the LFE only channel so I can send it to some tactile system.

I have found that I like my tactile system a lot more when I can feed it a pure LFE signal (instead of the LFE signal plus all the mains crossovers from setting my speakers to "small").

I could set my speakers to "large", but they do not handle this very well and IMO sound worse this way. Also that means I lose this low end mains crossover for my actual subwoofers.


There are other reasons as well like having the tactile channel be free from room EQ and also be able to offset the tactile channel sooner than the AVR allows me to adjust it.


The only way I can think to solve this is to use 2 AVRs with HDMI split or bitstream to both with MCP-BE dual audio output, but I would really prefer not to have to get a second AVR just to use it to get a raw, clean LFE signal out.

Thanks
 
I can't answer your exact question but yesterday I did come across this review for an adapter, where someone is trying to get two outputs going at the same time on one computer. Output #1 is HDMI2 .1 from the GPU that goes directly into the TV, and output #2 is via displaylink adapter going into the receiver for TrueHD/DTS-MA. I would imagine that both outputs could have audio, so maybe it's worth giving this adapter a shot. Not sure if a radeon gpu is required though.


1675206863880.png


I have a couple questions for your existing system though if you have a moment. I am trying to build something similar, but for different reasons.

1) You mentioned that you are able to use a LAV filter to take your TrueHD source and spit out a decoded 8 channel PCM output. Could you describe some more details about this from a software perspective? Maybe a link to the specific LAV filter?

2) What DAC are you using that has 8 seperate outputs? I was looking at the Topping DM7

3) What are the capabilities using this to decode TrueHD Atmos(or DTS-X) into PCM? I think for modern day cinema, having Atmos decoding support is absolutely critical, even if you are downmixing to 5.1/7.1

As a side note, I have been researching this stuff(decoding atmos on PC) and there are good resources here

Decoding TrueHD Atmos WAV or MKA files seem to be easy, but I don't have a clear understanding how I can decode a video with an embedded TrueHD atmos stream.
 
I can't answer your exact question but yesterday I did come across this review for an adapter, where someone is trying to get two outputs going at the same time on one computer. Output #1 is HDMI2 .1 from the GPU that goes directly into the TV, and output #2 is via displaylink adapter going into the receiver for TrueHD/DTS-MA. I would imagine that both outputs could have audio, so maybe it's worth giving this adapter a shot. Not sure if a radeon gpu is required though.

Well, of course this is doing dual outputs. I know this works just fine, you have always been able to use multiple HDMI or DP outputs to send out video and audio. But the whole point is I don't want to have to use 2 whole separate AVR-type boxes at once just to decode the dual bitstream output.

1) You mentioned that you are able to use a LAV filter to take your TrueHD source and spit out a decoded 8 channel PCM output. Could you describe some more details about this from a software perspective? Maybe a link to the specific LAV filter?

This is simply how HTPC media player software works. Whether you use something like Media Player Classic Home Cinema or something like VLC or even Kodi. MPC-HC and Kodi come with LAV filters that have no problems decoding TrueHD and DTS-HD into 7.1 channel PCM.

When you disable bitstream in the media player then it has to decode the audio format right there and it will come with some decoder solution but it's one of the most common ones.


2) What DAC are you using that has 8 seperate outputs? I was looking at the Topping DM7

I am not doing this as I have no need to. I bitstream the audio to my AVR. But you can also just send 8 channel PCM to an AVR over HDMI as well. But there are a few 8-channel DACs out there.

3) What are the capabilities using this to decode TrueHD Atmos(or DTS-X) into PCM? I think for modern day cinema, having Atmos decoding support is absolutely critical, even if you are downmixing to 5.1/7.1

TrueHD Atmos and DTS:X are just extensions of TrueHD and DTS-HD. These formats are fully backwards compatible with decoders that don't understand the additional object-based channels.

In TrueHD Atmos, all the object-based channels and their movement around the room are already pre-baked into the 7.1 channel base-layer mix. When a decoder that understands Atmos decodes the track, it renders the objects over whatever Atmos speakers are configured, and subtracts them from the base 7.1 layer speakers so that the sounds don't play in 2 places at once.

When you decode a TrueHD Atmos track on a TrueHD decoder that doesn't know about Atmos, then just the 7.1 base channels are decoded which contain the Atmos objecs pre-baked into the base layer. So you are not missing any sound effects whatsoever and they move around the base layer as best they can without the height channel speakers.

So no, if you have a 5.1 or 7.1 setup, there is absolutely no reason to need to be able to decode the Atmos object tracks.

TrueHD is not actually down-mixed at all, it's "unfolded". The same concept I described for Atmos applies to lower configurations too. Every sound in a 16-channel Atmos mix (8 base channels and 8 object channels) is fully contained in the first 2 tracks (1 and 2) in the mix, the front left and front right channels. So when you play a TrueHD Atmos audio track on an old stereo AVR that at least understands TrueHD, you are still getting every bit of the sound. When you then tell your decoder that you have a center speaker, it unpacks track 3 from the TrueHD container which contains all the center channel audio, and then it subtracts the center channel sound from the left and right channels so it's not duplicated. Then if you tell your decoder you have 2 surround channels, it unpacks tracks 4 and 5 for the surround speakers, and subtracts each from tracks 1 and 2 to remove the surround sounds from the front left and front right. Then if you tell the decoder you have rear surround channels, it unpacks tracks 6 and 7 and subtracts each from tracks 4 and 5 to remove the rear surround effects from the side surround speakers. Then finally if you configure any Atmos speakers, it unpacks tracks 9-16 (there may only be 4, 6, or 8 object tracks in a given mix). It renders these 4-8 tracks over your Atmos speakers that you have configured, and then based on that subtracts them from the base 7 tracks where needed, again to prevent duplicate audio. The LFE tracks is it's own separate base layer track.


Yes this wiuld work with dual bitstream output, but the whole point is I want to avoid using 2 "expensive" AVR-type boxes. All I need on my second output is the LFE track only. It seems overkill to spend $350 on a device like that just to get the LFE track.

I mean, it may end up being the best option to just buy a second AVR like that or some cheaper used one, but the whole point here is I am trying to explore first if it is possible to accomplish this without having to use 2 AVRs. If it's not possible then that is the route I will have to go.

But I would most likely buy another Denon so I can control their volume levels in lock-step easily over IP control.
 
Last edited:
For now, I have written a small app that manages a very precise synchronization between 2 copies of MPC player. So I can set one to bitstream and one to decode and this accomplishes what I need from the audio, but it feels like a quite un-optimal solution for now.

Hopefully someone has a better idea at some point.
 
You should be able to do this in JRiver Media Center. Create a Zone for Bitstreaming output and a Zone for Analog output. Link the Zones. Each Zone can be assigned its own audio device. I can test it tonight to see if it works.

JRiver Zones.jpg
 
I did come across JRiver in my search.

I wonder the accuracy of the sync though.

I really need something that is no worse than say +/-10ms.

Since I am trying to sync tactile transducers to my speakers, and when I play with the delay in my minidsp for example, I can "feel" it's off from the sound if I am more than about 10ms off.
 
I couldn't remember if video content can use linked zones. I found this thread from almost 10 years ago that shows that another zone is needed for video: Simultaneous HDMI and Onboard Analog Output, but that could have changed since then.

With multiple analog zones, you can use Adjust Link Timing to make sure the zones are in sync. You can't do that with bitstreaming. However, since each zone has its own full DSP, you could just add a delay for the analog zone if necessary. JRiver can also delay video with separate sync available for 24 Hz vs 60 Hz content.
 
Well, an offset between Zones is fine as long as it's consistently off, that's really what I mean. I need the accuracy of the sync to at least be consistent between each audio source, and not change by more than about 10ms file to file or after pausing and resuming or seeking. I can adjust an offset in my miniDSP for my transducers as well.

I kind of doubt the accuracy of the JRiver Zones are this consistent in terms of sync (because normally this wouldn't be that important), but it's possible they are accurate.
 
Last edited:
I kind of doubt the accuracy of the JRiver Zones are this consistent in terms of sync (because normally this wouldn't be that important), but it's possible they are accurate.
Many use Zones for various rooms in the house and need the living room, kitchen, bedroom, etc. to all be in exact sync when playing the same content to all Zones. JRiver introduced ZoneSync quite a few years ago that "uses extensions of the DLNA protocol to cue items for playback, check zones for time and latency, and initiate playback at the same time." Obviously this (ZoneSync) won't work for a bitstream Zone.

By the way, Hendrik Leppkes (aka Nevcairiel) is not only the developer of LAV Filters, but has been the main developer of JRiver Media Center for over 9 years now.
 
Yeah, but the DLNA protocol doesn't account for network latency for example. Not an issue when both zones are generated on the same PC though.

And for multi-room audio, the physical distance is a much larger factor, so perfect sync accuracy is not as critical. I mean nobody is going to detect music being off 20ms or even 100ms between rooms IMO.

And yeah I did post a message on Hendrik's LAV Filter thread over at doom9, so maybe he will have some insight as well.
 
I just had a chance to test and linking an analog and bitstream Zone works in JRiver. There is simultaneous audio playback of the Zones with madVR set as the video renderer. I didn't do any latency testing.
 
bump

Just wondering if you guys solve this problem and has a working solution. Is it possible to use a PC to decode 7.1 base layer, while sending HDMI audio to an AVR to just decode height/top channels?
 
I did a bit of searches and perhaps have found a solution that works. A bit convoluted.

PC audio pass-though using a HDMI port to
EZCOO HDMI splitter/down scaller to 2 outputs
[1] Denon (or other brand) AVR for atmos
[2] Black Magic Micro converter HDMI to SDI to
Black Magic SDI to Audio converter (8 channels AES/EBU outputs) to
RME HDSPe AES PCIe card back to PC
 
For now, I have written a small app that manages a very precise synchronization between 2 copies of MPC player. So I can set one to bitstream and one to decode and this accomplishes what I need from the audio, but it feels like a quite un-optimal solution for now.

Hopefully someone has a better idea at some point.
@SirMaster I am also very interested, have you solved it? Can this app be shared?
Thank you.
 
Last edited:
Back
Top Bottom