# Decompose stereo signal

Basically the same as this question, but it was never really answered: Stereo sound separation into three sources

Imagine I have a really trivial signal:

• Left: 100Hz tone + 200Hz tone + 500Hz tone
• Right: 500Hz tone + 1kHz tone + 2kHz tone

I'd like to perform some operation where I can decompose Left and Right into L', R' and C. Where:

• L': 100Hz + 200Hz
• R': 1kHz + 2kHz
• C : 500Hz

I'd like the algorithm to work reasonably well for mixed, commercial music, which would exclude just a simple FFT analysis (I think.)

I started out looking at correlation, but I don't think that applies in this case. Now I'm thinking I need to be looking at ICA, but that seems to be focused on producing N signals from a single input, and not 3 signals from 2 inputs...

A very simple algorithm for stereo signals which are a combination of "panned" mono sources. This allows you to take a stereo source and "listen" to signals panned at a given point, or within a given range of the pan parameter.

Caveats:

• It does not work well if the mix is more than a sum of panned mono sources (stereo reverb applied to the mix, tracks captured with a pair of overhead mics).
• It heavily relies on the assumption that two sources will never overlap in the time/frequency/azimuth space (which is going to be wrong for music).
• It also suffers from the usual artefacts of STFT-based methods (incorrect phase estimation) - but this problem is common to a very large range of algorithms found in the source separation literature.
• Thanks, marked this as answered simply because it gives me a path forward :)
– Tim
Mar 31, 2014 at 15:43

There a few commercial algorithms that do exactly that (Dolby Prologic, DTS Neo 6, Lexicon Logic 7, Bose Videostage, etc.). If your project has the funds, you can simply try to license one of those.

The inner workings of these algorithms are rather complicated and typically a mixture of time domain and frequency domain feature extraction, some steering logic, and some real time steering mechanics (time variant mixers, sub band filters, etc.)

Simple signals like your example are normally easy to tease apart, however almost all music is partially correlated and overlapping both in time and frequency. For starters it's difficult to define what actually SHOULD be in the center and the Left and Right. The algorithm has to make a lot of "artistic" decision to make sure there are no steering artifacts and it meets the design intent over a wide variety of source material.