Speak errors (was Re: audio)
- To: mathgroup at smc.vnet.net
- Subject: [mg130548] Speak errors (was Re: audio)
- From: Richard Fateman <fateman at cs.berkeley.edu>
- Date: Sat, 20 Apr 2013 05:44:29 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- Delivered-to: l-mathgroup@wolfram.com
- Delivered-to: mathgroup-newout@smc.vnet.net
- Delivered-to: mathgroup-newsend@smc.vnet.net
- References: <17744967.14121.1366277874273.JavaMail.root@m06> <kkqjsk$nom$1@smc.vnet.net>
The audio etc subject line was sufficient to get me to try Speak[],
and I immediately found two serious errors.
{Speak[x*(x + b*(c + x + z))], Speak[x*(x + b*(c + x) + z)]}
show that Mathematica's Speak program is inadequate to distinguish
two distinct mathematical expressions.
SpokenString tells us they are the same but this is a lie:
{"x times the quantity x plus b times the quantity c plus x plus z",
"x times the quantity x plus b times the quantity c plus x plus z"}
oops.
The other is that Mathematica does not know how to pronounce the
A in A+B. What you really want is something like Hay plus Bee.
Not Ahh plus Bee.
Much of the solution to this speaking issue can be resolved quite
without Mathematica because (I suspect) common browsers are happy
to speak phrases, numbers, etc, directly from XML. See
http://msdn.microsoft.com/en-us/library/ms717077%28v=vs.85%29.aspx
Furthermore, there are lots and lots of detailed specifications for
text-to-speech that are quite inaccessible in the current Mathematica
design.
Also for what it is worth, there are programs to utter mathematics (into
XML)
CORRECTLY. Fundamentally, one needs only a few lines of code to do
"in-order tree traversal" plus a bunch of data e.g. to pronounce Cos as
cosine, etc. To do a really bang-up job one should diddle with the
speed, volume, and such details as to maybe use SPELLING to pronounce
certain variable names.
The current program fails on the in-order tree traversal, apparently.
On the larger issue, of getting kindergarten children to pronounce the
numbers from 1 to 10. Uh, do you really need to use a computer? Running
Mathematica?
RJF