<br><font size=2 face="sans-serif">Thanks Marc, I agree with you that quick
start/stop times are needed. &nbsp;However, I am still trying to understand
what you mean by latency. &nbsp;I thought quick start time equals low latency.
&nbsp;Can you describe a scenario with a quick start time but (relatively)
long latency? &nbsp;Thanks, Pete</font>
<br><font size=2 face="sans-serif"><br>
=====<br>
Pete Brunet, (512) 838-4594, TL 678-4594, brunet@us.ibm.com, ws4g<br>
IBM Accessibility Architecture and Development, 11501 Burnet Road, MS 9026D020,
Austin, TX &nbsp;78758</font>
<br>
<br>
<br>
<table width=100%>
<tr valign=top>
<td width=40%><font size=1 face="sans-serif"><b>&quot;Marc Mulcahy&quot;
&lt;marc@plbb.net&gt;</b> </font>
<p><font size=1 face="sans-serif">03/07/2005 02:11 PM</font>
<td width=59%>
<table width=100%>
<tr>
<td>
<div align=right><font size=1 face="sans-serif">To</font></div>
<td valign=top><font size=1 face="sans-serif">Pete Brunet/Austin/IBM@IBMUS,
&lt;accessibility@lists.freedesktop.org&gt;</font>
<tr>
<td>
<div align=right><font size=1 face="sans-serif">cc</font></div>
<td valign=top>
<tr>
<td>
<div align=right><font size=1 face="sans-serif">Subject</font></div>
<td valign=top><font size=1 face="sans-serif">RE: [Accessibility] RE: Multimedia
framework requirements</font></table>
<br>
<table>
<tr valign=top>
<td>
<td></table>
<br></table>
<br>
<br>
<br><font size=2 color=blue face="Arial">pete, it's just another case of
needing the ability to start and stop speech immediately-- not a case of
a need for low-latency audio. &nbsp;the scenario is:</font>
<br><font size=3>&nbsp;</font>
<br><font size=2 color=blue face="Arial">* Speech is talking</font>
<br><font size=2 color=blue face="Arial">* User presses a key</font>
<br><font size=2 color=blue face="Arial">* Speech is interrupted (could
be by halting DMA and/or resetting the sound card)</font>
<br><font size=2 color=blue face="Arial">* key is echoed (synthesis is
started and audio starts streaming to the audio device)</font>
<br><font size=3>&nbsp;</font>
<br><font size=2 color=blue face="Arial">note that hardware latency isn't
a factor in either the start or stop scenario-- in the stop scenario, it's
more a factor of how fast the sound card can be reset (DMA halted). &nbsp;this
has nothing to do with hardware latency.</font>
<br><font size=3>&nbsp;</font>
<br><font size=2 color=blue face="Arial">in the start case-- the perceived
response time for the user is based on how fast the sound card can start
transfering data from RAM to the hardware audio buffer, not a factor of
how big the chunks being transferred are.</font>
<br><font size=3>&nbsp;</font>
<br><font size=2 color=blue face="Arial">When you start mixing in software,
the latency of the software mixer does play a factor-- since the stream
to the soundcard is then continuous. &nbsp;but when characterizing the
accessibility requirement, I think specifying low-latency is the wrong
terminology-- what we need is quick start and shut up times.</font>
<br><font size=3>&nbsp;</font>
<br><font size=2 color=blue face="Arial">Marc</font>
<br><font size=2 face="Tahoma">-----Original Message-----<b><br>
From:</b> accessibility-bounces@lists.freedesktop.org [mailto:accessibility-bounces@lists.freedesktop.org]<b>On
Behalf Of </b>Pete Brunet<b><br>
Sent:</b> Monday, March 07, 2005 12:24 AM<b><br>
To:</b> accessibility@lists.freedesktop.org<b><br>
Subject:</b> [Accessibility] RE: Multimedia framework requirements<br>
</font>
<br><font size=2 face="sans-serif"><br>
Marc, How does the need for instant echoing of keyed characters when entering
text fit in with this situation? &nbsp;Thanks, Pete</font><font size=3>
</font><font size=2 face="sans-serif"><br>
<br>
=====<br>
Pete Brunet, (512) 838-4594, TL 678-4594, brunet@us.ibm.com, ws4g<br>
IBM Accessibility Architecture and Development, 11501 Burnet Road, MS 9026D020,
Austin, TX &nbsp;78758</font><font size=3> <br>
</font><font size=2 face="sans-serif"><br>
----------------------------------------------------------------------</font><font size=3>
</font><font size=2 face="sans-serif"><br>
Date: Sat, 5 Mar 2005 17:55:27 -0700</font><font size=3> </font><font size=2 face="sans-serif"><br>
From: &quot;Marc Mulcahy&quot; &lt;marc@plbb.net&gt;</font><font size=3>
</font><font size=2 face="sans-serif"><br>
Subject: RE: [Accessibility] Multimedia framework requirements</font><font size=3>
</font><font size=2 face="sans-serif"><br>
To: &quot;Gary Cramblitt&quot; &lt;garycramblitt@comcast.net&gt;,</font><font size=3>
</font><font size=2 face="sans-serif"><br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;accessibility@lists.freedesktop.org&gt;</font><font size=3>
</font><font size=2 face="sans-serif"><br>
Message-ID: &lt;KKEGJCDELINGIGICHANAGEKBEDAA.marc@plbb.net&gt;</font><font size=3>
</font><font size=2 face="sans-serif"><br>
Content-Type: text/plain; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; charset=&quot;iso-8859-2&quot;</font><font size=3> <br>
</font><font size=2 face="sans-serif"><br>
Well, for what it's worth, here is my $.02.</font><font size=3> <br>
</font><font size=2 face="sans-serif"><br>
1. We in the accessibility community will never succeed in trying to</font><font size=3>
</font><font size=2 face="sans-serif"><br>
re-invent the multimedia server. &nbsp;There have been many attempts by
people</font><font size=3> </font><font size=2 face="sans-serif"><br>
with expertise in multimedia with varying degrees of success. &nbsp;So
I think</font><font size=3> </font><font size=2 face="sans-serif"><br>
the right approach is to focus on selecting an existing solution that comes</font><font size=3>
</font><font size=2 face="sans-serif"><br>
closest to what we need, and either living with it, or proposing changes</font><font size=3>
</font><font size=2 face="sans-serif"><br>
which will bring it closer to what we need.</font><font size=3> <br>
</font><font size=2 face="sans-serif"><br>
2. The biggest oversight in gnome-speech was that it did not directly handle</font><font size=3>
</font><font size=2 face="sans-serif"><br>
the audio coming out of software synthesizers. &nbsp;Given my experience
with</font><font size=3> </font><font size=2 face="sans-serif"><br>
several commercial and open source speech engines, I came to the conclusion</font><font size=3>
</font><font size=2 face="sans-serif"><br>
that the speech framework *must* have control over the audio samples and</font><font size=3>
</font><font size=2 face="sans-serif"><br>
where they go. &nbsp;If we leave it up to the speech engines, they will
all</font><font size=3> </font><font size=2 face="sans-serif"><br>
implement things differently, and we have much less of a good chance of</font><font size=3>
</font><font size=2 face="sans-serif"><br>
providing a good experience for the end user. &nbsp;Having control over
the audio</font><font size=3> </font><font size=2 face="sans-serif"><br>
gives us better control over quick startup and stop times, as well as the</font><font size=3>
</font><font size=2 face="sans-serif"><br>
ability to route speech to diferent destinations-- files, headsets,</font><font size=3>
</font><font size=2 face="sans-serif"><br>
speakers, telephone lines, etc.</font><font size=3> <br>
</font><font size=2 face="sans-serif"><br>
3. To my mind, ALSA comes the closest to what we need in an audio framework</font><font size=3>
</font><font size=2 face="sans-serif"><br>
on Linux. &nbsp;It's now standard, and provides methods for mixing audio
streams</font><font size=3> </font><font size=2 face="sans-serif"><br>
on soundcards which can't do it in hardware. &nbsp;The prioritization of
audio--</font><font size=3> </font><font size=2 face="sans-serif"><br>
I.E., muting the MP3 player when the computer needs to speak something
or</font><font size=3> </font><font size=2 face="sans-serif"><br>
when a user receives an internet phone call, is the only piece which appears</font><font size=3>
</font><font size=2 face="sans-serif"><br>
to be missing.</font><font size=3> <br>
</font><font size=2 face="sans-serif"><br>
Another audio-related aside... &nbsp;I think there's been some</font><font size=3>
</font><font size=2 face="sans-serif"><br>
mischaracterization of a requirement. &nbsp;Everyone seems to suggest that
what</font><font size=3> </font><font size=2 face="sans-serif"><br>
we need is low-latency in an audio server or environment, and I'm not</font><font size=3>
</font><font size=2 face="sans-serif"><br>
convinced that this is the case. &nbsp;You need low-latency, or at least
good</font><font size=3> </font><font size=2 face="sans-serif"><br>
synchronization, if for example you want to animate a character using</font><font size=3>
</font><font size=2 face="sans-serif"><br>
text-to-speech as the voice. &nbsp;But, I think from an accessibility point
of</font><font size=3> </font><font size=2 face="sans-serif"><br>
view, what we really need is quick start and shut up times, not necessarily</font><font size=3>
</font><font size=2 face="sans-serif"><br>
low latency, although low latency is better. &nbsp;For example, from a
blind</font><font size=3> </font><font size=2 face="sans-serif"><br>
usability point of view, I don't care if the ap sends the sound card a
128</font><font size=3> </font><font size=2 face="sans-serif"><br>
KB buffer of audio or a 1 KB buffer of audio, as long as the sound stops</font><font size=3>
</font><font size=2 face="sans-serif"><br>
immediately when I press a key, and as long as it starts immediately when</font><font size=3>
</font><font size=2 face="sans-serif"><br>
there's something to be spoken.</font><font size=3> <br>
</font><font size=2 face="sans-serif"><br>
My experience shows that low-latency is in fact not necessarily desirable</font><font size=3>
</font><font size=2 face="sans-serif"><br>
when working with speech. &nbsp;Presumably speech is a background process
which</font><font size=3> </font><font size=2 face="sans-serif"><br>
goes on while other more intensive tasks are happening in the foreground--</font><font size=3>
</font><font size=2 face="sans-serif"><br>
copying a file, filtering audio, or something of that sort. &nbsp;the lower
the</font><font size=3> </font><font size=2 face="sans-serif"><br>
latency, the harder it is to keep speech happy in the background, especially</font><font size=3>
</font><font size=2 face="sans-serif"><br>
during periods of high disk activity or network load.</font><font size=3>
<br>
</font><font size=2 face="sans-serif"><br>
Rather than having to feed the soundcard 1 K blocks of data, I'd rather</font><font size=3>
</font><font size=2 face="sans-serif"><br>
synthesize 64 K of data, and dump it to the sound card, and let the DMA</font><font size=3>
</font><font size=2 face="sans-serif"><br>
controller transfer it while the processor does something else. &nbsp;and
as long</font><font size=3> </font><font size=2 face="sans-serif"><br>
as I can shut it up immediately, the user doesn't know the difference.</font><font size=3>
<br>
</font><font size=2 face="sans-serif"><br>
Marc</font><font size=3> <br>
</font><font size=2 face="sans-serif"><br>
-----Original Message-----</font><font size=3> </font><font size=2 face="sans-serif"><br>
From: accessibility-bounces@lists.freedesktop.org</font><font size=3> </font><font size=2 face="sans-serif"><br>
[mailto:accessibility-bounces@lists.freedesktop.org]On Behalf Of Gary</font><font size=3>
</font><font size=2 face="sans-serif"><br>
Cramblitt</font><font size=3> </font><font size=2 face="sans-serif"><br>
Sent: Saturday, March 05, 2005 6:20 AM</font><font size=3> </font><font size=2 face="sans-serif"><br>
To: accessibility@lists.freedesktop.org</font><font size=3> </font><font size=2 face="sans-serif"><br>
Subject: Re: [Accessibility] Multimedia framework requirements</font><font size=3>
<br>
<br>
</font><font size=2 face="sans-serif"><br>
On Friday 04 March 2005 03:43 pm, Hynek Hanke wrote:</font><font size=3>
</font><font size=2 face="sans-serif"><br>
&gt; 2 Audio requirements</font><font size=3> <br>
</font><font size=2 face="sans-serif"><br>
You may want to think about supported audio formats. &nbsp;Most existing
synths</font><font size=3> </font><font size=2 face="sans-serif"><br>
seem to produce .wav files (Microsoft riff) or .au.</font><font size=3>
<br>
</font><font size=2 face="sans-serif"><br>
Also, there's the issue of how to deliver the audio to the audio framework.</font><font size=3>
</font><font size=2 face="sans-serif"><br>
Streams could be more efficient than files? &nbsp;The TTS API discussion
has this</font><font size=3> </font><font size=2 face="sans-serif"><br>
as an unresolved item.</font><font size=3> <br>
</font><font size=2 face="sans-serif"><br>
--</font><font size=3> </font><font size=2 face="sans-serif"><br>
Gary Cramblitt (aka PhantomsDad)</font><font size=3> </font><font size=2 face="sans-serif"><br>
KDE Text-to-Speech Maintainer</font><font size=3> </font><font size=2 face="sans-serif"><br>
http://accessibility.kde.org/developer/kttsd/index.php</font><font size=3>
<br>
</font><font size=2 face="sans-serif"><br>
------------------------------</font>
<br>