Skip to content

Make your ESP32 talk. The miniature speech amplifier shield for ESP32 robotics.

License

GPL-3.0, Unknown licenses found

Licenses found

GPL-3.0
LICENSE.md
Unknown
COPYING.md
Notifications You must be signed in to change notification settings

berrak/Arduino-Talkie-Speech-Amplifier

Repository files navigation

audio-shield

GitHub version GitHub Release Date GitHub stars GitHub issues Badge Hit Counter

Make your ESP32 talk

Give your robots a voice with the Arduino Talkie Speech Amplifier and the Arduino library Talkie. The compact size of Unexpected Maker's ESP32 TinyPICO and the speech Amplifier makes it possible to squeeze in the combination in a tiny space. In addition, the amplifier drives a small attached 8-32 Ohm speaker.

Mounting the shield on top of the TinyPICO avoids all mess with cables. With ESP32 WiFi and OTA, there is a possibility to update the code (firmware) without the need to disassemble the robot. Please, see the example directory for the OTA code sample. The amplifier has a built-in voice filter to limit unnecessary high frequencies. Bypass this with a jumper to get the total frequency of the amplifier LM4875. The second DAC, on pin 26, can be used to digitally control the Arduino Talkie Speech Amplifier's volume.

The miniature speech amplifier shield for ESP32 robotics

Let your robot use your created word or sentences, or use the pre-defined 1200+ sounds and phrases from the Talkie library. The fun begins when using the Talkie library.

Use the wav-samples-files to experiment with converting them to be playable by Talke voice playback.

Use my Wav-to-LPC conversion guide to avoid common pitfalls when converting your wav-files recordings.

Explore sounds and pre-defined words

Find talkie-vocab.sh shell script in the script directory. Use this to easily browse existing sounds, words, and phrases available once you install the Arduino library Talkie.

Board main features

The Arduino Talkie Speech Amplifier uses Texas Instrument's LM4875 chip and amplifies the DAC signal from ESP32 TinyPICO GPIO25. GPIO26 can be either connected to 3.3V for maximum gain or digitally controlled by the second DAC in the ESP32.

  • Built-in optimized speech signal input filter, but can optionally be bypassed with jumper J1 on board.
  • With the Amplifier shield, there is no risk of wiring it up incorrectly.
  • Control speaker volume from microcontroller DAC.
  • This device comes fully assembled and tested.
  • The onboard LM4875 chip is a class AB analog amplifier (mono) with up to 750 mW output.
  • The ESP32 board powers the shield and the LM4875 with 3.3V.
  • Only GPIO25 (analog in), GPIO26 (DAC-volume control), GND, and 3.3V pins connect electrically to the Amplifier shield. The remaining pins on the board are free for other usages.

voice-spectrum

Analyzing the spectral voice output reveals that amplifying higher frequencies is wasteful and does not add to the final voice output. The filter cut higher frequencies.

Planned Improvements/Changes

For planned changes, improvements, and possible encountered issues, please visit the Github issues tracker.

Recommended items to add to the board

  • Unexpected Maker's ESP32 TinyPICO microcontroller.
  • Female stacking headers for ESP32 TinyPICO.
  • Loudspeaker element, 8-32 Ohm.

Unexpected Maker ESP32 microcontroller

The new ESP32-S2 variant may work, and let me know if you try this. The Talkie Speech Amplifier Shield is not yet tested in the S2 configuration. However, do not buy the new ESP32-S3 model. The chip does not have the DAC.

Usage

amplifier-shield

Add the Amplifier shield board to the ESP82 TinyPICO so that the screw terminal is above the USB connector. Next, connect an 8-32 Ohm speaker element to the screw terminal.

  • Connect power to the shield once it is confirmed correctly plugged in!

Please, see the Arduino library installation documentation and how to install the Arduino library Talkie.

Try one of the sketches in the example directory, for example, my hello.ino or goodmorning.ino. Then, use Over-The-Air (OTA) to remotely update the ESP32 TinyPICO robot. See the example updaterobotOTA for a start.

Other usages than robotics may be a customized keyboard pad with voice reply for entering a building, adding sounds to a game, which was original use in the 70s/or early 80s, or a keyboard trainer.

Why not let your clock announce the time described in the talking clock instructable?

Note: Connect 3.3V to the Amplifier pin marked VOL (i.e., maximum gain) if not using the second DAC to control volume.

Specification for the Arduino Talkie Speech Amplifier v1.0.

  • Operating voltage: 3.3V externally or via the TinyPICO ESP32.
  • The shield size is 17.8 x 25.3 mm (0.7" x 1") and fabricated as a two-layer board.
  • Board thickness: 1.6 mm (63 mils).
  • Formfactor and pinout: Unexpected Maker TinyPICO.
  • Weight: 5 grams (0.18 ounce).
  • Height: 20 mm (0.79")

Purchase the speech audio amplifier board.

The Arduino Talkie Speech Amplifier board is available fully assembled. Tindie and Lectronz have all the purchasing details.

Tindie Lectronz

I appreciate your support.

FAQ

Q: Can I use a microphone with the speech amplifier without the ESP32 TinyPICO?

A: Theoretically, yes, but this is discouraged for several reasons. It's essential to keep the distance short between the microphone and amplifier input. All amplified system is susceptible to picking up noise from the environment, noise from built-in microphone amplifier, and ground-current loops. A breadboard setup is not recommended, which may result in unwanted buzzing or humming or even an audio positive audio feedback loop with high pitch sound in the speakers. So please, use the amplifier as a shield with the other recommended parts as described above.

Credits

Thanks to Peter Knight and the original version of the Talkie library. Thanks to Armin Joachimsmeyer for his refurbished version of the Arduino Talkie speech library.

About

Make your ESP32 talk. The miniature speech amplifier shield for ESP32 robotics.

Resources

License

GPL-3.0, Unknown licenses found

Licenses found

GPL-3.0
LICENSE.md
Unknown
COPYING.md

Stars

Watchers

Forks

Packages

No packages published

Languages