text-to-speech hello world

Dependencies:   emic2 mbed SDFileSystem

Committer:
nnguyen45
Date:
Fri Oct 27 14:36:32 2017 +0000
Revision:
0:c1e7994288d7
Child:
2:922b8fe6ff94
text-to-speech hello world

Who changed what in which revision?

UserRevisionLine numberNew contents of line
nnguyen45 0:c1e7994288d7 1 #include "mbed.h"
nnguyen45 0:c1e7994288d7 2 //Emic 2 Hello Speech World Demo
nnguyen45 0:c1e7994288d7 3
nnguyen45 0:c1e7994288d7 4 DigitalOut myled(LED1);
nnguyen45 0:c1e7994288d7 5 #include "emic2.h"
nnguyen45 0:c1e7994288d7 6
nnguyen45 0:c1e7994288d7 7 emic2 myTTS(p13, p14); //serial RX,TX pins to emic
nnguyen45 0:c1e7994288d7 8
nnguyen45 0:c1e7994288d7 9 int main()
nnguyen45 0:c1e7994288d7 10 {
nnguyen45 0:c1e7994288d7 11 myTTS.volume(18); //max volume
nnguyen45 0:c1e7994288d7 12 while(1) {
nnguyen45 0:c1e7994288d7 13 myled = 1;
nnguyen45 0:c1e7994288d7 14 //Plain text demo
nnguyen45 0:c1e7994288d7 15 myTTS.speakf("S");//Speak command starts with "S"
nnguyen45 0:c1e7994288d7 16 myTTS.speakf("Hello. My name is the Emic 2 Text-to-Speech module. I would like to sing you a song on m bed."); // Send the desired string to convert to speech
nnguyen45 0:c1e7994288d7 17 myTTS.speakf("\r"); //marks end of speak command
nnguyen45 0:c1e7994288d7 18 myTTS.ready(); //ready waits for speech to finish from last command with a ":" response
nnguyen45 0:c1e7994288d7 19 myled = 0;
nnguyen45 0:c1e7994288d7 20 myled = 1;
nnguyen45 0:c1e7994288d7 21 //Song Demo
nnguyen45 0:c1e7994288d7 22 myTTS.speakf("D1\r");//Sing Song Demo
nnguyen45 0:c1e7994288d7 23 myTTS.ready(); //member function wait
nnguyen45 0:c1e7994288d7 24 myled = 0;
nnguyen45 0:c1e7994288d7 25 //Voice Demo
nnguyen45 0:c1e7994288d7 26 for (int i=0; i<9 ; i++) { //demo different voices
nnguyen45 0:c1e7994288d7 27 myTTS.voice(i);
nnguyen45 0:c1e7994288d7 28 myTTS.speakf("SHello this is a sample of voice number, %D\r",i);
nnguyen45 0:c1e7994288d7 29 myTTS.ready();
nnguyen45 0:c1e7994288d7 30 }
nnguyen45 0:c1e7994288d7 31 myTTS.voice(0); //back to default voice
nnguyen45 0:c1e7994288d7 32 //Number demo
nnguyen45 0:c1e7994288d7 33 for (int i=10; i>=0 ; i--) { //demo different numbers
nnguyen45 0:c1e7994288d7 34 myTTS.speakf("S%D.\r",i);
nnguyen45 0:c1e7994288d7 35 myTTS.ready();
nnguyen45 0:c1e7994288d7 36 }
nnguyen45 0:c1e7994288d7 37 //Read Time (RTC) demo
nnguyen45 0:c1e7994288d7 38 set_time(1256729737); // Set RTC time to Wed, 28 Oct 2009 11:35:37
nnguyen45 0:c1e7994288d7 39 wait(2); //let RTC advance two seconds after setting to confirm it works
nnguyen45 0:c1e7994288d7 40 time_t seconds = time(NULL);//read current time
nnguyen45 0:c1e7994288d7 41 myTTS.speakf("STime in seconds since January 1, 1970 =, %d\r", seconds);
nnguyen45 0:c1e7994288d7 42 myTTS.ready();
nnguyen45 0:c1e7994288d7 43 myTTS.speakf("STime as a basic string = %s\r", ctime(&seconds));
nnguyen45 0:c1e7994288d7 44 myTTS.ready();
nnguyen45 0:c1e7994288d7 45 char buffer[32];
nnguyen45 0:c1e7994288d7 46 strftime(buffer, 32, "%I:%M %p\n", localtime(&seconds));
nnguyen45 0:c1e7994288d7 47 myTTS.speakf("SThe current time is %s\r", buffer);
nnguyen45 0:c1e7994288d7 48 myTTS.ready();
nnguyen45 0:c1e7994288d7 49
nnguyen45 0:c1e7994288d7 50 }
nnguyen45 0:c1e7994288d7 51 }
nnguyen45 0:c1e7994288d7 52
nnguyen45 0:c1e7994288d7 53