
Speak errors (was Re: audio)
Posted:
Apr 20, 2013 5:55 AM


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/enus/library/ms717077%28v=vs.85%29.aspx
Furthermore, there are lots and lots of detailed specifications for texttospeech 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 "inorder tree traversal" plus a bunch of data e.g. to pronounce Cos as cosine, etc. To do a really bangup 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 inorder 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

