text-to-speech hello world

Dependencies:   emic2 mbed SDFileSystem

Committer:
nnguyen45
Date:
Sat Nov 04 18:31:24 2017 +0000
Revision:
2:922b8fe6ff94
Parent:
0:c1e7994288d7
Starting logic for lesson plan

Who changed what in which revision?

UserRevisionLine numberNew contents of line
nnguyen45 0:c1e7994288d7 1 #include "mbed.h"
nnguyen45 2:922b8fe6ff94 2 #include <string>
nnguyen45 2:922b8fe6ff94 3 using namespace std;
nnguyen45 0:c1e7994288d7 4 //Emic 2 Hello Speech World Demo
nnguyen45 2:922b8fe6ff94 5 #include "SDFileSystem.h"
nnguyen45 2:922b8fe6ff94 6
nnguyen45 2:922b8fe6ff94 7 SDFileSystem sd(p5, p6, p7, p8, "sd"); // the pinout on the mbed Cool Components workshop board
nnguyen45 2:922b8fe6ff94 8
nnguyen45 0:c1e7994288d7 9 DigitalOut myled(LED1);
nnguyen45 0:c1e7994288d7 10 #include "emic2.h"
nnguyen45 2:922b8fe6ff94 11
nnguyen45 2:922b8fe6ff94 12 emic2 myTTS(p28, p27); //serial RX,TX pins to emic
nnguyen45 2:922b8fe6ff94 13
nnguyen45 0:c1e7994288d7 14 int main()
nnguyen45 0:c1e7994288d7 15 {
nnguyen45 0:c1e7994288d7 16 myTTS.volume(18); //max volume
nnguyen45 2:922b8fe6ff94 17 string repeat = "Please try again.";
nnguyen45 2:922b8fe6ff94 18
nnguyen45 2:922b8fe6ff94 19
nnguyen45 2:922b8fe6ff94 20
nnguyen45 0:c1e7994288d7 21 while(1) {
nnguyen45 0:c1e7994288d7 22 myled = 1;
nnguyen45 0:c1e7994288d7 23 //Plain text demo
nnguyen45 0:c1e7994288d7 24 myTTS.speakf("S");//Speak command starts with "S"
nnguyen45 2:922b8fe6ff94 25 myTTS.speakf("Welcome to Bat, the Blind Assistive Teacher. This device will help you learn how to write and type braille."); // Send the desired string to convert to speech
nnguyen45 0:c1e7994288d7 26 myTTS.speakf("\r"); //marks end of speak command
nnguyen45 0:c1e7994288d7 27 myTTS.ready(); //ready waits for speech to finish from last command with a ":" response
nnguyen45 2:922b8fe6ff94 28 if(str.length(letter[0]) != 0) {
nnguyen45 2:922b8fe6ff94 29 myTTS.speakf("STo write the letter %s, press pins %D\r",letter[0], ID);
nnguyen45 2:922b8fe6ff94 30 //check pins pressed
nnguyen45 2:922b8fe6ff94 31 if(incorrect) {
nnguyen45 2:922b8fe6ff94 32 myTTS.speakf("SPin %D is incoorect.\r",ID);
nnguyen45 2:922b8fe6ff94 33 myTTS.speakf("S%s.\r", repeat);
nnguyen45 2:922b8fe6ff94 34 }
nnguyen45 2:922b8fe6ff94 35 } else if(str.length(words) != 0) {
nnguyen45 2:922b8fe6ff94 36 myTTS.speakf("SType the word %s.\r",word);
nnguyen45 2:922b8fe6ff94 37 }
nnguyen45 0:c1e7994288d7 38 myled = 0;
nnguyen45 0:c1e7994288d7 39 //Voice Demo
nnguyen45 0:c1e7994288d7 40 for (int i=0; i<9 ; i++) { //demo different voices
nnguyen45 0:c1e7994288d7 41 myTTS.voice(i);
nnguyen45 0:c1e7994288d7 42 myTTS.speakf("SHello this is a sample of voice number, %D\r",i);
nnguyen45 0:c1e7994288d7 43 myTTS.ready();
nnguyen45 0:c1e7994288d7 44 }
nnguyen45 0:c1e7994288d7 45 myTTS.voice(0); //back to default voice
nnguyen45 0:c1e7994288d7 46 //Number demo
nnguyen45 0:c1e7994288d7 47 for (int i=10; i>=0 ; i--) { //demo different numbers
nnguyen45 0:c1e7994288d7 48 myTTS.speakf("S%D.\r",i);
nnguyen45 0:c1e7994288d7 49 myTTS.ready();
nnguyen45 0:c1e7994288d7 50 }
nnguyen45 0:c1e7994288d7 51 }
nnguyen45 0:c1e7994288d7 52 }
nnguyen45 2:922b8fe6ff94 53