Creative Commons images are CC BY-NC-SA 3.0

39.95

added to your
shopping cart

quantity
Only 7 left! 7 in stock
39.95 1+ units
35.96 10+ units
31.96 100+ units

Description: The VoiceBox Shield can be mounted on top of your Arduino board to give it access to all of the capabilities of the SpeakJet voice and sound synthesizer. The Voice Box Shield uses the SpeakJet chip to convert serial commands into a great robot-sounding voice.

Populated on the VoiceBox Shield are the SpeakJet IC, a two stage audio amplifier with a potentiometer to set the gain and a standard 3.5mm audio output jack. Simply connect a speaker to the output jack and get your Arduino-bot talking with very minimal work!

You can control the SpeakJet through either its serial line, or the eight event input lines which are connected to digital pins 5-12. A 3-way jumper allows you to connect either the software (D2) or hardware (D1) TX pin of the Arduino to the SpeakJet's serial input.

Also included on the shield are a grid of 0.1" pitch through-holes for prototyping as well as the Arduino's reset button. Headers are not included, we recommend the 6 and 8-pin stackable headers.

Documents:

Replaces: DEV-09799

Comments 7 comments

  • I tried a SpeakJet for a project but it’s really bad. The old speech synth chips of the 1980s were much better (from memory).

    In the end I had to go for pre-recorded words/phrases and an MP3 player in order that people could actually recognize what was being said with sufficient accuracy because the SpeakJet is just so very, very bad.

    • Completely agree! I’ve still got an SC-01A kicking around in my junkbox somehwere… For those interested in some history, have a look at this.

      • I have a speech synthesis box with a built-in amp sitting in my basement. I’d use it…but I can’t get anything on the RS-232 port nor can I find docs. :(

        I think my box is from the same era…I forget who made it.

  • Just got this running and wanted to point out two things about the example code that could cause problems –

    1) There’s no delay between the SpeakJet’s reset and when it starts in on the first message. Since it’s set up to say “Ready” on reset, this makes the demo sound not quite like “All your base are belong to us”; add some pareidolia and I was hearing “Every your base are belong to us”.

    2) The strings created to pass to the SpeakJet are not null-terminated. This will give the SoftSerial.print call problems finding the end of each string; in practice, the string of phonemes is read, the .print() keeps looking for a \0, and continues straight on to the next string, the robot noises. It finds a null after that (because it’s the last global variable declared) and thus plays the robot noises twice. You can not count on just happening to have a null after an unterminated string, though – for instance, if the next allocated byte after an unterminated string had the value decimal 16, SpeakJet would interpret that as a Wait command – and all voicing would freeze, and it could be very hard to debug. So remember to add a 0 to the end of strings.

    Otherwise, I’m enjoying the little thing. Now to decide on an application…

  • please bring back the shield with the DIP speakjet, i cant solder the TTS256 to the speakjet now.

  • I’m kinda surprised that you didn’t add a 14th row of holes for the TTS256. The layout isn’t very cramped and this could have easily been done without having to reroute anything.

    Better yet, pre-route wires to the right pads and silk-screen the footprint of the TTS256 in the proto area to make it even easier.

    Given that the tutorial to work around this oversight is linked right from the product page, this is clearly a very common request/mod.


Related Products