q-p / SoundPusher

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

music (stereo) playback not natural when used with soundbars/sonos #22

Open DaveFlashNL opened 2 years ago

DaveFlashNL commented 2 years ago

when using soundpusher to playback stereo audio such as music or television content, most soundbars and/or Sonos when used in a surround setup, will make some weird surround stage like a 3.1 or 5.1 setup where the connected soundbar/sonos will shunt all voice frequencies from the music to just the centre channel, this is undesirable for most music and other stereo content, this problem can be somewhat mitigated by the Upmix stereo option already present in SoundPusher, but this really only works best on movies and some tv content, I'd like to see an additional option (suggested name: stereo duplication) that duplicates the stereo audio to 2+2 in a 5.1 dolby container which soundpusher then outputs to spdiff, so this would work out like this, LF gets left channel, RF gets right channel, CF: SoundPusher outputs silence, LS: duplicate of left channel input / LF, RS: same but right channel / RF, LFE: silence.

Let's hope this is possible.

R = right C = center L = left F = front S = surround/rear Chanel is L/R + position [F/S]

q-p commented 2 years ago

I'd say that's more a problem with the upmixing performed by the soundbar or amp you're using.

At the moment, I don't have any particular plans in that area, but if you want to play around with the upmixing, you should look at GetUpmixMatrix() in SPDIFAudioEncoder.cpp.

In that method, I'm setting up the matrix the defines the mixing (i.e. for each output channel, how much of each input channel it contains). What I'm currently doing there for the 5.1 case is the classic upmix (based on phase difference).

DaveFlashNL commented 2 years ago

okay, will do!