Speak to me
I've been playing around with the AtariVOX lately. I found it a little tedious to make my own words - I'd have to try to figure out the phonemes, then cross-reference another table to look up the actual bytes to send to the Avox. Then burn to EPROM or whatnot and see if it works.
Computers are great at tedious things, so I did a little investigation and found a public-domain text-to-phoneme converter based on a 1976 Naval research study. In fact a text-to-speech chip that can be used with the Speakjet chip uses this same algorithm. Basically, what I did is translate the phonemes in the program to Speakjet phoneme codes. As far as I could tell, such a program had not been made before, at least not for free (or programmed into a chip.)
Then there is the Phrasealator.exe program. This uses a library of a few hundred common English words that have been optimized into Speakjet allophones. It includes a dictionary file, Phrasealator.Dic, which I've also included in the .zip (it's available separately, so this should be OK.)
My program combines the two. It first searches the dictionary for the word, and uses those codes if found. If not found, it uses the Naval algorithm to convert the text to phonemes. It seems to work OK, at least as far as I've tested it (since I must use a real 2600, it's a little cumbersome to do extensive testing.) It probably needs more work as the Naval phonemes didn't always have a perfect match in the Speakjet. I have an idea how to help this along though.
Anyway, here's the source, DOS/Win32 .exe, and Mac OSX command-line program for your enjoyment (and hopefully for you to help me test!)
If I've reinvented any wheels, someone tell me...
EDIT: bug fixed; new version posted.
1 Comment
Recommended Comments