Skip to content

jscrane/TTS

Folders and files

NameName
Last commit message
Last commit date
Oct 23, 2018
May 7, 2023
Oct 20, 2018
Feb 10, 2013
Oct 20, 2018
Mar 29, 2020
May 23, 2021
May 7, 2023
Feb 1, 2018
Apr 7, 2018
Feb 2, 2013
Nov 2, 2017
Sep 6, 2018
May 31, 2018

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