Embedded Speech Synthesis is FUN!
Nowadays, while living in retirement (due to medical disabilities), I get to use my hobby of linguistics in making the tangible, SpeakJet speech synthesizer to speak anything to my own satisfaction, by use of phonemes. As a reminder to all, this blog post is of my hobby of speech synthesis and has nothing to do with speech recognition of any kind; my projects use a speaker, not a microphone.
For the curious, all of my five (5) SpeakJet microcontrollers were donated to me. Starting with the VoiceBox Shield from Drew Fustini. My next three (3) SpeakJet microcontrollers came from SparkFun Electronics, whom sponsored me. And finally, the SpeakJet Cape from Circuitco. The SpeakJet Cape is for my , also from Mr. Fustini, and it kicked off my full-service Linux-based SpeakJet development projects.
SpeakJet Developmental Parsers
My parsers are used for rapid application development (RAD) of SpeakJet applications. My "professional-grade" parsers remain as closed-source, however, my free, open-source parsers are still available. I'm hoping, soon, depending on inbound monetary donations into my PayPal account, I will make my professional-grade parsers as open-source.
Implemented into my Brag Screens
Security Idea: Speakable Passwords!
Here is an excellent feature of the SpeakJet microcontroller:
Phrases may call other phrases, sounds or controls, with nesting up to 3 levels deep.
Yes, the SpeakJet can store phrases, which can include passwords to be spoken. The great security part of this concept is, those stored phrases cannot be downloaded, therefore it is impossible for software to extract phrases, such as passwords. Software can only be used to call a phrase (a password) by it's location ID, but not be able to retrieve it. That means, a speakable password, stored as a phrase in SpeakJet's EEPROM will never be revealed in software. The stored phrase doesn't have to be the password, itself, it can be a reminder of what the password is. Since SpeakJet EEPROM data can't be extracted through the serial port, it is simply not vulnerable. And, what's more interesting, is that the SpeakJet microcontroller can be a standalone password reminder or announcer, with push buttons, etc., without having a serial port connection to any mCU/CPU. That is "security to the max!"
FAQ: Why Not Use Festival?
The Festival Speech Synthesis System is an excellent, British-made, software-only speech synthesizer that contradicts open-source hardware development, therefore it cannot be used by fine microcontrollers, such as Atmel AVR, Microchip PIC, etc. At most, Festival would need to be run in "server mode" on a computer that requires an operating system and software would have to be written to control Festival using the GPIO pins.
SpeakJet as Assistive Technology
While most people with working eyeballs would never think of the SpeakJet as an audio output device as many think of it as a novelty item (like a talking clock), very few people have realized that the SpeakJet can assistive technology for visual impairment. What usually comes to mind when talking about blind people, is they can use a buzzer alert system or run Festival on the computer [as a screen reader], but they tend to forget about the persons found in the poor communities in third-world countries, such as the Philippines. When it comes to First World and Second World hobbyists and engineers, assistive technology projects are purposely ignored. To see proof of that, just check any hobby publication or media.
Here, as a medically-disabled American hobbyist living in the Philippines, I came up with the idea of connecting a SpeakJet microcontroller to an Arduino board, and make it speak Tagalog for blind people. [Fact: Not every blind Philippine person, in the Philippines, understands English.] My idea is an assistive technology project, and I have gone from concept to product! My wish to help the disabled, is what got me sponsored!
SpeakJet is Expensive!
At USD $25 a piece, "SpeakJet is Expensive" is the immediately thought when thinking of it as a novelty item. But, if you think SpeakJet is expensive, then look at the commercialized competition:
The Text-to-Speech World language Chip Set Module TTS-EM-HD2 sells for USD $330! TextSpeak has history dating back to 1991. The TTS-EM-HD2 module consists of a microcontroller, an EEPROM, and some discrete components. The most important, and, typically the most expensive part of that module, is what's stored on that EEPROM. That EEPROM usually consists of collaborated data, composed of encoded phoneme-to-speech rules, as well as, a language-specific dictionary (for text-to-speech operations). Where did those original encodings come from? Usually from hobbyists and/or volunteers, before it went to engineers for further development. I'm only guessing, but that has been the trend over the decades. Overall, what's stored in that EEPROM is usually the result of months, years, decades of research.
Now, back to the SpeakJet, which is just a microcontroller without an EEPROM for TTS operations, the SpeakJet is a good price to learn how commercial speech synthesizer companies began. Though you can add the TTS256 chip for USD $22, it won't make it professional grade, but it will point you in the right direction. Overall, if you think about it, the SpeakJet is a starter-point for those that want to enter the world of speech synthesizer development, open hardware style.
Regardless of your programming skills, the SpeakJet is a great way to learn computer programming and/or strengthen up your programming skills. If you ever wanted to learn the origins of the Universal Serial Bus (USB) or want to practice with serial I/O, the SpeakJet is the perfect candidate. I am able to work the SpeakJet using the C programming language and the Python programming language, and that means, any programming language that can manipulate serial I/O can work the SpeakJet. In addition, the SpeakJet has GPIO pins to control and monitor the SpeakJet, itself.
Thanks for Reading!
This blog post may be my last blog post because I have retired from blogging due to arthritis pain in the joints of my fingers. SpeakJet speech synthesizer development is my retirement venture; for those that want to know more or wish to help out, please visit my laboratory page. Thanks again for reading and have a nice day!
Marcos "Kuya Marc" Miranda