| 
									
										
										
										
											2002-09-11 17:09:48 +00:00
										 |  |  | diff -ruN festival/lib/tts.scm myfestival/lib/tts.scm | 
					
						
							|  |  |  | --- festival/lib/tts.scm	Sun May 30 16:40:00 1999 | 
					
						
							|  |  |  | +++ myfestival/lib/tts.scm	Wed Apr 17 22:29:34 2002 | 
					
						
							|  |  |  | @@ -200,6 +200,15 @@ | 
					
						
							|  |  |  |     (utt.synth | 
					
						
							|  |  |  |      (eval (list 'Utterance 'Text string))))) | 
					
						
							|  |  |  |   | 
					
						
							|  |  |  | +(define (tts_textasterisk string mode) | 
					
						
							|  |  |  | +  "(tts_textasterisk STRING MODE) | 
					
						
							|  |  |  | +Apply tts to STRING.  This function is specifically designed for | 
					
						
							|  |  |  | +use in server mode so a single function call may synthesize the string. | 
					
						
							|  |  |  | +This function name maybe added to the server safe functions." | 
					
						
							|  |  |  | +  (utt.send.wave.asterisk  | 
					
						
							|  |  |  | +   (utt.synth | 
					
						
							|  |  |  | +    (eval (list 'Utterance 'Text string))))) | 
					
						
							|  |  |  | + | 
					
						
							|  |  |  |  (define (tts_return_to_client) | 
					
						
							|  |  |  |    "(tts_return_to_client) | 
					
						
							|  |  |  |  This function is called by clients who wish to return waveforms of | 
					
						
							|  |  |  | diff -ruN festival/src/arch/festival/wave.cc myfestival/src/arch/festival/wave.cc | 
					
						
							|  |  |  | --- festival/src/arch/festival/wave.cc	Sat Jun 12 10:30:30 1999 | 
					
						
							|  |  |  | +++ myfestival/src/arch/festival/wave.cc	Thu Apr 18 10:55:32 2002 | 
					
						
							|  |  |  | @@ -375,6 +375,38 @@ | 
					
						
							|  |  |  |  	type = "nist"; | 
					
						
							|  |  |  |      else | 
					
						
							|  |  |  |  	type = get_c_string(ltype); | 
					
						
							|  |  |  | + | 
					
						
							|  |  |  | +    w->save(tmpfile,type); | 
					
						
							|  |  |  | +    write(ft_server_socket,"WV\n",3); | 
					
						
							|  |  |  | +    socket_send_file(ft_server_socket,tmpfile); | 
					
						
							|  |  |  | +    unlink(tmpfile); | 
					
						
							|  |  |  | + | 
					
						
							|  |  |  | +    return utt; | 
					
						
							|  |  |  | +} | 
					
						
							|  |  |  | + | 
					
						
							|  |  |  | +static LISP utt_send_wave_asterisk(LISP utt) | 
					
						
							|  |  |  | +{ | 
					
						
							|  |  |  | +    // Send the waveform to a client (must be acting as server) | 
					
						
							|  |  |  | +    EST_Utterance *u = utterance(utt); | 
					
						
							|  |  |  | +    EST_Wave *w; | 
					
						
							|  |  |  | +    EST_String tmpfile = make_tmp_filename(); | 
					
						
							|  |  |  | +    LISP ltype; | 
					
						
							|  |  |  | +    EST_String type; | 
					
						
							|  |  |  | + | 
					
						
							|  |  |  | +    w = get_utt_wave(u); | 
					
						
							|  |  |  | +    if (ft_server_socket == -1) | 
					
						
							|  |  |  | +    { | 
					
						
							|  |  |  | +	cerr << "utt_send_wave_client: not in server mode" << endl; | 
					
						
							|  |  |  | +	festival_error(); | 
					
						
							|  |  |  | +    } | 
					
						
							|  |  |  | +	 | 
					
						
							|  |  |  | +    ltype = ft_get_param("Wavefiletype"); | 
					
						
							|  |  |  | +    if (ltype == NIL) | 
					
						
							|  |  |  | +	type = "nist"; | 
					
						
							|  |  |  | +    else | 
					
						
							|  |  |  | +	type = get_c_string(ltype); | 
					
						
							|  |  |  | +    w->resample(8000); | 
					
						
							|  |  |  | +    w->rescale(5); | 
					
						
							|  |  |  |      w->save(tmpfile,type); | 
					
						
							|  |  |  |      write(ft_server_socket,"WV\n",3); | 
					
						
							|  |  |  |      socket_send_file(ft_server_socket,tmpfile); | 
					
						
							|  |  |  | @@ -434,6 +466,13 @@ | 
					
						
							|  |  |  |   "(utt.send.wave.client UTT)\n\ | 
					
						
							|  |  |  |    Sends wave in UTT to client.  If not in server mode gives an error\n\ | 
					
						
							|  |  |  |    Note the client must be expecting to receive the waveform."); | 
					
						
							|  |  |  | + | 
					
						
							|  |  |  | +    init_subr_1("utt.send.wave.asterisk",utt_send_wave_asterisk, | 
					
						
							|  |  |  | + "(utt.send.wave.asterisk UTT)\n\ | 
					
						
							|  |  |  | +  Sends wave in UTT to client.  If not in server mode gives an error\n\ | 
					
						
							| 
									
										
										
										
											2004-01-07 22:10:15 +00:00
										 |  |  | +  Note the client must be expecting to receive the waveform. The waveform\n\ | 
					
						
							| 
									
										
										
										
											2002-09-11 17:09:48 +00:00
										 |  |  | +  is rescaled and resampled according to what asterisk needs"); | 
					
						
							|  |  |  | + | 
					
						
							|  |  |  |      init_subr_2("utt.save.f0",utt_save_f0, | 
					
						
							|  |  |  |   "(utt.save.f0 UTT FILENAME)\n\ | 
					
						
							|  |  |  |   Save F0 of UTT as esps track file in FILENAME."); | 
					
						
							|  |  |  |   |