CURRENT ISSUE
Contests
Feature Article
|
|
Issue #207 October 2007
Embedded Speech
Speech Synthesis for Small Applications
by Nicusor Birsan & Ionut Tarsa
Start | Embeddingd Speech | Speech Synthesis Techniques | Open-Source Project | System Building Blocks | Sound From Luminary Micro | First Big Porting Problem | Synthesizer | Translator | The LM3S811 Speaks | More Speech Applications | Sources & PDF
Listing 2—Sound driver, speak, and other tasks are called from a while loop.
while(1){
task_sound_driver();
Task_Speak();
if(new != g_TickValue){ //A user task timed scheduled;
new = g_TickValue;
p = GetSourceGen(); //get the pointer to current word
if( p != NULL) { //if is something speaking
if( p != last_p){
last_p = p;
for(i=0;i<12;i++){ //copy the text to a buffer
buf[i]=*p++;
}
buf[12]=0;
OSRAMStringDraw(buf, 11, 1); //and display it
}
}else{ //speak again
SpeakLumi((char*) HelloMsg);
}
}
}
|