Re: [css3-speech] voice-balance and azimuth

On 30 Jun 2011, at 01:08, fantasai wrote:

> # The ‘voice-balance’ property manipulates the distribution of audio
> # output between left and right channels in stereo-capable sound  
> devices.
>
> So.. I'm a little concerned about this definition, as we can't have
> both a 'voice-balance' property /and/ an 'azimuth' property, since
> afaict they control essentially the same thing. I think it's fair to
> assume that we'll at some point add controls for surround-sound and
> design CSS with that in mind, so that we don't paint ourselves into
> a corner here.
>
> So, if we wanted to add 'azimuth's capabilities to CSS how would that
> work? Do we want to have the current definition as well as <angle>
> combined into 'voice-balance'? Revert <number> to <angle> and define
> how it maps into 2-channel audio? Something else?


Good point.

http://dev.w3.org/csswg/css3-speech/#mixing-props-voice-balance

Note: I've always assumed that the "azimuth" and "elevation"  
properties were not carried from CSS 2.1 Aural Stylesheets to CSS3  
Speech because of complexity:

http://www.w3.org/TR/CSS21/aural.html#spatial-props

Note: SSML1.1 explicitly excludes "spatial audio" (even basic left/ 
right stereo balance), and refers (for informational purposes) to the  
Aural CSS functionality:

http://www.w3.org/TR/speech-synthesis11/#g32

I am not aware of any existing CSS speech implementation of basic left/ 
right balance, let alone of proper "spatial audio" (azimuth and  
elevation). So I think we have plenty of flexibility to change the  
current draft, and to diverge slightly from Aural CSS2.1.

The current definition of 'voice-balance' is:

<number> | left | center | right | leftwards | rightwards

Let's assume that the CSS Speech Level 3 Module ships only with simple  
stereo balance capabilities, and let's imagine that Level 4 eventually  
supports proper "spatial audio" by adding the following values for  
'voice-balance' (the goal is to ensure that Level 3 content still  
works with Level 4 user agent implementations):

<angle>
left-side, right-side
center-left, center-right
far-left, far-right
(+behind)

The old <number> values [-100, 100] can be mapped to equivalent  
<angle> values, using a simple mathematical formula.

The old 'leftwards' keyword value would still apply (with similar  
semantics), but unlike CSS 2.1, I would propose to define a separate  
"turn counter-clockwise" value for Level 4 ('leftwards' doesn't make  
sense when reaching angular values that actually "point" rightwards!).

Same remark for 'rightwards'.

The old 'center' keyword retains the same semantics (and the 'behind'  
keyword can be combined in Level4 to refer to, well, behind the  
listener instead of in front of him/her).

The old 'right' and 'left' keywords could actually still match the new  
definitions. For example, the transition from full frontal (0 degrees)  
to full right (90 degrees) is:
center -> center-right -> right -> far-right -> right-side
As you can see, 'right' is in the "middle" of the transition, which is  
perfectly acceptable (it matches the user experience with CSS Speech  
Level 3).

So to conclude, I don't think we need to change anything to the  
current Level 3 draft :)

Regards, Dan

PS (for reference):
http://www.w3.org/TR/css3-values/#angles

Received on Wednesday, 6 July 2011 20:50:09 UTC