Practical Arduino Cool Projects for Open Source Hardware- P19: A schematic or circuit diagram is a diagram that describes the interconnections in an electrical or electronic device. In the projects presented in Practical Arduino, we’ve taken the approach of providing both a photograph and/or line drawing of the completed device along with a schematic. While learning to read schematics takes a modest investment of your time, it will prove useful time and time again as you develop your projects. With that in mind, we present a quick how-to in this section | CHAPTER 9 SPEECH SYNTHESIZER 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 C2 182 Biological C3 120 Biological C4 175 Biological C5 350 Biological C6 160 Biological C7 260 Biological C8 95 Biological C9 75 Biological D0 0 95 DTMF D1 1 95 DTMF D2 2 95 DTMF D3 3 95 DTMF D4 4 95 DTMF D5 5 95 DTMF D6 6 95 DTMF D7 7 95 DTMF D8 8 95 DTMF D9 9 95 DTMF D10 95 DTMF D11 95 DTMF M0 Sonar Ping 125 Miscellaneous Ml Pistol Shot 250 Miscellaneous 159 CHAPTER 9 SPEECH SYNTHESIZER Creating easily understood words using allophones can be a painstaking process. Even a short sentence can take quite a while to put together if you have to sound out every single word individually. To save you some time the speech synthesizer project page on the Practical Arduino web site has a link to a file of nearly 2 000 words and their equivalent phonemes. All you have to do is look up the word you want on the list and copy the associated codes into your software. Variations Read SpeakJet Status Because the SpeakJet has a small 64-byte input buffer it doesn t take many commands to fill it up. Remember that the input buffer stores a sequence of allophones each of which is one byte in size and represents a sound within a word or a pause between words. Although it varies depending on the word the number of allophones required to represent the sounds in a word is similar to the number of letters within it. However be aware that commands such as changes to pitch volume and rate take up two bytes in the buffer one to indicate the parameter and one to indicate the value. With just 64 bytes available a single sentence can easily fill the buffer and leave you with a sentence that s chopped off at the end. One simple way around the problem is to send a few values together as a block and insert a delay before sending the next block but that approach is fraught with danger. If the delay is too long you will hear a pause while the SpeakJet is waiting for the next batch of