Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jscrane/TTS
Arduino Text-to-Speech Library
https://github.com/jscrane/TTS
amplifier arduino circuit esp32 esp8266 lm386 node32s speech teensy text-to-speech tts uno wemos-d1-mini
Last synced: 2 months ago
JSON representation
Arduino Text-to-Speech Library
- Host: GitHub
- URL: https://github.com/jscrane/TTS
- Owner: jscrane
- Created: 2013-02-02T12:36:21.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2023-06-29T02:25:01.000Z (almost 1 year ago)
- Last Synced: 2024-01-28T01:59:11.043Z (5 months ago)
- Topics: amplifier, arduino, circuit, esp32, esp8266, lm386, node32s, speech, teensy, text-to-speech, tts, uno, wemos-d1-mini
- Language: C
- Homepage:
- Size: 444 KB
- Stars: 174
- Watchers: 25
- Forks: 47
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
Lists
- awesome-esp - TTS - A somehow good text to speech library for several Arduino devices, both ESP's included. (Libraries / Others)
README
View this project on [CADLAB.io](https://cadlab.io/project/1281).
# 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](http://programmablehardware.blogspot.ie/search/label/tts)## Supported Hardware
- ATmega328-based Arduinos (e.g., Uno, Pro, Pro Mini, etc.): pins 3, 9, 10
- [ArduTouch](https://github.com/maltman23/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](images/Arduino-LM386.png)
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](http://webbot.org.uk/iPoint/30.page)
- ported to Arduino by [Gabriel Petrut](http://www.tehnorama.ro/minieric-modulul-de-control-si-sinteza-vocala/)
- Stephen Crane modified it to use pins other than pin 10 with the help of [this tutorial](https://sites.google.com/site/qeewiki/books/avr-guide/pwm-on-the-atmega328)
- [manitou48](https://github.com/manitou48) added support for Leonardo
and ARM processors with DAC (Teensy, Due)## See Also
- Teensy [forum](https://forum.pjrc.com/threads/44587-TTS-(Text-to-Speech)-Library-Port)
- separate port/hack for MBED ARM with DAC [repository](https://developer.mbed.org/users/manitou/code/tts/)
- Hackaday article on [LM386 amplifiers](https://hackaday.com/2016/12/07/you-can-have-my-lm386s-when-you-pry-them-from-my-cold-dead-hands/)