Teaching Arduino to talk english!

I have an Arduino Esplora, and am trying to use it's buzzer to say the temperature in C, out loud. Could you tell me the frequencies of the standard english letters?

You can beep out the temperature in Morse code, but phonemes and allophones are out of the question.

. Could you tell me the frequencies of the standard english letters?

Letters don’t represent frequencies, except as [u]musical notes[/u]. :smiley: :smiley:

Teaching Arduino to talk english!

I’m tempted to make another joke, because I suspect English is not your first language…

OK seriously…

Look for a speech synthesizer chip that you can control with the Arduino.

The English language is complex and you can’t simply make the sounds of the letters. There are text-to-speech applications that use the sound of letters and some rules to do this. They require a fair amount of processing power and their pronunciation is often less-than-perfect. Try the [u]Windows Narrator[/u]. But, that’s more than the Arduino can do.

With a limited vocabulary (such as time & temperature) it’s usually better to record all of the numbers and words and play them back in the desired order. There are chips that can do that too.

Based on the way you stated your question, your level of expertise with electronics would suggest you should probably look for a serial to speech (ASCII to speech) synthesizer chip. I have used one before. It is actually the same one Stephen Hawking uses. I know because I his sounds exactly like the one I used. It was a chip (GI SP0256-AL2 )(Radio Shack Chip) Allophone based with the firmware embedded and all it needed was an ASCII input and an audio amplifier. It is based on a public domain algorithm developed by the US Navy and released to the public. Look for one of these and all you have to do is output the ascii text from your arduino to the device and it will speak. It is phoneme based so it doesn't recognize the existance of any human language as we know them (spanish, german etc). It will say anything the letter seguence sent represents as far as phonemes are concerned. For example, other kinds of speech synthesizers based on vocabularies would not contain slang words. The phoneme based only knows phonemes so if you can say a slang word with phonemes you can say it with that speech synthesizer. This makes it a flexible platform for communication between races or nationalities.

Check out the Talkie project for software speech synthesis. Arduino speech synthesizer using the Talkie library

There are several problems with that post.

1- There's explanation of how he came up with the code for those phrases
2- You need create new code (somehow) for each new phrase.

The SP0256 simply required that you type whatever you want it to say on an ascii output keyboard.
If you saved that ascii output on an SD card, you could read it back. Also, while it did have a metalic sound to the voice, the SP0256 was very understandable. I didn't think the "talkie" was as clear as the SP0256 (which is probably obsolete now anyway).

I didn't think the "talkie" was as clear as the SP0256 (which is probably obsolete now anyway)

The SPO256 is still available.

The Talkie program can sound quite good. In the link I posted, the author was using a very poor quality amplifier and speaker. This video shows off the speech quality a bit better.

That sounded great ! I didn't realize you were modifying the famous Speak & Spell program. I always thought that was a dedicated speech synthesis chip and not just a program. Maybe it's both. That motor driver made for a much better audio amplifier than the other guy's .

I wouldn't say it's out of the question. I managed to write a phoneme-based speech synthesizer for the atmega328p and the attiny85. Granted, it took me a good year or more to study up on phonetics well enough to do so, but the point is that it is possible.

Did yoj post the code in the Gallery ?

I've tried to compile the st2_talkie library for ATtiny85 but I think it's too slow (due to no hardware multiply instruction?)

I'm happy to be proven wrong though :slight_smile:

jremington:
Check out the Talkie project for software speech synthesis. Arduino speech synthesizer using the Talkie library

Well, that's a real blast from the past! Worked with the '5100 at TI must've been '79 or so, wrote the "Petite Talking Typewriter" for a TMS1000 (ghastly processor)

I'll take a look at that Talkie project, have a 'talk down memory lane' - thanks.

Yours,
TonyWilk

think it's too slow (due to no hardware multiply instruction?)

No. Are you running it at 16MHz? If so you are probably just short of memory.

I tried this a few years back on a Uno and wasn't too impressed with the quality. It uses the same method as the old BBC computer's speech module and I had a few extra vocabulary chips for that.

I have a Microbit and it has some speech library. So I guess speech with an Arduino is feasible, too.