moonlight-qt
moonlight-qt copied to clipboard
Native CoreAudio renderer with spatial audio
Hi! I'm just going to drop this here, but it should be considered alpha quality and nowhere near ready to be merged. But it does work quite well for me and I'd like to get it out there for some feedback and more eyes/ears on it. I am pretty impressed at how good it sounds and the fact that CoreAudio doesn't even break a sweat doing spatial processing on 8 channels of PCM. It would prefer to take 12 channels actually, but that's a problem for another day...
- Inspired by an example app from Apple. [1]
- Needs an M1 or newer Mac. Eventually should work on iOS/tvOS, although you might need iOS 18.
- Operates in a standard passthrough mode for stereo or when you have enough real channels (HDMI).
- When headphones or built-im Macbook speakers are detected, this enables spatial audio via the amazing AUSpatialMixer, which is capable of rendering any number of channels up to 7.1.4 Atmos in very high quality binaural stereo.
- Added a new section in the upper-right of the stats overlay with audio stats.
Planned features:
- Head-tracking and personalized HRTF, but since these are technically private user data, you need a $99 Apple developer account to build apps that include these features. I'm still in the process of doing that, and this will need more investigation on how to manage this in the real build.
- I want to add a few config options to customize a few of the settings, such as overriding a bad guess about your USB device being a headphone.
[1] https://developer.apple.com/documentation/audiotoolbox/generating_spatial_audio_from_a_multichannel_audio_stream