Being a PC gamer and use surround sound on Sonos can indeed be kind of crap.
I've also found a couple different workarounds for the issues that you mention. I'll keep it short, if anyone wants any specifics, then please let me know. Some instructions can also be found in my post history.
Regarding second issue: It's possible to transcode DTS surround to AC3 (Dolby Digital 5.1) using ffmpeg tool. Works perfectly.
Regarding third issue: You can force Dolby Digital 5.1 support (Dolby Digital Plus Home Theater HDMI/SPDIF, to be specific) on any audio end-point in Windows using the APO Driver. I've forced it on my NVidia HDMI output. Requires no additional hardware!
Some games (especially older ones) still won't recognize 5.1 surround using this workaround. However, using LoopBeAudio tool (which is relatively cheap) allows you to further simulate 5.1 sound for any Windows software/game.
In short what my Windows setup is to get full Sonos surround on a regular nvidia HDMI output:
- Use `Product Config Tool` from the APO Driver on your HDMI output. Set it to Dolby Digital Plus Home Theater HDMI/SPDIF or Dolby Home Theater v4 (HDMI/SPDIF).
- Get LoopBeAudio (free trial available) to create a virtual speaker and virtual microphone.
- In Windows sound settings, set default format of your HDMI speaker to Dolby Digital.
- Also in Windows sound settings, set your HDMI output to listen to the virtual microphone (from LoopBeAudio).
From there on forward it works pretty much flawless and in the end I only had to pay for the LoopBeAudio software license. Which is about 20$.
Thanks for the software workaround!
I still prefer to get Asus or Creative USB sound cards to get DDL, but that is also a good option! Cheaper too.
Regarding ffmpeg, yes, it is a very useful tool, and I've been using it for the last 10+ years on linux and windows. It will convert audio, and it is very good for handling batches, but somehow I doubt most people will want to enter command prompt and type:
code:ffmpeg -i input_file -c:v copy -c:a ac3 outputfile
And plex does it on the fly without changes to source files, so I use that. One thing that FFmpeg does not handle is BR copy protection mechanism to back it up, and bypassing those is illegal in some places.
But, you have to admit, if there was a pass-through HDMI that accepted 5.1 LPCM, and then passed the video to TV, all of the workarounds would be unneeded. 🙂 Almost all BR players have LPCM output from DTS and Dolby.
Of course. These are all workarounds for something that should be easy to accomplish for any end-user.
However, we can't blame Sonos for everything. Especially the whole PC ordeal is mostly because AMD and NVidia aren't willing to pay royalties for Dolby (or DTS) support. Game consoles manufacturers do pay the royalties and support the HDMI output formats as expected.
Of course. These are all workarounds for something that should be easy to accomplish for any end-user.
However, we can't blame Sonos for everything. Especially the whole PC ordeal is mostly because AMD and NVidia aren't willing to pay royalties for Dolby (or DTS) support. Game consoles manufacturers do pay the royalties and support the HDMI output formats as expected.
Dolby Digital (AC3) patents have all expired, so it is free to use, and there are open-source encoders available. It is not the royalties.
Also, due to it being defined as a standard for DVD and Blu Ray, it found itself supported on all the AV receivers, and following that it got accepted into ATSC, DVB-T and DVB-T2 (just to name a few) broadcasting standards. But AC3 has a bandwidth limit inherent to S/PDIF and the media it is often distributed on.
LPCM is a hog when it comes to bandwidth, BUT there is less overhead in signal processing, and it is much easier to work with it. Hence, PCs use it by default.
DD and DTS compress the [bleep!] out of LPCM, which created processing overhead and introduces a very minor delay, and then there is decoding on the receiver, and also a very minor delay. This is ok when you need to keep the bandwidth low for TV broadcast or for space-limited DVD, but makes no sense on PC that generated audio in realtime.
So, I "blame" Sonos just for not implementing a pass-through like Yamaha does on all modern (even the cheapest YAS-108) soundbars while keeping the optical and HDMI ARC as well. Just this one thing... one thing....
Thanks for the clarification!
Do you happen to have any idea why GPU manufacturers (AMD, NVidia) still won't implement AC3 support? I assumed because of the royalties, but if what you're saying is right then I don't really see any reason for them to not implement it. As it would greatly boost the audio experience for lots of PC gamers.
Edit: The slight audio delay could be a reason to not implement it. But as stated game consoles support it fine without any noticeable audio delay.
Because it introduces complexity into signal chain. By default, LPCM is what is generated by the PC. AC3 requires an intermediate step where LPCM is compressed in real-time, and it causes sound quality degradation. (my guess)
This complexity can cause out-of-sync issues that are easily avoided if they just stick to LPCM. Also, driver development is expensive, difficult and time consuming. Less features, less cost developing and maintaining them.
And most PC gamers use either LPCM, or analog 5.1/7.1 for audio. Very, very few resort to AC3. We're the exception because we have to. If Sonos did LPCM, I would not give AC3 the time of day if it came up to me with gold in hands. :)
edit: LPCM allows high-def audio as well, up to 6x 24bits@192KHz in case of 5.1, or 8x 24bit@192Khz for 7.1 systems.