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