Files

README.md

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 <![CDATA[]]>blog articles<![CDATA[]]>

Supported Hardware

  • ATmega328-based Arduinos (e.g., Uno, Pro, Pro Mini, etc.): pins 3, 9, 10
  • <![CDATA[]]>ArduTouch<![CDATA[]]>: 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 <![CDATA[]]>Webbotlib<![CDATA[]]>
  • ported to Arduino by <![CDATA[]]>Gabriel Petrut<![CDATA[]]>
  • Stephen Crane modified it to use pins other than pin 10 with the help of <![CDATA[]]>this tutorial<![CDATA[]]>
  • <![CDATA[]]>manitou48<![CDATA[]]> added support for Leonardo and ARM processors with DAC (Teensy, Due)

See Also

  • Teensy <![CDATA[]]>forum<![CDATA[]]>
  • separate port/hack for MBED ARM with DAC <![CDATA[]]>repository<![CDATA[]]>
  • Hackaday article on <![CDATA[]]>LM386 amplifiers<![CDATA[]]>
Report a bug