MathPlayer 3: Naturally spoken math in 15 languages!
The recent release of MathPlayer 3 introduced great advances in math-to-speech technology. Now the words used for different math notations are much more natural than those used by previous versions of MathPlayer. In addition, the words and phrases used can be tailored to a user's needs. (I'll talk about customization of speech in a later blog post.)
The speech generation used in MathPlayer 3 is built on a pattern matching language. Using the rule language, specialized speech rules can be written that produce natural-sounding speech. For example, f(x) might be spoken by a simplistic math-to-speech system as "f open parenthesis x close parenthesis", but most teachers and students would speak it as "f of x". The latter is much more understandable, and MathPlayer is able to generate that naturally spoken math. Similarly, simple math-to-speech systems might speak the mixed fraction 1 2/3 as "one start fraction two over three end fraction", but most teachers, students, and MathPlayer 3 would speak it as "one and two thirds". A final example of specialized rules involves units such as feet and meters. Expressions such as 3 m/s are spoken as "three meters per second", not the simplistic and less comprehensible "3 start fraction m over s end fraction".
MathPlayer has thousands of specialized speech rules to make the math sound more natural. These rules were not developed in a vacuum, and I want to take the time in this post to thank our grant partner ETS (in particular Beth Brownstein and Lois Frankel) and the high school summer interns from the Portland Saturday Academy (Jeffrey Zhang, Brian Eisner, Benjamin Lin) who helped develop and write the speech rules. Since I'm mentioning Saturday Academy interns, I also want to include Dana Li who wrote the first two MathPlayer translations (Spanish and Chinese) and who had to do a lot of rewriting as we figured out how to structure rules to make translations easier. Lastly I want to thank the hundreds of people who patiently listened to me present speech options to them and tried very hard to seem interested.
One of the really exciting features of MathPlayer 3 is that the speech includes 15 languages: Chinese, Czech, Danish, Dutch, English, Finnish, French, German, Greek, Icelandic, Italian, Japanese, Norwegian, Spanish and Swedish! For the most part, these translations were done by volunteers who stepped forward to help make math accessible in their language. I'm sure the teachers, students and their families who now have access to mathematical expressions in those languages will be very grateful for your work!
I learned a lot while working with these great volunteers. For example, in Japan and China, people speak fractions as 'b under a' which is the opposite order from that used in English and other Western languages ('a over b'). I learned another interesting language fact from the Czech volunteer. MathPlayer contains rules to speak the singular and plural forms of numbers (e.g, "one fifth" and "three fifths"), but in Czech, there are two forms for plural. One form is for the numbers 2-4 and another form is for numbers greater than four. MathPlayer's flexible rule system meant that we could add in those differences so that the phrases used in each language are tailored to that language.
Although MathPlayer supports 15 languages, there are many, many more languages out there for which we don't have a translation. If you or someone you know would like to make math accessibility in one of the unsupported languages a reality, please send us email at firstname.lastname@example.org. Fame, but not fortune awaits you...