
text-to-speech hello world
Dependencies: emic2 mbed SDFileSystem
main.cpp@0:c1e7994288d7, 2017-10-27 (annotated)
- 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?
User | Revision | Line number | New 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 |