Skip to content

jscrane/TTS

Repository files navigation

View this project on CADLAB.io.

TTS

Text-to-Speech Library for Arduino

  • checkout this project into your sketchbook/libraries folder
  • requires an amplifier on the PWM output pin (see below)
  • see blog articles

Supported Hardware

  • ATmega328-based Arduinos (e.g., Uno, Pro, Pro Mini, etc.): pins 3, 9, 10
  • ArduTouch: pin 9
  • ATmega1280-based Arduinos (e.g., Mega): pins 44, 45, 46
  • Arduino Leonardo: pin 5
  • Arduino Due: pins DAC0 or DAC1
  • Teensy 3.2: pin A14
  • Teensy 3.5, 3.6: pins A21, A22
  • Teensy LC: pin A12
  • ESP8266: pins 0 to 16 (with analogWrite())
  • ESP32: DAC1 or DAC2 (pins 25 or 26)

Amplifier

alt tag

Component choices in this circuit aren't very critical:

  • 22k (vs 27k) and 47n (vs 10n) parts in the input low-pass filter
  • 100n (vs 10u) bypass capacitor between pin 7 and gnd
  • Used the inverting input instead of the non-inverting one (although in this circuit I noticed no difference)
  • 47n (vs 100n) output snubber capacitor

Credits

  • original implementation by Clive Webster in Webbotlib
  • ported to Arduino by Gabriel Petrut
  • Stephen Crane modified it to use pins other than pin 10 with the help of this tutorial
  • manitou48 added support for Leonardo and ARM processors with DAC (Teensy, Due)

See Also