|
|||
Ok, so I recently finished a new free effect - http://bassgnomes.wordpress.com/common-image/, and I am gearing up to make a new one. I have the idea for ir, but I'm not sure if it's technically possible. In my brain it makes sense, but I have no idea how to approach this.
So the stereo field has "positions", such as in Cubase, you can pan audio Right 89 (out of 100), or Left 100. Theoretically, it should be possible to exclude other stereo field locations, so you could monitor JUST the Right 89 location (muting all other stereo locations Right 1-88, Right 90-100, Left 1-100). I'm wondering if this could be accomplished through phase shifts, or if there is a more practical approach. I have noticed certain areas "popping in" when phase shifting, so I am wondering if this could also be used to direct stereo image location/soloing. Any thoughts/comments appreciated. ---- --_ yup.... _-- |
|||
| ^ | Joined: 23 Sep 2003 Member: #9179 Location: Washington | ||
|
|||
If you imagine how an individual sound is positioned in the stereo field, you will see that it is mixed at different levels into the left and right channels. Louder in one side moves it that way in the stereo field, equally loud in both places it in the centre, etc. So your left and right channels are two different weighted sums of all the component sounds.
Now think of this in terms of simultaneous equations. You have as many variables as there are sound sources, but only two sums linking them all up - so unfortunately it won't generally be possible to isolate a particular sound simply by using linear combinations of the channels. What you can do is remove the sound from a particular location, by inverting one channel and mixing it to a greater or lesser extent with the other. However you'll end up with a mono output, and sounds near to the eliminated zone will be attenuated as well as some being flipped in phase. As an example, imagine three sounds X,Y and Z, panned left, centre and right respectively. So the L channel might contain X+Y/2 and the R channel Y/2+Z. You can eliminate Y by calculating L-R = X-Z. Or you can eliminate X by simply using R = Y/2+Z. Or you can eliminate Z by using L = X+Y/2. But using a linear combination of L and R you can't eliminate more than one component at a time, unless they both happen to occupy the same position in stereo space. |
|||
| ^ | Joined: 25 Apr 2011 Member: #255421 | ||
|
|||
kryptonaut wrote: If you imagine how an individual sound is positioned in the stereo field, you will see that it is mixed at different levels into the left and right channels. Louder in one side moves it that way in the stereo field, equally loud in both places it in the centre, etc. So your left and right channels are two different weighted sums of all the component sounds.
Now think of this in terms of simultaneous equations. You have as many variables as there are sound sources, but only two sums linking them all up - so unfortunately it won't generally be possible to isolate a particular sound simply by using linear combinations of the channels. What you can do is remove the sound from a particular location, by inverting one channel and mixing it to a greater or lesser extent with the other. However you'll end up with a mono output, and sounds near to the eliminated zone will be attenuated as well as some being flipped in phase. As an example, imagine three sounds X,Y and Z, panned left, centre and right respectively. So the L channel might contain X+Y/2 and the R channel Y/2+Z. You can eliminate Y by calculating L-R = X-Z. Or you can eliminate X by simply using R = Y/2+Z. Or you can eliminate Z by using L = X+Y/2. But using a linear combination of L and R you can't eliminate more than one component at a time, unless they both happen to occupy the same position in stereo space. So in other words since the sound takes up stereo space, there's no way to isolate it... Thanks for the great response. So this means that it is impossible to isolate one stereo location position as well though? I am not necesarilly meaning only the sound, but the actual audio hitting in a specific location. ---- --_ yup.... _-- |
|||
| ^ | Joined: 23 Sep 2003 Member: #9179 Location: Washington | ||
|
|||
Freeform wrote: So this means that it is impossible to isolate one stereo location position as well though? I am not necesarilly meaning only the sound, but the actual audio hitting in a specific location. Basically yes, if you are using a simple addition/subtraction of the L and R channels then you can only eliminate one location, you can't actually isolate a location (unless there were only two locations to start with). I guess it may be possible to do some kind of sophisticated analysis of the L and R signals, looking for frequency components which vary together and have a specific ratio of amplitudes in the two channels - probably something similar to how the brain locates sound spatially despite only having two channels to work with. |
|||
| ^ | Joined: 25 Apr 2011 Member: #255421 | ||
|
|||
I did something similar in my thesis. Blind source separation might be a basic keyword to google. It is possible to a certain extent, but you will only be able to attenuate other directions, not fully remove them. Or live with lots of noise artifacts. Or both. There's even a plugin doing something like this (from QuikQuak IIRC), but it's noisy like hell.
One way to do this is heavy analysis of interchannel differences (another buzzword: computational auditory scene analysis), e.g. from an STFT, and then feeding the info to some trained machine learning algorithm to generate an STFT filter mask. That's actually pretty similar to the way your brain does it. Anything based on just level panning will only work (if at all) under laboratory conditions and will produce bs as soon as you have a "real" stereo recording. |
|||
| ^ | Joined: 01 Apr 2009 Member: #204429 Location: Bochum, Germany | ||
|
|||
hugoderwolf wrote: I did something similar in my thesis. Blind source separation might be a basic keyword to google. It is possible to a certain extent, but you will only be able to attenuate other directions, not fully remove them. Or live with lots of noise artifacts. Or both. There's even a plugin doing something like this (from QuikQuak IIRC), but it's noisy like hell.
One way to do this is heavy analysis of interchannel differences (another buzzword: computational auditory scene analysis), e.g. from an STFT, and then feeding the info to some trained machine learning algorithm to generate an STFT filter mask. That's actually pretty similar to the way your brain does it. Anything based on just level panning will only work (if at all) under laboratory conditions and will produce bs as soon as you have a "real" stereo recording. Thanx for the detailed response. I was just thinking how great it would be to have a plugin to break down the stereo field to editable volume steps, as I think it could be super useful. Back to the drawing board! ---- --_ yup.... _-- |
|||
| ^ | Joined: 23 Sep 2003 Member: #9179 Location: Washington |
| KVR Forum Index » DSP and Plug-in Development | All times are GMT - 8 Hours |
|
Printable version |
Disclaimer: All communications made available as part of this forum and any opinions, advice, statements, views or other information expressed in this forum are solely provided by, and the responsibility of, the person posting such communication and not of kvraudio.com (unless kvraudio.com is specifically identified as the author of the communication).
Powered by phpBB © phpBB Group











