« Return to Thread: new panning algorithm

Re: new panning algorithm

by Joss Sanglier :: Rate this Message:

Reply to Author | View in Thread

I am resending this as looking at another post, this may not have gone
through a few days ago - sorry!

Not sure if this is any help in working out what your final effect
should achieve:

http://www.dolby.com/uploadedFiles/zz-_Shared_Assets/English_PDFs/Professional/44_SuroundMixing.pdf

This is the manual for one of the pro dolby studio units. It discusses
true speaker placement as well as use.

One of the problems in games I have noticed from a sound engineers
perspective is  that there is often little or no allowance for the
narrowing of the front stereo image that is inherent in LCRSS
configurations. I think this comes sometimes from a misunderstanding of
the role of the centre speaker in cinema and the possible misuse of it
when sitting at a computer.

In theory, in a cinema, if everyone in the audience could sit in the
precise middle of the screen, then there would be no need for a centre
speaker, as the combined left and right pairing would give the correct
balance. However, sitting left or right means that the voice would be
imbalanced. So a centre channel is added to a dedicated speaker to fix
the voice to the centre of the screen.

The down side of this is that because a stereo sound (music for
instance) also contains a lot of mono L+R information, this will also
use this channel and result in a narrowing of the stereo field.
Consequently, we often produced stereo tracks that were "wider" than
would be mixed for normal stereo to compensate, or occasionally add a
very small delay to the right channel (not good on music).

The other problem with games, (and I think this is especially affecting
MMOs now) is panning through centre which is a little too fast. In real
life, though we may turn our head slightly from left to right when
talking to someone, we perceive the sound as still being in front of us
until we move our head to either the extreme left or right. This is
something that the brain sorts out for us in some way. However, with the
artificial movement of sound created in a surround field in respect to
an avatar the brain does not have the same information as it would in a
real life situation and does not do this. In consequence the sound seems
to move very quickly from centre to left or right. I would be interested
to hear what would happen if the sound moved slightly too slowly from
centre to, say, left and then caught up as it moved round the pan.

This is not a problem we have in cinema since we are mostly showing a
static image and the audience can move their heads in the normal way and
get the normal live feel.

There is another problem in games which is the binaural or dummy-head
effect (or lack of it). Sounds behind your avatar should be duller than
the sounds ahead. There is an argument that says that since the two main
SS speakers are placed behind the listener then this real life
positioning should do the job. However, since it is common for the rear
speakers to be not directly behind but very nearly to the side of the
listener then I am not convinced this is happening appropriately.  It
was actually easier with the older true dolby stereo (LCRS). With only
one mono surround channel (even if split over several speakers) the
sound was naturally duller. But with a true stereo pair, the sound is
normally as fresh sounding as the front speakers. I am not sure anything
really could, or should be done in that situation during the mix as we
have no knowledge of the users speaker set up (and the better quality it
is, the worse it often sounds. Spending a fortune on a system is a waste
in most domestic environment - smaller is actually probably better and
more accurate).

However, it would be interesting if a switch could be added to the
output of the mix that perhaps is called something like "enhanced
binaural positioning" where is reduces the bandwidth of the SS tracks
and changed the way the front panning worked. Something like that.

Anyway - it was the manual that was the important bit! Sorry!


Joss

Christian Borss wrote:

> Am 18. Jan. 2009 um 18:05 Uhr schrieb Chris Robinson:
>
>  
>> The center channel isn't used in spatial calculations because it's a bit
>> ambiguous as to where it should be. The absolute center? Or between the front
>> speakers?
>>    
>
> The center speaker is typically placed between the front speakers as
> recommended by "ITU-R BS.775":
>
>   http://en.wikipedia.org/wiki/Surround_sound#5.1_Channel_Surround_.283-2_Stereo.29_.28digital_discrete:_Dolby_Digital.2C_DTS.2C_SDDS.29
>   http://www.sengpielaudio.com/Surround-ITU-Wiedergabe.pdf
>
> The second web site contains documents for German "Tonmeister" (sound
> engineers).
>
>  
>> Often times in movies, the center speaker is left out for sound
>> effects and used specifically as a voice track and/or some "special"
>> sounds to draw the viewer's attention to.
>>    
>
> I think, a rocket fired by an opponent in the front in a computer game
> should definitely draw the gamers attention to the front. :-)
>
>  
>> For 7.1 surround-sound setups, it should use 6 speakers (2 front, 2 side, 2
>> rear).
>>    
>
> The center speaker was introduced to improve the localization in the
> frontal region. So, why not make use of it?
>
> I saw in the source code that you use this arrangement for 6.1 surround
> setups. Thats why I used the front/side/rear-back speaker setup also in
> my code. But normaly I would expect a
>
>   1 center
>   2 front
>   2 side
>   1 rear-back
>
> speaker arrangement:
>
>   http://en.wikipedia.org/wiki/Surround_sound#6.1_Channel_Surround_.28digital_discrete:_DTS-ES.29
>
> Would you agree to change the configuration to a DTS-ES arrangement?
>
>  
>> A quick test showed it seem to work well.
>>    
>
> Great.
>
>  
>> I have question, though.. with this:
>>
>> pos = round(QUADRANT_NUM * aluFabs(im) / (aluFabs(re) + aluFabs(im)));
>>
>> what is supposed to happen if re and im are 0? Since they're the -Z and X
>> coords, this is quite possible for head-relative sources that are left at
>> 0,0,0, and given the code, it would cause a 0/0 which wouldn't be very good.
>>    
>
> In this case, DirGain is set to zero
>
>   DirGain = aluSqrt(Position[0] * Position[0] + Position[2] * Position[2]);
>
> and AmbientGain is set to MaxAmbientGain:
>
>   AmbientGain = MaxAmbientGain * (1.0 - DirGain);
>
> Thus, there is no directional sound and the sound is played back over
> all speakers instead. In ioquake3 you can hear this effect, e.g., when
> you fire your own weapons.
>
> But you are right, it would be a more clean implementation to avoid a
> division by zero.
>
>
> Ciao,
> Christian
>
> P.S.: For those of you who will attend it: See you at the 35th
>       international AES convention "Audio for Games" in London!
>  

--

 

------------------------------------------------------------------------

*Wurm Online*

/The truly original and independent MMO from OneTooFree AB/

 

*Official Website:* *http://www.wurmonline.com*

For press and other information please email press@...


This e-mail contains information which may be legally privileged,
proprietary in nature, or otherwise protected by law from disclosure,
and is intended only for the use of the Addressee(s) named above for
their private information or for use as a press release if marked as
such. If you are not the intended recipient, you are hereby notified
that any dissemination or copying of this e-mail may be strictly
prohibited. If you have received the e-mail in error, please immediately
notify by e-mail press@... and forward the original e-mail.

_______________________________________________
Openal-devel mailing list
Openal-devel@...
http://opensource.creative.com/mailman/listinfo/openal-devel

 « Return to Thread: new panning algorithm