q-p / SoundPusher

Virtual audio device, real-time encoder and SPDIF forwarder for macOS
MIT License
153 stars 15 forks source link

Take my money! #13

Closed DHHHG closed 4 years ago

DHHHG commented 4 years ago

Daniel,

I've been banging my head against a wall for a few months now trying various mods, devices, and cables to get my Macbook to output to my Sonos in something other than regular stereo. This plus the SoundBlaster X-Fi 5.1 Pro I had lying around output'ing via SPDIF->Sonos SPDIF/HDMI dongle->Sonos HDMI input did the trick. I would happily contribute to you if you provided a funding link! Thanks so much for getting this out there!

q-p commented 4 years ago

Happy to hear it's useful for someone else. 😄 (Although I feel like you should be able to get multi-channel out with HDMI without the SPDIF diversion...)

Money's not a motivator for me, so please feel free to donate to a civil rights charity (e.g. the EFF or a local equivalent). Thanks!

DHHHG commented 4 years ago

Well - part of my problem is self created (nabbed some cheap Sonos kit on Black Friday/etc.) but it seems that this is a similar problem across the space. The MacBook itself appears to be able to output multi-channel audio over HDMI but regular Macs apps only do Stereo while some apps appear to be able to pump out PCM (and supposedly Dolby/AC-3 but I wasn't able to get this to work personally). If a person is plugging into an actual AV receiver then "the Internet" seems to indicate that they are generally good to go (although this also appears to be fraught with issues). However, it appears to me (based upon a multitude of forum searches) there are a lot of users out there with various 5.1 speakers from their PC days trying to get wired in with MacBooks.

You can get a cheap 5.1/7.1 USB sound card or fancy DAC, however, all those USB sound card vendors only provide drivers for Windows with the included ability to do what SoundPusher is doing (encode to Dolby/AC-3 and perform Stereo Upmix). While the USB sound cards seem to easily load with built in Mac drivers, all those features you would expect (e.g. 5.1) just aren't there. If you are plugging into the component jacks for L/R, Center, RL/RR, & Sub - 5.1 for sources that output 5.1 work (but again no stereo upmix and generally just stereo from all apps). In my case - my only option to get to the Sonos Beam (and thus wirelessly attached RL/RR & Sub) was to get Dolby to the HDMI input of the Sonos Beam.

Sonos is particularly tricky in this space as there is just the single HDMI ARC capable input which means I cannot just go USB-C -> HDMI -> Sonos Beam. One either needs an AV receiver with ARC (which I didn't have lying around) or the Sonos included SPDIF->HDMI adapter must be used. It seems when audio comes in over this SPDIF->HDMI dongle, Sonos wont accept multi-channel PCM and only 2-channel PCM or Dolby/AC-3 (though this might be a limitation of using a USB SB X-Fi 5.1 Pro -> SPDIF out when used on Macs due to the missing SW in the built-in drivers mentioned above).

I attempted a various set of DisplayPort->HDMI and USB-C->HDMI either directly to Sonos Beam or through a HDMI Audio Extractor and, when I could get any sound/more than 2 channels, it was always in Stereo only with sound tests to the Sub / RL/RR / Center channels not working when tested from Audio MIDI Setup. I then stumbled across SoundPusher and tossed it on as a last ditch effort. To my surprise and glee, it worked immediately! Full 5.1 on the Sonos with Stereo Upmix! One odd note - after installation of SoundPusher, the SB audio device went from a 6 channel output device to 2 output device but the Format options went from being selectable (2-6 channel w/ various bit rates) to ONLY being "Encoded Digital Audio 48.0 kHz". Previously, before installation of SoundPusher, "Encoded Digital Audio" was not an available option.

In any case, much thanks for your efforts and EFF donation on it's way!