MathSpeak currently has 4 defined variables that determine how mathematical expression will be rendered. They are:
- Semantic Interpretation
The Verbosity variable currently has two settings, "verbose" and "brief." This variable only affects the lexicon used, with the brief verbosity having more terse pronunciations. For example, for the fraction "x / y," verbose would say "begin-fraction x over y end-fraction," while brief would say "b-frac x over y end-frac." For uncommon symbols, there is often no difference between verbose and brief. The verbosity variable was created so that "verbose" would be easier to learn initially and "brief" allows a smooth transition to a more efficient pronunciation that is easier to understand complex equations.
MathSpeak sometimes relies on shortcut / exception rules that makes math easier to say. This can make it some expressions confusing at first. Therefore, the Explicitness variable was created so that expressions could be understood without knowing these exceptions. The default setting of the Explicitness variable is "off" and currently the only other setting is "on." As an example, with Explicitness off the variable x with a subscript of 1 is spoken as "x 1." If the listener finds this confusing they can turn on Explicitness and get "x subscript 1."
Semantic Interpretation (SI) is a variable that is also takes the values of either "on" or "off." Semantic Interpretation adds additional rules that allow math to be spoken more naturally and when possible, conveys expressions by what they mean instead of what they look like. Take the example of numeric fractions such as "5/8." Without SI it would spoken as "begin-fraction 5 over 8 end-fraction," and with SI it would be spoken as "five-eighths." As another example take the expression "|x|." Without SI, it would be spoken as "vertical-line x vertical-line." With SI, it would be spoken as "the absolute value of x."
The Language variable currently only allows English. There are plans for MathSpeak to be converted into Spanish. The plan is for the different languages differ only in the lexicon that is used, such that there is a one-to-one mapping between languages.
If you go to the examples you can modify these variables directly by the drop down boxes on the left sidebar.
The MathSpeak lexicon has come great strides towards completion. The most common mathematical expressions can be converted into MathSpeak without problems. More complex expressions and expressions that have a visual layout are currently under heavy development. The lexicon is based on the following sources:
- Nemeth Braille Code for Mathematics and Science
- Team members
Since Nemeth Braille is Braille and not typically spoken Nemeth Braille has a much greater influence on grammatical rules than the lexicon. However, the lexicon and grammatical rules are not inseparable. Due to the limited number of symbols in Braille, Nemeth Braille sometimes has to have special symbols and rules to deal with it. For example, a numeric indicator sometimes has to be used. Since speech is not limited in this aspect, it does not make sense to implement these special symbols and rules. There are also cases where speech may be limited where Nemeth isn't. For example, Nemeth has two commas, a regular comma and a comma that preserves script levels. In speech, there is only one common name for "comma," so it makes sense to combine these types of commas instead of inventing a new word for a script level preserving comma.
Unicode is the international standard for encoding text and symbols, and as such it has influence on the lexicon. Unless there is a strong need to create a standardized symbol that exists outside of Unicode, such a symbol will not be in the MathSpeak lexicon. Instead, it will be described as a transcription. For example, the Nemeth book has a symbol of a church. In this case, the transcription of "picture of a church" might be used in place of the symbol.
However, both Unicode and Nemeth Braille are non-verbal encodings, and as such they don't directly determine what is actually spoken. The MathSpeak team, which includes experts in linguistics and math education and researchers that are conducting a study on MathSpeak, work to fill these gaps. See the team page for more information about the MathSpeak team.
Go to the examples page to learn more about the current MathSpeak lexicon.
Although the lexicon itself must be developed purely from a standpoint of linguistic and pedagogical concerns, reducing the language of MathSpeak into practice may require further modifications. In partnership with the Purdue linguistic expert, gh will investigate modifications to the lexical basis set based on the realities of computer-based speech rendering. Certain words or phrases may not be fully suitable for computer audio rendering due to problems with enunciation or pronunciation, discriminability, and so forth. The changes made during this stage of the research will be subtle but important changes designed to maximize the effectiveness of the MathSpeak™ TTS engine being developed in parallel.
MathSpeak™ will not be merely a lexical basis set alone but a true language, replete with rules for grammar and prosody. Purdue's linguistic expert will guide gh in assembling the necessary grammatical rules and other linguistic considerations needed for eventual deployment as a true language. Prior research into the rules for building a computer-based language demonstrates that grammatical rules are of equal importance to lexicon when designing computer parsing algorithms for language generation . The original intent of MathSpeak™ as designed by Dr. Nemeth was to create a so-called "zero-zero" grammar that would give readers complete contextual information at each word in the audio stream, without requiring them to wait for later modifiers. In the above example with multiple nested super- and sub-scripts, the listener can understand at each word in the stream what level of super- or sub-script is current. This allows a user to focus on the actual math content and not on memorizing complex level changes. Such an approach is also conducive to computer-based navigation, where the presence of a "cursor" allows a reader to control navigation through the equation or formula. The end goal will be a complete MathSpeak™ language ready for enablement using the MathSpeak™ TTS engine in a variety of Digital Talking Book products. Dr. Wilbur will assist with the linguistic analysis and grammatical structure necessary to make MathSpeak as accurate and intelligible as possible in as great a variety of communicative contexts as possible. Her linguistic expertise in syntax will be applied to this project in a systematic way.