All Projects → earlephilhower → Esp8266sam

earlephilhower / Esp8266sam

Speech synthesis for ESP8266 using S.A.M. port

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Esp8266sam

Tts Cube
End-2-end speech synthesis with recurrent neural networks
Stars: ✭ 213 (+7.04%)
Mutual labels:  speech, synthesis
Tts
Text-to-Speech for Arduino
Stars: ✭ 118 (-40.7%)
Mutual labels:  speech, esp8266
Voc
A physical model of the human vocal tract using literate programming, based on Pink Trombone.
Stars: ✭ 129 (-35.18%)
Mutual labels:  speech, synthesis
Dhtesp
Optimized DHT library for ESP32/ESP8266 using Arduino framework
Stars: ✭ 184 (-7.54%)
Mutual labels:  esp8266
Esp Link
esp8266 wifi-serial bridge, outbound TCP, and arduino/AVR/LPC/NXP programmer
Stars: ✭ 2,324 (+1067.84%)
Mutual labels:  esp8266
Esp8266 Demos
ESP8266示例工程集合
Stars: ✭ 190 (-4.52%)
Mutual labels:  esp8266
Lorawangateway
A LoRaWan Gateway in LUA
Stars: ✭ 197 (-1.01%)
Mutual labels:  esp8266
Openmqttgateway
MQTT gateway for ESP8266, ESP32, Sonoff RF Bridge or Arduino with bidirectional 433mhz/315mhz/868mhz, Infrared communications, BLE, Bluetooth, beacons detection, mi flora, mi jia, LYWSD02, LYWSD03MMC, Mi Scale, TPMS, BBQ thermometer compatibility, SMS & LORA.
Stars: ✭ 2,413 (+1112.56%)
Mutual labels:  esp8266
Onewirehub
OneWire slave device emulator
Stars: ✭ 195 (-2.01%)
Mutual labels:  esp8266
Blynk Server
Blynk is an Internet of Things Platform aimed to simplify building mobile and web applications for the Internet of Things. Easily connect 400+ hardware models like Arduino, ESP8266, ESP32, Raspberry Pi and similar MCUs and drag-n-drop IOT mobile apps for iOS and Android in 5 minutes
Stars: ✭ 8 (-95.98%)
Mutual labels:  esp8266
Depression Detect
Predicting depression from acoustic features of speech using a Convolutional Neural Network.
Stars: ✭ 187 (-6.03%)
Mutual labels:  speech
Scaper
A library for soundscape synthesis and augmentation
Stars: ✭ 186 (-6.53%)
Mutual labels:  synthesis
Speechtotext Websockets Javascript
SDK & Sample to do speech recognition using websockets in Javascript
Stars: ✭ 191 (-4.02%)
Mutual labels:  speech
Mongoose Os
Mongoose OS - an IoT Firmware Development Framework. Supported microcontrollers: ESP32, ESP8266, CC3220, CC3200, STM32F4, STM32L4, STM32F7. Amazon AWS IoT, Microsoft Azure, Google IoT Core integrated. Code in C or JavaScript.
Stars: ✭ 2,234 (+1022.61%)
Mutual labels:  esp8266
Lingvo
Lingvo
Stars: ✭ 2,361 (+1086.43%)
Mutual labels:  speech
React Native Dialogflow
A React-Native Bridge for the Google Dialogflow (API.AI) SDK
Stars: ✭ 182 (-8.54%)
Mutual labels:  speech
Esp Webota
Simple web based Over-the-Air (OTA) updates for ESP based projects
Stars: ✭ 189 (-5.03%)
Mutual labels:  esp8266
Irbaby
基于 ESP8266 利用 IRext 开源红外库实现万能红外遥控,已对接 MQTT 协议,可轻松接入 HomeAssistant 💣
Stars: ✭ 187 (-6.03%)
Mutual labels:  esp8266
Easybutton
Arduino library for debouncing momentary contact switches, detect press, release, long press and sequences with event definitions and callbacks.
Stars: ✭ 187 (-6.03%)
Mutual labels:  esp8266
Emotion Classification From Audio Files
Understanding emotions from audio files using neural networks and multiple datasets.
Stars: ✭ 189 (-5.03%)
Mutual labels:  speech

ESP8266SAM

Speech synthesis for ESP8266 and ESP-32 using ported SAM code

This is a port, wrapper, and update of the reverse-engineered speech synthesizer Software Automatic Mouth (SAM). Utilize it with the ESP8266Audio library to have your ESP speak via a DAC or a direct-drive speaker. No web services are required, everything from text parsing to speech generation is done directly on the ESP.

Original sources

This version has been reworked to generate full 8-bit speech formants as well as proper time-series waveforms.

Usage

You will need:

  1. The ESP8266Audio library installed in your Arduino/libraries folder ( git clone https://github.com/earlephilhower/ESP8266Audio )
  2. An audio output device compatible with ESP8266Audio. There are two described in its readme, and either the DAC or 1-transistor amplifier will work fine.

Then in your code instantiate an AudioOutput object, ->begin() it, and then simply create the SAM object and call Say().

About SAM

SAM is a very basic speech synthesizer originally developed in 1979 and ported to the Commodore 64. It was designed to run on very low memory 8-bit processors, and as such is a great for the ESP8266 with it's limited RAM.

The quality of speech isn't phenomenal. To paraphrase Samuel Johnson, "It is not done well; but you are surprised to find it done at all." The same could be said of the decompiled, disassembled, C-translated source code.

Output is fixed at 22050Hz due to some hardcoded delays to help match C64 internal timing parameters.

The voice is formant generated and can be modified by setting things such as speed, pitch, mouth and throat configuration, and even sending in phonetic codes instead of English text. See @s-macke's repository for more information.

License

While the ESP8266 wrapper is my own, the SAM software is a reverse-engineered version of a software published more than 34 years ago by "Don't ask Software".

The company no longer exists. Any attempt to contact the original authors failed. Hence S.A.M. can be best described as Abandonware (http://en.wikipedia.org/wiki/Abandonware)

As long this is the case I cannot put my code under any specific open source software license. However the software might be used under the "Fair Use" act (https://en.wikipedia.org/wiki/FAIR_USE_Act) in the USA.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].