Stereo expansion algorithm

Started by July 6, 2004
```Hi,

Can anybody point me in the direction of a decent 'stereo expansion'
algorithm (by this I mean the sort of thing commonly found in e.g.
TVs, that makes a normal stereo image sound wider than it actually
is)?

Thanks,
Jesper
```
```float mono = (left+right)*.5;
left -= amount * mono;
right -= amount * mono;

For 0. < amount <= 1.

That's basically all there is to it.

--smb

jbek@altavista.net (Jesper B. Kristensen) wrote in message
> Hi,
>
> Can anybody point me in the direction of a decent 'stereo expansion'
> algorithm (by this I mean the sort of thing commonly found in e.g.
> TVs, that makes a normal stereo image sound wider than it actually
> is)?
>
> Thanks,
> Jesper
```
```Jesper B. Kristensen wrote:

> Hi,
>
> Can anybody point me in the direction of a decent 'stereo expansion'
> algorithm (by this I mean the sort of thing commonly found in e.g.
> TVs, that makes a normal stereo image sound wider than it actually
> is)?
>
> Thanks,
> Jesper

Lets take it from half way. Suppose the signal were like FM: a mono
signal, or S(um), and the channel difference, or D(ifference). Then to
get L(eft) and R(ight), we use the relations (ignoring scale factors)

L = S - D  and   R = S + D

Of course, we can also perform   L' = S - kD  and   R' = S + kD
where the primed values have more or less separation than the unprimed
depending whether k is more or less than unity.

OK, you say, but I start with L and R.; then what? Again ignoring scale
factors, S = L + R (that's why it's the sum) and D = R - L (that's ...).

The fewer adds and subtracts you do, the healthier your signals will be,
so crank through the algebra and come up with expressions of the form
L' = L + f(k, R)
I could do it for you, but I won't unless you admit you know so little
algebra that can't do it yourself.

You don't actually need the scale factors, but you need to keep track of
where they're left out in order to get the right action for your k.

Jerry
--
Engineering is the art of making what you want from things you can get.
&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;

```
```If the original source was mono, then it seems this algorithm would result in a
softer overall level, no?  I have a Sony "boombox" that makes stereo
sounds
wider and leave mono sounds unaffected.  I wonder how this works?

BTW, another way to make something sound wider is to delay the L relative to the
R (tens of milliseconds range).  I doubt that TV's use this algorithm since it
is fairly difficult to do in the analog domain, but it does have an interesting
effect and is usually trivial to do digitally.

On a related note, I read about an algorithm used to synthesize stereo from mono
that goes like this:
L = mono + amount*mono_delayed
R = mono - amount*mono_delayed
where mono_delayed is mono delayed in the tens of milliseconds range and amount
is a scaling factor.

The main advantage of this algorithm is that it is perfectly "mono
compatible",
i.e. if played back in mono you end up with just the original mono signal (no
phase cancellation).

"Stephan M. Bernsee" <spam@dspdimension.com> wrote in message
> float mono = (left+right)*.5;
> left -= amount * mono;
> right -= amount * mono;
>
> For 0. < amount <= 1.
>
> That's basically all there is to it.
>
> --smb
>
>
> jbek@altavista.net (Jesper B. Kristensen) wrote in message
> > Hi,
> >
> > Can anybody point me in the direction of a decent 'stereo expansion'
> > algorithm (by this I mean the sort of thing commonly found in e.g.
> > TVs, that makes a normal stereo image sound wider than it actually
> > is)?
> >
> > Thanks,
> > Jesper

```
```Stephan M. Bernsee wrote:
> float mono = (left+right)*.5;
> left -= amount * mono;
> right -= amount * mono;
>
> For 0. < amount <= 1.
>
> That's basically all there is to it.

Typo? right += amount * mono; ?
>
> --smb
>
>
> jbek@altavista.net (Jesper B. Kristensen) wrote in message
>
>>Hi,
>>
>>Can anybody point me in the direction of a decent 'stereo expansion'
>>algorithm (by this I mean the sort of thing commonly found in e.g.
>>TVs, that makes a normal stereo image sound wider than it actually
>>is)?
>>
>>Thanks,
>>Jesper

Jerry
--
Engineering is the art of making what you want from things you can get.
&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;

```
```No typo. You subtract the center part of the stereo image from both
the left and right channels. This will emphasize anything that is not
present in both channels, therefore making the stereo image appear
"wider". It is true that the overall signal level drops if you have a
mono signal, but I guess you could just switch the algorithm off in
that case. Checking for mono is fairly easy, for example by making
sure fabs(left-right) is always below a certain threshold.

--smb

Jerry Avins <jya@ieee.org> wrote in message
news:<40eb15e6\$0\$3088\$61fed72c@news.rcn.com>...
> Stephan M. Bernsee wrote:
> > float mono = (left+right)*.5;
> > left -= amount * mono;
> > right -= amount * mono;
> >
> > For 0. < amount <= 1.
> >
> > That's basically all there is to it.
>
> Typo? right += amount * mono; ?
> >
> > --smb
> >
> >
> > jbek@altavista.net (Jesper B. Kristensen) wrote in message
> >
> >>Hi,
> >>
> >>Can anybody point me in the direction of a decent 'stereo expansion'
> >>algorithm (by this I mean the sort of thing commonly found in e.g.
> >>TVs, that makes a normal stereo image sound wider than it actually
> >>is)?
> >>
> >>Thanks,
> >>Jesper
>
> Jerry
```
```> BTW, another way to make something sound wider is to delay the L relative
to the
> R (tens of milliseconds range).  I doubt that TV's use this algorithm
since it
> is fairly difficult to do in the analog domain, but it does have an
interesting
> effect and is usually trivial to do digitally.

To delay L relative to R is basically the same as changing its phase (or
delaying whole periods). A simple capacitor circuit would do the trick then.
So not difficult at all ;-)
You even get this type of channel delay if you're messing up your pcb design
or using inferior components (with a huge deviation factor). Done that a
million of times ;)

Cheers,

Rob

```
```Rob Vermeulen wrote:

>>BTW, another way to make something sound wider is to delay the L relative
>
> to the
>
>>R (tens of milliseconds range).  I doubt that TV's use this algorithm
>
> since it
>
>>is fairly difficult to do in the analog domain, but it does have an
>
> interesting
>
>>effect and is usually trivial to do digitally.
>
>
> To delay L relative to R is basically the same as changing its phase (or
> delaying whole periods). A simple capacitor circuit would do the trick then.
> So not difficult at all ;-)

I think you want a delay independent of frequency. Not so easy with R-C.

> You even get this type of channel delay if you're messing up your pcb design
> or using inferior components (with a huge deviation factor). Done that a
> million of times ;)

What is "deviation factor"? Deviation from what?

Jerry
--
Engineering is the art of making what you want from things you can get.
&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;

```
```Stephan M. Bernsee wrote:

> No typo. You subtract the center part of the stereo image from both
> the left and right channels. This will emphasize anything that is not
> present in both channels, therefore making the stereo image appear
> "wider". It is true that the overall signal level drops if you have
a
> mono signal, but I guess you could just switch the algorithm off in
> that case. Checking for mono is fairly easy, for example by making
> sure fabs(left-right) is always below a certain threshold.
>
> --smb

Danke!

Jerry
--
Engineering is the art of making what you want from things you can get.
&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;

```
```Hi Stephen,

> Jerry Avins <jya@ieee.org> wrote in message
news:<40eb15e6\$0\$3088\$61fed72c@news.rcn.com>...
> > Stephan M. Bernsee wrote:
> > > float mono = (left+right)*.5;
> > > left -= amount * mono;
> > > right -= amount * mono;
> > >

Note that this degenerates to:

L -= k*R;
R -= k*L;

If k can vary from -1 to +1 then you get a control that will go from
MONO to full centre cancelation (karaoke?) which is also MONO, but
speakers out of phase.

Regards

Robert
```
```Jon Harris wrote:

> "Rob Vermeulen" <rvermeulen@arbor-audio-antispam-.com> wrote in
message
> news:10enq0ugf2k6pb4@corp.supernews.com...
>
>>>I think you want a delay independent of frequency. Not so easy with
R-C.
>>>
>>
>>R-C and R-L circuitry ofcourse.  Shall I draw a circuit for you? One that
>>works perfectly well for 100Hz - 22kHz ?
>
>
> I'd like to see a practical analog circuit that could delay a signal by say
20ms
> independent of frequency over the audio range (or at least 100Hz-22kHz).

Western Electric had one on display at the 1939 Worlds Fair with about a
10 ms delay. They were standard (but expensive) simulated long lines
used to test and exercise equipment to be used in the field. (Remember
that the long-distance record, established years before, was New York to
Denver without repeaters. Thorough understanding and adjustment of line
parameters were needed for that.) At the fair, it was connected to a
headset at one end and a microphone at the other. The visitor's
challenge was to speak coherently into the microphone while wearing the
headset. Few could manage it. The demonstrator told me that it consisted
of cascaded pi sections with m-derived end sections. It made no sense to
me at the time, but I remembered the words. "Now I are one."

Jerry
--
Engineering is the art of making what you want from things you can get.
&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;

```
```My TV has a stereo expansion mode.  After listening to it a bit, I'm fairly sure
it uses the algorithm Stephan describes.  I'm remember one time I was listening
to a musical performance and found the mix to be very bad--I could barely hear
the lead vocal and the background vocals and accompaniment music were way too
loud.  When I turned off the "wide" mode, it sounded much better
balanced.
Reduction in volume of center-panned lead vocals would be a natural consequence
of this algorithm.

"Stephan M. Bernsee" <spam@dspdimension.com> wrote in message
> No typo. You subtract the center part of the stereo image from both
> the left and right channels. This will emphasize anything that is not
> present in both channels, therefore making the stereo image appear
> "wider". It is true that the overall signal level drops if you have
a
> mono signal, but I guess you could just switch the algorithm off in
> that case. Checking for mono is fairly easy, for example by making
> sure fabs(left-right) is always below a certain threshold.
>
> --smb
>
> Jerry Avins <jya@ieee.org> wrote in message
news:<40eb15e6\$0\$3088\$61fed72c@news.rcn.com>...
> > Stephan M. Bernsee wrote:
> > > float mono = (left+right)*.5;
> > > left -= amount * mono;
> > > right -= amount * mono;
> > >
> > > For 0. < amount <= 1.
> > >
> > > That's basically all there is to it.
> >
> > Typo? right += amount * mono; ?
> > >
> > > --smb
> > >
> > >
> > > jbek@altavista.net (Jesper B. Kristensen) wrote in message
> > >
> > >>Hi,
> > >>
> > >>Can anybody point me in the direction of a decent 'stereo
expansion'
> > >>algorithm (by this I mean the sort of thing commonly found in
e.g.
> > >>TVs, that makes a normal stereo image sound wider than it
actually
> > >>is)?
> > >>
> > >>Thanks,
> > >>Jesper
> >
> > Jerry

```
```"Rob Vermeulen" <rvermeulen@arbor-audio-antispam-.com> wrote in
message
news:10enq0ugf2k6pb4@corp.supernews.com...
>
> >
> > I think you want a delay independent of frequency. Not so easy with R-C.
> >
> R-C and R-L circuitry ofcourse.  Shall I draw a circuit for you? One that
> works perfectly well for 100Hz - 22kHz ?

I'd like to see a practical analog circuit that could delay a signal by say 20ms
independent of frequency over the audio range (or at least 100Hz-22kHz).

```
```Rob Vermeulen wrote:

>>I think you want a delay independent of frequency. Not so easy with R-C.
>>
>
> R-C and R-L circuitry ofcourse.  Shall I draw a circuit for you? One that
> works perfectly well for 100Hz - 22kHz ?

The canonical pure delay is an L-C approximation to a transmission line.
I know how to build one. Even though perfection is relative, your
R-C/L-C version with a bandwidth of nearly eight octaves sounds
interesting. Please show me the circuit.

>>What is "deviation factor"? Deviation from what?
>>
>
>
> I meant cheap components, the ones that say they are 2kOhm but in fact they
> are 1,7kOhm. This is the deviation I meant.
> Perhaps I shoud have used another word.

I think the word you want is "tolerance". Sometimes I call it
"slop".

Jerry
--
Engineering is the art of making what you want from things you can get.
&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;

```
```>
> I think you want a delay independent of frequency. Not so easy with R-C.
>
R-C and R-L circuitry ofcourse.  Shall I draw a circuit for you? One that
works perfectly well for 100Hz - 22kHz ?

>
> What is "deviation factor"? Deviation from what?
>

I meant cheap components, the ones that say they are 2kOhm but in fact they
are 1,7kOhm. This is the deviation I meant.
Perhaps I shoud have used another word.

```
```Hi Stephen,

> Jerry Avins <jya@ieee.org> wrote in message
news:<40eb15e6\$0\$3088\$61fed72c@news.rcn.com>...
> > Stephan M. Bernsee wrote:
> > > float mono = (left+right)*.5;
> > > left -= amount * mono;
> > > right -= amount * mono;
> > >

Note that this degenerates to:

L -= k*R;
R -= k*L;

If k can vary from -1 to +1 then you get a control that will go from
MONO to full centre cancelation (karaoke?) which is also MONO, but
speakers out of phase.

Regards

Robert
```
```Stephan M. Bernsee wrote:

> No typo. You subtract the center part of the stereo image from both
> the left and right channels. This will emphasize anything that is not
> present in both channels, therefore making the stereo image appear
> "wider". It is true that the overall signal level drops if you have
a
> mono signal, but I guess you could just switch the algorithm off in
> that case. Checking for mono is fairly easy, for example by making
> sure fabs(left-right) is always below a certain threshold.
>
> --smb

Danke!

Jerry
--
Engineering is the art of making what you want from things you can get.
&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;

```
```Rob Vermeulen wrote:

>>BTW, another way to make something sound wider is to delay the L relative
>
> to the
>
>>R (tens of milliseconds range).  I doubt that TV's use this algorithm
>
> since it
>
>>is fairly difficult to do in the analog domain, but it does have an
>
> interesting
>
>>effect and is usually trivial to do digitally.
>
>
> To delay L relative to R is basically the same as changing its phase (or
> delaying whole periods). A simple capacitor circuit would do the trick then.
> So not difficult at all ;-)

I think you want a delay independent of frequency. Not so easy with R-C.

> You even get this type of channel delay if you're messing up your pcb design
> or using inferior components (with a huge deviation factor). Done that a
> million of times ;)

What is "deviation factor"? Deviation from what?

Jerry
--
Engineering is the art of making what you want from things you can get.
&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;

```
```> BTW, another way to make something sound wider is to delay the L relative
to the
> R (tens of milliseconds range).  I doubt that TV's use this algorithm
since it
> is fairly difficult to do in the analog domain, but it does have an
interesting
> effect and is usually trivial to do digitally.

To delay L relative to R is basically the same as changing its phase (or
delaying whole periods). A simple capacitor circuit would do the trick then.
So not difficult at all ;-)
You even get this type of channel delay if you're messing up your pcb design
or using inferior components (with a huge deviation factor). Done that a
million of times ;)

Cheers,

Rob

```
```No typo. You subtract the center part of the stereo image from both
the left and right channels. This will emphasize anything that is not
present in both channels, therefore making the stereo image appear
"wider". It is true that the overall signal level drops if you have a
mono signal, but I guess you could just switch the algorithm off in
that case. Checking for mono is fairly easy, for example by making
sure fabs(left-right) is always below a certain threshold.

--smb

Jerry Avins <jya@ieee.org> wrote in message
news:<40eb15e6\$0\$3088\$61fed72c@news.rcn.com>...
> Stephan M. Bernsee wrote:
> > float mono = (left+right)*.5;
> > left -= amount * mono;
> > right -= amount * mono;
> >
> > For 0. < amount <= 1.
> >
> > That's basically all there is to it.
>
> Typo? right += amount * mono; ?
> >
> > --smb
> >
> >
> > jbek@altavista.net (Jesper B. Kristensen) wrote in message