back

by tobr·7y ago·view on hn ↗
Removing the center is possible, but how exactly would you "recombine" it with the original to keep the center? Correct me if I'm wrong, but I don't think the math works out like that.

Say we have mixed three sources, let's call them L (panned hard left), C (center) and R (hard right). Then the left channel has +L+C, and the right channel has +R+C.

Now we phase invert one of them, say the right channel, and combine them. The new mono file is +L+C-R-C. +C-C cancels out and we're left with +L-R.

Since +R and -R essentially sounds the same, it sounds like if we had originally done a mono mix of L and R (+L+R).

But we can't combine this with a straight mono conversion (+L+C+R+C) in any way that will remove both L and R. All we can do is reproduce +L+C or +R+C.

1 comments
A stereo audio file only has two channels, mixed from any number of sources: L+R. This described process essentially converts the track (we'll call X) to mid/side (M/S) form, which is used by some microphones and other outboard equipment. We're exploiting properties of both forms of the audio to produce our isolated center.

Also if you have the removed data all you have to do is invert it and sum it against hte original material and it will cancel out

I described it slightly incorrectly in the original post but I have used this process to extract vocals for remixing

The first inversion produces one channel containing nothing but stereo data, as you're summing L+Ri to produce S -- the center channel data (technically, anything equivalent in both stereo channels) cancelled itself out. (Note that if you combine L+Ri you should get a zero-ed out waveform)

The second inversion, produced by combining the first inversion (Ri) and the original source converted to mono (L+R), produces the isolated center channel (M). It works because you are essentially only cancelling out stereo data you generated in the first inversion

If you don't believe me, load up a copy of Audacity or Sound Forge and try it. (Note the music needs to be uncompressed) One track this works with is the original mix of "Day n Nite" by "Kid Cudi" if you can find a WAV copy somewhere. It doesn't work with a lot of music

So...

  L, R = stereo_split(X)

  Ri = inverse(R)

  S = L+Ri

  Si = inverse(S)

  M = Si+(L+R)

  Note: L+Ri should result in empty waveform
Trying to follow this, but I’m lost at a few points.

If you say you have a file where +L-R = 0, then L = R? That’s just a mono file?

L/R stereo and M/S stereo conversion works like this. M = L+R, S = L-R (or S = R-L, either one is fine).

If you expand out your expression M=Si+L+R, where Si=-(L-R)=-L+R, you have M=-L+R+L+R, which means you are saying M=+R+R. This doesn’t seem right.

If you just want an actual M, that’s just a mono conversion of L+R. For sure, if the recording is M/S, the two sides cancel out and you will extract the mid channel, which would often contain song - but there’s no reason to do all the repeated inversion and mixing to do it!

+L-R = 0

+L+R gets you a mono file (before volume reduction). +L-R cancels out. Try it out in a wave editor with a sine wave

The figures I wrote in my previous post use + as a summing operation, not to signal polarity

I discovered the process on my own, so I'm sure there are better ways to do it, I'm not a recording engineer :)