[sdiy] Pan laws - logarithmic or linear? (SSM2164 stereo panning)

cheater cheater cheater00 at gmail.com
Mon Feb 15 20:13:07 CET 2010


The first one was sin(x)+cos(x), the other one was the logarithmic
response which we've found earlier on.

The 'problem' comes from the fact that we have our center point at
-3dB for each channel, which is not the -6 that is equal power. If it
were -6 then both signals would be 3dB quieter at the center and hence
there would be no peak.

I heard the background of using -3 is that people will use -3 because
of problems with stereo playback, i.e. speakers will normally sound
different than ideal. But I don't know the full the technical
background of this.

Maybe one of the reasons is that the Hi-Fi's don't have so much
headroom and losing those 3 decibels is actually a true problem, which
I can understand.

D.

On Mon, Feb 15, 2010 at 18:36, Tom Wiltshire <tom at electricdruid.net> wrote:
> I don't know what you've graphed there, but those don't look right. The idea
> is that the graph should be flat across from left to right, representing an
> equal power independent of pan position (hence the sin/cos equal power
> mixing).
>
> Have a look at the graphs in the THAT Corp datasheet (below). They don't
> manage to get it completely flat, but their attempt is pretty close.
>
> Could the problem be something to do with the graphs being linear, whereas
> we're working in decibels and summing power not amplitude?
>
> T.
>
> On 15 Feb 2010, at 14:50, cheater cheater wrote:
>
>> Cos/Sin are equal-power mixing. I am not sure if they would work well
>> for panning!
>>
>> Compare the summed power from the left and right channel for sin and log
>> laws:
>>
>>
>> http://www.wolframalpha.com/input/?i=plot+(sin(x*pi%2F2)%2Bcos(x*pi%2F2))+from+0+to+1
>>
>>
>>
>> http://www.wolframalpha.com/input/?i=plot+0.5281+*+log(((2x%2B1)+%2F+0.3544212)+-1.821502)+%2B+0.5281+*+log(((2(1-x)%2B1)+%2F+0.3544212)+-1.821502)+from+0+to+1
>>
>>
>> If you scroll the second one down just enough so that graphs in both
>> pages are on the same height on your monitor display, and flick
>> quickly enough between tabs, you will notice that the log law is
>> 'fuller' which means that the extreme stereo separation starts
>> happening further. Conversely the sine law graph has a more pronounced
>> peak which means that the sound will suddenly 'appear' in the center.
>>
>> For example, the log law reaches 90% of the maximum output only when
>> your pan position reaches 16,9969..%, whereas the sin law only reaches
>> it when your pan position reaches 21.2867...%, so the virtual object
>> has to 'travel' 50% further, so to speak, and then it 'shows up'.
>>
>>
>> http://www.wolframalpha.com/input/?i=solve+0.5281+*+log(((2x%2B1)+%2F+0.3544212)+-1.821502)+%2B+0.5281+*+log(((2(1-x)%2B1)+%2F+0.3544212)+-1.821502)+%3D+0.9*sqrt(2)%2C+x%3E0%2C+x+%3C+0.5
>>
>>
>> http://www.wolframalpha.com/input/?i=solve+(sin(x*pi%2F2)%2Bcos(x*pi%2F2))+%3D+0.9*sqrt(2)%2C+x%3E0%2C+x%3C+0.5
>>
>> Terry, what are the laws used for positioning in a 10.2 system? I'll
>> bet you know, and I'm sure you know someone who knows :-)
>>
>> D.
>>
>> On Mon, Feb 15, 2010 at 13:58, Tom Wiltshire <tom at electricdruid.net>
>> wrote:
>>>
>>> Thanks Oscar, that is useful.
>>>
>>> I've been experimenting with various functions to try and get something
>>> that
>>> sounds good, and I'm getting closer. I've tried cos/sine curves, and
>>> various
>>> quadratics. My current function is similar to the soft-knee they show in
>>> this datasheet, but I put the knee in the centre, whereas they have it
>>> further over to one side.
>>> I'll try adjusting it like they show and see if that helps.
>>>
>>> At least with a lookup table, I'm not struggling to find a hardware
>>> implementation for any given function. If I can plot it, I can do it -
>>> simple. Digital does have it's uses.
>>>
>>> Thanks again,
>>> Tom
>>>
>>>
>>> On 15 Feb 2010, at 12:12, Oscar Salas wrote:
>>>
>>>> Maybe is useful to you the THAT application note 120: "VCAs in a Pan
>>>> Potentiometer Application" This is made with the VCAs 2180 that are also
>>>> logarithmic.
>>>>
>>>> www.thatcorp.com/datashts/dn120.pdf
>>>>
>>>> Regards,
>>>> Oscar.
>>>>
>>>>
>>>>
>>>> --- On Sun, 2/14/10, Tom Wiltshire <tom at electricdruid.net> wrote:
>>>>
>>>>> From: Tom Wiltshire <tom at electricdruid.net>
>>>>> Subject: [sdiy] Pan laws - logarithmic or linear? (SSM2164 stereo
>>>>> panning)
>>>>> To: "synth diy" <synth-diy at dropmix.xs4all.nl>
>>>>> Date: Sunday, February 14, 2010, 10:16 PM
>>>>> Hi all,
>>>>>
>>>>> I wonder if someone can help me get something clear in my
>>>>> head. I'm getting muddled up between logarithmic and linear
>>>>> scales.
>>>>>
>>>>> I'm trying to implement a sensible-sounding pan on my dual
>>>>> stereo SSM2164 VCA. This is considerably complicated by the
>>>>> fact that the SSM2164 has a log response on its control
>>>>> input. The effect of this is that if you simply fade down
>>>>> the left channel linearly whilst fading up the right channel
>>>>> linearly, you get a massive hole in the middle. The sound
>>>>> moves a little towards the centre, but disappears. Finally
>>>>> it re-emerges over by the right speaker.
>>>>>
>>>>> I understand that the classic pan law is 3dB down in the
>>>>> middle. In theory, it should need to be 6dB down, but in
>>>>> practice 3dB is usually enough.
>>>>> This reduction is achieved by using something that looks
>>>>> like a cosine curve from 0 to Pi/2 on the left channel, and
>>>>> the same reversed on the right. In the centre, both channels
>>>>> are at about 2/3rds or 3/4 of full output.
>>>>>
>>>>> Now what I don't understand is what the Y-scale is on this
>>>>> cosine graph - is it logarithmic or linear?
>>>>>
>>>>> I'm controlling the two VCA channels from software using a
>>>>> 12-bit DAC, so what I'm going to finish up doing is using a
>>>>> lookup table to compensate for the log control response and
>>>>> give me something more like the function I'm after. clues as
>>>>> to what this table should look like appreciated.
>>>>>
>>>>> I think I might be suffering from Sunday night burnout.
>>>>> I've been developing this circuit all weekend, but now I've
>>>>> got a 'Pan' variable and a 'Volume' variable, and I've got
>>>>> to convert them into a 'Left CV' and a 'Right CV' and the
>>>>> response of those two CVs is logarithmic and it's all just
>>>>> muddling up in my head.
>>>>>
>>>>> The 'design process' wisdom was to go and take a break,
>>>>> right? I'm on it....
>>>>>
>>>>> Thanks,
>>>>> Tom
>>>>> _______________________________________________
>>>>> Synth-diy mailing list
>>>>> Synth-diy at dropmix.xs4all.nl
>>>>> http://dropmix.xs4all.nl/mailman/listinfo/synth-diy
>>>>>
>>>>
>>>>
>>>>
>>>>
>>>
>>> _______________________________________________
>>> Synth-diy mailing list
>>> Synth-diy at dropmix.xs4all.nl
>>> http://dropmix.xs4all.nl/mailman/listinfo/synth-diy
>>>
>
>



More information about the Synth-diy mailing list