CURRENT ISSUE

Contests

bottom corner

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);
    	}
 	}
}


bottom corner