What is Dotspeak? DotSpeak is a small Java program designed to allow translation between English and English Braille.

Isn't braille just a 1:1 code? How hard can translating it be? Although about half of the characters in Braille are indeed 1:1 mappings of letters in the alphabet or punctuation marks, there are a number of nuances involved. For example, the character that designates a period will never begin a word, only end it, or in the case of an acronym, appear in the middle. As such, this character means something completely different if it comes at the beginning of a word; in this case it is translated as the prefix "dis". As well as multi-meanings such as this, braille also uses letters that stand alone to mean whole words - although in most cases the symbol for "d" just means "d", when on its own it means "do", and when preceded by different abbreviation characters, it can mean "day" or the suffix "ound" as well. Clearly, Braille is not a simple code for English characters - it has many special cases and rules which make translating it more complex than simply using a lookup table.

Can DotSpeak translate from English back to Braille as well? At the moment, no. Version 1 only includes the ability to translate from Braille to English.

Can DotSpeak translate perfectly? Not quite. Braille consists of three 'grades': Grade 1, which is simple functions like letters, punctuation, and capitalization, Grade 2, which includes abbreviations for often-used letter sequences ("ing", "dis", "wh", etc.), and Grade 3, which abbreviates whole words - for example, "afternoon" can be written as "afn". Because of the inherent difficulties in deciding which character sequences are abbreviations and which are not, DotSpeak cannot currently translate Grade 3 Braille. However, later versions will likely upgrade from Grade 2 to "Grade 2.5" by identifying words that aren't actual words (like "yrf", which means "yourself") and translating them.

How do I input braille characters? Obviously most keyboards do not include Braille characters, and few people want to learn all the alt-codes for them; plus, using such a system would be slow and inefficient. As such, DotSpeak uses a system of six toggling buttons, which are both bound to keys on the keyboard and clickable. When clicked or pressed, they turn black, signifying that there is a dot in that position. Once the buttons match the character being typed in, click the "Enter" button, and the typed character gets passed to the algorithm. Because of the nature of Braille, these characters cannot be translated until a space is typed, but once the user hits enter while all the keys are white, a space is entered and translation begins.

The DotSpeak Interface

What keyboard keys are these buttons bound to? If you click on the "Key Bindings" menu in the top left, you can see a list of all keyboard bindings.

I don't like the keybindings that come with the program, what do I do? DotSpeak comes with what I consider "optimal" key bindings, but luckily for you, it also supports user re-binding. Open up the Key Bindings menu, as above, and simply click on the function you want to re-bind. The border will turn red, indicating that the next key you press will be a rebinding action. Press whichever key you want to be bound to the selected function, the border will turn white again, and your keys are re-bound!

Where can I get DotSpeak? You can view all related downloads here.