Skip to content

jscrane/TTS

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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