Realistic TTS

Hi,
I am building a project that gets information on the internet (weather, events planned for the day, time, etc) and then reads that information to you. I don't believe it will be too hard to get the information, however, converting the information (which will be as a string) to realistic speech is what I am stumped on. I have looked into many ways of going about it, but all of the projects have speech that sounds like a robot. I looked into Amazon Polly and Microsoft Azures TTS but I am unsure if using their services would work. Any ideas on how to create realistic speech would be great. -I am using an Arduino Uno and the Arduino IDE

Thanks,
Jayden

The TTS parameters can be tuned. You can adjust so much to move the sound away from the standard robot sound.

You can also add more punctuation for micro-pauses and emphasis. Read up on the documentation.

A funny story was when Microsoft gave Professor Hawking an updated speech processor he made them change it to sound like his old unit because everyone was used to that as the sound of his voice.

Or record lots of little .mp3 files of yourself saying "one" "two" ...

MorganS:
The TTS parameters can be tuned. You can adjust so much to move the sound away from the standard robot sound.

You can also add more punctuation for micro-pauses and emphasis. Read up on the documentation.

A funny story was when Microsoft gave Professor Hawking an updated speech processor he made them change it to sound like his old unit because everyone was used to that as the sound of his voice.

Or record lots of little mp3 files of yourself saying "one" "two" ...

I have looked into that, however, I was wondering whether there is a simpler option (and less time consuming). Are there any libraries that have reasonably sounding speech? I will be using an ESP8266 in my project as well so is there a way I can use that to talk to an online service like AWS Polly, etc?
Thanks for your help

What has any of this to do with an Arduino?

...R

Maybe the IDE which IS Arduino?

GoForSmoke:
Maybe the IDE which IS Arduino?

I have not noticed any reference to the Arduino IDE

...R

Robin2:
I have not noticed any reference to the Arduino IDE

...R

I apologise..... I will be using an Arduino Uno and will be using the Arduino IDE.

The text to speech functionality has to be actually done by something other than the Arduino - Neither the ESP8266 nor other normal arduinos have decent audio capabilities. If you want it handled locally, you might be able to find a good solution on a Raspberry Pi, or by using an external text to speech board that you control with the Arduino. I honestly think the raspberry pi solution is the better path - all the ways of generating audio with an Arduino controlling it is sort of awkward.

JaydenCLarky:
I apologise..... I will be using an Arduino Uno and will be using the Arduino IDE.

No need to apologise. However when I re-read your Original Post I still don't see what the Arduino will be doing. If you need a pc for the text-to-speech then wouldn't it be simple for it also to gather the weather data from the internet?

...R

DrAzzy:
The text to speech functionality has to be actually done by something other than the Arduino - Neither the ESP8266 nor other normal Arduino has decent audio capabilities. If you want it handled locally, you might be able to find a good solution on a Raspberry Pi, or by using an external text to speech board that you control with the Arduino. I honestly think the raspberry pi solution is the better path - all the ways of generating audio with an Arduino controlling it is sort of awkward.

Thanks a lot for your responses. I have never used Raspberry Pi before, but I am very keen to give it a try. From some research, I am considering just using a Raspberry Pi, as my project uses only a couple of components (and a lot of code). I heard the Pi is good for handling information and gathering data from the internet. I know the Pi will also be able to use Python to connect to the Amazon Polly service. What are your thoughts on this?

Robin2:
No need to apologise. However, when I re-read your Original Post I still don't see what the Arduino will be doing. If you need a pc for the text-to-speech then wouldn't it be simple for it also to gather the weather data from the internet?

...R

The Arduino does absolutely everything. It gets weather from the internet using JSON and the ESP8266. I just presumed I could use the ESP8266 to connect to an online TTS service.

JaydenCLarky:
The Arduino does absolutely everything. It gets weather from the internet using JSON and the ESP8266. I just presumed I could use the ESP8266 to connect to an online TTS service.

While you can program an ESP8266 with the Arduino IDE it is not an Arduino board - hence my confusion.

It may be possible to connect an ESP8266 to an online TTS service but what would produce the noise?

An RPi seems an altogether better option, as well as making the whole job simpler. Maybe it could run a TTS program directly?

...R

Robin2:
While you can program an ESP8266 with the Arduino IDE it is not an Arduino board - hence my confusion.

It may be possible to connect an ESP8266 to an online TTS service but what would produce the noise?

An RPi seems an altogether better option, as well as making the whole job simpler. Maybe it could run a TTS program directly?

...R

This is where I am confused. I think I might use an RPi as it seems a very feasible option. After a quick search for a way to use TTS on RPi, I found many, many different options - I don't think I will have a problem finding a good TTS program.

Thanks for your help,
Jayden

I know it is an old post, but I was also searching the same subject.
To make a simple TTS device in every room by either using Arduino or ESP32.

It would speak out whatever string I send to its internal REST service. Because Google Home and Alexa refuse to.
News, notifications, alerts and alarms. Just connect it to IFFT and Webhooks.

So I found a library GitHub - jscrane/TTS: Arduino Text-to-Speech Library that would do just that.

Though it requires you to build or have an amplifier before you connect an actual speaker, or another amplifier :slight_smile:

I wonder if there is a demo of this library in action. And if it sounds like a robot from 1985.