Skip to content

Commit 1e5cfc8

Browse files
committed
added the "linear" keyword to voice-volume numerical scale
1 parent 447db8b commit 1e5cfc8

2 files changed

Lines changed: 84 additions & 86 deletions

File tree

css3-speech/Overview.html

Lines changed: 52 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -529,13 +529,13 @@ <h3 id=mixing-props-voice-volume><span class=secno>3.1. </span>The
529529
<tr>
530530
<td> <em>Value:</em>
531531

532-
<td>&lt;non-negative number&gt; | &lt;percentage&gt; | silent | x-soft |
533-
soft | medium | loud | x-loud | inherit
532+
<td>[&lt;non-negative number&gt; linear?] | &lt;percentage&gt; | silent
533+
| x-soft | soft | medium | loud | x-loud | inherit
534534

535535
<tr>
536536
<td> <em>Initial:</em>
537537

538-
<td>medium
538+
<td>50
539539

540540
<tr>
541541
<td> <em>Applies&nbsp;to:</em>
@@ -578,19 +578,23 @@ <h3 id=mixing-props-voice-volume><span class=secno>3.1. </span>The
578578
rel=biblioentry>[SPEECH-SYNTHESIS]<!--{{!SPEECH-SYNTHESIS}}--></a>.
579579

580580
<dl>
581-
<dt> <strong>&lt;non-negative number&gt;</strong>
581+
<dt> <strong>&lt;non-negative number&gt; (followed by the optional
582+
"linear" keyword)</strong>
582583

583584
<dd>An integer or floating point <a
584585
href="#non-negative-number-def">positive number</a> in the range
585586
&lsquo;<code class=css>0</code>&rsquo; to &lsquo;<code
586-
class=css>100</code>&rsquo;. &lsquo;<code class=css>0</code>&rsquo;
587-
represents the <em>minimum audible</em> level, and &lsquo;<code
588-
class=css>100</code>&rsquo; corresponds to the <em>maximum tolerable</em>
589-
level. &lsquo;<code class=css>50</code>&rsquo; corresponds to the user's
590-
preferred volume level. The numerical values exposed here are mapped to
591-
concrete volume levels that depend on the listening context. This allows
592-
authors to write a single style sheet that'll work in a variety of
593-
situations.
587+
class=css>100</code>&rsquo;, followed by the optional space character and
588+
"linear" keyword. The interpretation of the &lsquo;<code
589+
class=css>0</code>&rsquo; to &lsquo;<code class=css>100</code>&rsquo;
590+
scale depends on whether the "linear" keyword is used. When not used:
591+
&lsquo;<code class=css>0</code>&rsquo; represents the <em>minimum
592+
audible</em> level and &lsquo;<code class=css>100</code>&rsquo;
593+
corresponds to the <em>maximum tolerable</em> level. &lsquo;<code
594+
class=css>50</code>&rsquo; corresponds to the user's <em>preferred</em>
595+
volume level. As such, the numerical values are mapped to concrete volume
596+
levels that depend on the listening context. This allows authors to write
597+
a single style sheet that should work in a variety of situations.
594598
<p class=note>Note that actual volume levels depend on various factors,
595599
such as the listening environment and personal user preferences. The
596600
effective volume variation between &lsquo;<code
@@ -605,6 +609,11 @@ <h3 id=mixing-props-voice-volume><span class=secno>3.1. </span>The
605609
class=css>0</code>&rsquo; and &lsquo;<code class=css>100</code>&rsquo;
606610
are set to low volume levels (for example when listening discretely at
607611
night).</p>
612+
When the "linear" keyword is specified, &lsquo;<code
613+
class=css>0</code>&rsquo; maps to &lsquo;<code
614+
class=property>silent</code>&rsquo; and &lsquo;<code
615+
class=css>100</code>&rsquo; maps to the maximum possible audio volume
616+
output. The values in between are placed on a linear amplitude scale.
608617

609618
<dt> <strong>&lt;percentage&gt;</strong>
610619

@@ -618,43 +627,35 @@ <h3 id=mixing-props-voice-volume><span class=secno>3.1. </span>The
618627

619628
<dt> <strong>silent</strong>
620629

621-
<dd>No sound output at all (note that this is not equivalent to the value
622-
&lsquo;<code class=css>0</code>&rsquo;).
630+
<dd>No sound output.
623631

624632
<dt><strong>x-soft</strong>, <strong>soft</strong>,
625633
<strong>medium</strong>, <strong>loud</strong>, and
626634
<strong>x-loud</strong>
627635

628-
<dd>The value of &lsquo;<code class=property>x-soft</code>&rsquo; is
629-
mapped to &lsquo;<code class=css>0</code>&rsquo; (<em>minimum
630-
audible</em>) and &lsquo;<code class=property>x-loud</code>&rsquo; is
631-
mapped to &lsquo;<code class=css>100</code>&rsquo; (<em>maximum
632-
tolerable</em>). The value &lsquo;<code
633-
class=property>medium</code>&rsquo; corresponds to &lsquo;<code
634-
class=css>50</code>&rsquo; (<em>preferred</em> volume level) and is the
635-
default. The intermediary values &lsquo;<code
636-
class=property>soft</code>&rsquo; and &lsquo;<code
637-
class=property>loud</code>&rsquo; are mapped to &lsquo;<code
638-
class=css>25</code>&rsquo; and &lsquo;<code class=css>75</code>&rsquo;,
639-
respectively. Because the numerical volume scale may or may not be linear
640-
amplitude, this sequence of "named" values increases from &lsquo;<code
636+
<dd>The value &lsquo;<code class=property>x-soft</code>&rsquo; maps to 0,
637+
&lsquo;<code class=property>soft</code>&rsquo; maps to 25, &lsquo;<code
638+
class=property>medium</code>&rsquo; maps to 50, &lsquo;<code
639+
class=property>loud</code>&rsquo; maps to 75 and &lsquo;<code
640+
class=property>x-loud</code>&rsquo; maps to 100. When the numerical
641+
volume scale is linear, the sequence from &lsquo;<code
641642
class=property>x-soft</code>&rsquo; to &lsquo;<code
642-
class=property>x-loud</code>&rsquo;, but does not necessarily map to
643-
monotonically non-decreasing volume levels.
643+
class=property>x-loud</code>&rsquo; corresponds to monotonically
644+
non-decreasing volume levels.
644645
</dl>
645646

646647
<p class=note> Note that there is a difference between an element whose
647648
&lsquo;<a href="#voice-volume"><code
648649
class=property>voice-volume</code></a>&rsquo; property has a value of
649-
&lsquo;<code class=property>silent</code>&rsquo;, and an element whose
650-
&lsquo;<a href="#speak"><code class=property>speak</code></a>&rsquo;
651-
property has the value &lsquo;<code class=property>none</code>&rsquo;. The
652-
former takes up the same time as if it had been spoken, including any
653-
pause before and after the element, but no sound is generated (although
654-
descendants can override the &lsquo;<a href="#voice-volume"><code
655-
class=property>voice-volume</code></a>&rsquo; value and may therefore
656-
generate audio output). The latter requires no time and is not rendered in
657-
the aural dimension
650+
&lsquo;<code class=property>silent</code>&rsquo; (or "0 linear"), and an
651+
element whose &lsquo;<a href="#speak"><code
652+
class=property>speak</code></a>&rsquo; property has the value &lsquo;<code
653+
class=property>none</code>&rsquo;. The former takes up the same time as if
654+
it had been spoken, including any pause before and after the element, but
655+
no sound is generated (although descendants can override the &lsquo;<a
656+
href="#voice-volume"><code class=property>voice-volume</code></a>&rsquo;
657+
value and may therefore generate audio output). The latter requires no
658+
time and is not rendered in the aural dimension
658659
<!-- (including its descendants, which cannot override the inherited 'none' value). -->
659660
(although descendants can override the &lsquo;<a href="#speak"><code
660661
class=property>speak</code></a>&rsquo; value and may therefore generate
@@ -1498,7 +1499,7 @@ <h3 id=cue-props-cue-before-after><span class=secno>7.1. </span>The
14981499
<!-- td>&lt;uri&gt; [&lt;non-negative number&gt; | &lt;percentage&gt; | silent
14991500
| x-soft | soft | medium | loud | x-loud] | none | inherit</td -->
15001501

1501-
<td>&lt;uri&gt; [&lt;percentage&gt; | silent] | none | inherit
1502+
<td>&lt;uri&gt; [&lt;percentage&gt; | silent]? | none | inherit
15021503

15031504
<tr>
15041505
<td> <em>Initial:</em>
@@ -1546,7 +1547,7 @@ <h3 id=cue-props-cue-before-after><span class=secno>7.1. </span>The
15461547
<!-- td>&lt;uri&gt; [&lt;non-negative number&gt; | &lt;percentage&gt; | silent
15471548
| x-soft | soft | medium | loud | x-loud] | none | inherit</td -->
15481549

1549-
<td>&lt;uri&gt; [&lt;percentage&gt; | silent] | none | inherit
1550+
<td>&lt;uri&gt; [&lt;percentage&gt; | silent]? | none | inherit
15501551

15511552
<tr>
15521553
<td> <em>Initial:</em>
@@ -1623,26 +1624,23 @@ <h3 id=cue-props-cue-before-after><span class=secno>7.1. </span>The
16231624
inherited value of the &lsquo;<a href="#voice-volume"><code
16241625
class=property>voice-volume</code></a>&rsquo; property is &lsquo;<code
16251626
class=property>silent</code>&rsquo;, this percentage value has no effect
1626-
and the volume level for the audio cue is automatically resolved to
1627-
&lsquo;<code class=property>silent</code>&rsquo;. Otherwise, computed
1628-
values are calculated relative to the inherited value of the &lsquo;<a
1627+
and the volume level for the audio cue is resolved to &lsquo;<code
1628+
class=property>silent</code>&rsquo;. Otherwise, computed values are
1629+
calculated relative to the inherited value of the &lsquo;<a
16291630
href="#voice-volume"><code class=property>voice-volume</code></a>&rsquo;
16301631
property, and are then clipped to the range &lsquo;<code
16311632
class=css>0</code>&rsquo; to &lsquo;<code class=css>100</code>&rsquo;.
16321633
Refer to the &lsquo;<a href="#voice-volume"><code
16331634
class=property>voice-volume</code></a>&rsquo; property for the meaning of
1634-
the numerical scale between &lsquo;<code class=css>0</code>&rsquo; and
1635-
&lsquo;<code class=css>100</code>&rsquo; (&lsquo;<code
1636-
class=css>0</code>&rsquo; is not equivalent to &lsquo;<code
1637-
class=property>silent</code>&rsquo;).
1635+
the numerical scale from &lsquo;<code class=css>0</code>&rsquo; to
1636+
&lsquo;<code class=css>100</code>&rsquo;.
16381637
<p class=note> Note that a leading "+" sign does not denote an increment.
16391638
For example, +50% is equivalent to 50%, so the computed value equals the
16401639
inherited value times 0.5 (divided by 2), then clipped to [0,100].</p>
16411640

16421641
<dt> <strong>silent</strong>
16431642

1644-
<dd>No sound output at all (note that this is not equivalent to the value
1645-
&lsquo;<code class=css>0</code>&rsquo;).</dd>
1643+
<dd>No sound output.</dd>
16461644
<!-- dt><strong>silent</strong>,
16471645
<strong>x-soft</strong>,
16481646
<strong>soft</strong>,
@@ -2937,7 +2935,7 @@ <h2 class=no-num id=property-index>Appendix A &mdash; Property index</h2>
29372935
<tr valign=baseline>
29382936
<td><a class=property href="#cue-after">cue-after</a>
29392937

2940-
<td>&lt;uri&gt; [&lt;percentage&gt; | silent] | none | inherit
2938+
<td>&lt;uri&gt; [&lt;percentage&gt; | silent]? | none | inherit
29412939

29422940
<td>none
29432941

@@ -2952,7 +2950,7 @@ <h2 class=no-num id=property-index>Appendix A &mdash; Property index</h2>
29522950
<tr valign=baseline>
29532951
<td><a class=property href="#cue-before">cue-before</a>
29542952

2955-
<td>&lt;uri&gt; [&lt;percentage&gt; | silent] | none | inherit
2953+
<td>&lt;uri&gt; [&lt;percentage&gt; | silent]? | none | inherit
29562954

29572955
<td>none
29582956

@@ -3205,10 +3203,10 @@ <h2 class=no-num id=property-index>Appendix A &mdash; Property index</h2>
32053203
<tr valign=baseline>
32063204
<td><a class=property href="#voice-volume">voice-volume</a>
32073205

3208-
<td>&lt;non-negative number&gt; | &lt;percentage&gt; | silent | x-soft |
3209-
soft | medium | loud | x-loud | inherit
3206+
<td>[&lt;non-negative number&gt; linear?] | &lt;percentage&gt; | silent
3207+
| x-soft | soft | medium | loud | x-loud | inherit
32103208

3211-
<td>medium
3209+
<td>50
32123210

32133211
<td>all elements
32143212

css3-speech/Overview.src.html

Lines changed: 32 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -272,14 +272,14 @@ <h3 id="mixing-props-voice-volume">The 'voice-volume' property</h3>
272272
<td>
273273
<em>Value:</em>
274274
</td>
275-
<td>&lt;non-negative number&gt; | &lt;percentage&gt; | silent | x-soft | soft | medium |
276-
loud | x-loud | inherit</td>
275+
<td>[&lt;non-negative number&gt; linear?] | &lt;percentage&gt; | silent | x-soft | soft |
276+
medium | loud | x-loud | inherit</td>
277277
</tr>
278278
<tr>
279279
<td>
280280
<em>Initial:</em>
281281
</td>
282-
<td>medium</td>
282+
<td>50</td>
283283
</tr>
284284
<tr>
285285
<td>
@@ -321,22 +321,25 @@ <h3 id="mixing-props-voice-volume">The 'voice-volume' property</h3>
321321
the <code>prosody</code> element</a> from the SSML markup language [[!SPEECH-SYNTHESIS]]. </p>
322322
<dl>
323323
<dt>
324-
<strong>&lt;non-negative number&gt;</strong>
324+
<strong>&lt;non-negative number&gt; (followed by the optional "linear" keyword)</strong>
325325
</dt>
326326
<dd>An integer or floating point <a href="#non-negative-number-def">positive number</a> in the
327-
range '0' to '100'. '0' represents the <em>minimum audible</em> level, and '100' corresponds
328-
to the <em>maximum tolerable</em> level. '50' corresponds to the user's preferred volume
329-
level. The numerical values exposed here are mapped to concrete volume levels that depend on
330-
the listening context. This allows authors to write a single style sheet that'll work in a
331-
variety of situations. <p class="note">Note that actual volume levels depend on various
327+
range '0' to '100', followed by the optional space character and "linear" keyword. The
328+
interpretation of the '0' to '100' scale depends on whether the "linear" keyword is used.
329+
When not used: '0' represents the <em>minimum audible</em> level and '100' corresponds to
330+
the <em>maximum tolerable</em> level. '50' corresponds to the user's <em>preferred</em>
331+
volume level. As such, the numerical values are mapped to concrete volume levels that depend
332+
on the listening context. This allows authors to write a single style sheet that should work
333+
in a variety of situations. <p class="note">Note that actual volume levels depend on various
332334
factors, such as the listening environment and personal user preferences. The effective
333335
volume variation between '0' and '100' determines the dynamic range of the speech output,
334336
which is typically compressed in a noisy environment (the volume corresponding to '0' is
335337
nearer the value of '100'), whereas a noise-free context allows for the full range of
336338
volume levels (the gap between '0' and '100' is wider). Conversely, there may be
337339
situations whereby both '0' and '100' are set to low volume levels (for example when
338-
listening discretely at night). </p>
339-
</dd>
340+
listening discretely at night). </p> When the "linear" keyword is specified, '0' maps to
341+
'silent' and '100' maps to the maximum possible audio volume output. The values in between
342+
are placed on a linear amplitude scale. </dd>
340343
<dt>
341344
<strong>&lt;percentage&gt;</strong>
342345
</dt>
@@ -349,22 +352,19 @@ <h3 id="mixing-props-voice-volume">The 'voice-volume' property</h3>
349352
<dt>
350353
<strong>silent</strong>
351354
</dt>
352-
<dd>No sound output at all (note that this is not equivalent to the value '0').</dd>
355+
<dd>No sound output.</dd>
353356
<dt><strong>x-soft</strong>, <strong>soft</strong>, <strong>medium</strong>,
354357
<strong>loud</strong>, and <strong>x-loud</strong></dt>
355-
<dd>The value of 'x-soft' is mapped to '0' (<em>minimum audible</em>) and 'x-loud' is mapped
356-
to '100' (<em>maximum tolerable</em>). The value 'medium' corresponds to '50'
357-
(<em>preferred</em> volume level) and is the default. The intermediary values 'soft' and
358-
'loud' are mapped to '25' and '75', respectively. Because the numerical volume scale may or
359-
may not be linear amplitude, this sequence of "named" values increases from 'x-soft' to
360-
'x-loud', but does not necessarily map to monotonically non-decreasing volume levels. </dd>
358+
<dd>The value 'x-soft' maps to 0, 'soft' maps to 25, 'medium' maps to 50, 'loud' maps to 75
359+
and 'x-loud' maps to 100. When the numerical volume scale is linear, the sequence from
360+
'x-soft' to 'x-loud' corresponds to monotonically non-decreasing volume levels. </dd>
361361
</dl>
362362
<p class="note"> Note that there is a difference between an element whose 'voice-volume'
363-
property has a value of 'silent', and an element whose 'speak' property has the value 'none'.
364-
The former takes up the same time as if it had been spoken, including any pause before and
365-
after the element, but no sound is generated (although descendants can override the
366-
'voice-volume' value and may therefore generate audio output). The latter requires no time and
367-
is not rendered in the aural dimension
363+
property has a value of 'silent' (or "0 linear"), and an element whose 'speak' property has
364+
the value 'none'. The former takes up the same time as if it had been spoken, including any
365+
pause before and after the element, but no sound is generated (although descendants can
366+
override the 'voice-volume' value and may therefore generate audio output). The latter
367+
requires no time and is not rendered in the aural dimension
368368
<!-- (including its descendants, which cannot override the inherited 'none' value). -->
369369
(although descendants can override the 'speak' value and may therefore generate audio output). </p>
370370
<!-- p>
@@ -1106,7 +1106,7 @@ <h3 id="cue-props-cue-before-after">The 'cue-before' and 'cue-after' properties<
11061106
</td>
11071107
<!-- td>&lt;uri&gt; [&lt;non-negative number&gt; | &lt;percentage&gt; | silent
11081108
| x-soft | soft | medium | loud | x-loud] | none | inherit</td -->
1109-
<td>&lt;uri&gt; [&lt;percentage&gt; | silent] | none | inherit</td>
1109+
<td>&lt;uri&gt; [&lt;percentage&gt; | silent]? | none | inherit</td>
11101110
</tr>
11111111
<tr>
11121112
<td>
@@ -1161,7 +1161,7 @@ <h3 id="cue-props-cue-before-after">The 'cue-before' and 'cue-after' properties<
11611161
</td>
11621162
<!-- td>&lt;uri&gt; [&lt;non-negative number&gt; | &lt;percentage&gt; | silent
11631163
| x-soft | soft | medium | loud | x-loud] | none | inherit</td -->
1164-
<td>&lt;uri&gt; [&lt;percentage&gt; | silent] | none | inherit</td>
1164+
<td>&lt;uri&gt; [&lt;percentage&gt; | silent]? | none | inherit</td>
11651165
</tr>
11661166
<tr>
11671167
<td>
@@ -1233,17 +1233,17 @@ <h3 id="cue-props-cue-before-after">The 'cue-before' and 'cue-after' properties<
12331233
synthetic speech. The default value is '100%'. Only positive <a href="#percentage-def"
12341234
>percentage</a> values are allowed. If the inherited value of the 'voice-volume' property
12351235
is 'silent', this percentage value has no effect and the volume level for the audio cue is
1236-
automatically resolved to 'silent'. Otherwise, computed values are calculated relative to
1237-
the inherited value of the 'voice-volume' property, and are then clipped to the range '0' to
1238-
'100'. Refer to the 'voice-volume' property for the meaning of the numerical scale between
1239-
'0' and '100' ('0' is not equivalent to 'silent'). <p class="note"> Note that a leading "+"
1240-
sign does not denote an increment. For example, +50% is equivalent to 50%, so the computed
1241-
value equals the inherited value times 0.5 (divided by 2), then clipped to [0,100]. </p>
1236+
resolved to 'silent'. Otherwise, computed values are calculated relative to the inherited
1237+
value of the 'voice-volume' property, and are then clipped to the range '0' to '100'. Refer
1238+
to the 'voice-volume' property for the meaning of the numerical scale from '0' to '100'. <p
1239+
class="note"> Note that a leading "+" sign does not denote an increment. For example, +50%
1240+
is equivalent to 50%, so the computed value equals the inherited value times 0.5 (divided
1241+
by 2), then clipped to [0,100]. </p>
12421242
</dd>
12431243
<dt>
12441244
<strong>silent</strong>
12451245
</dt>
1246-
<dd>No sound output at all (note that this is not equivalent to the value '0').</dd>
1246+
<dd>No sound output.</dd>
12471247
<!-- dt><strong>silent</strong>,
12481248
<strong>x-soft</strong>,
12491249
<strong>soft</strong>,

0 commit comments

Comments
 (0)