| 
									
										
										
										
											2003-01-08 16:57:11 +00:00
										 |  |  | diff -u -r festival-1.4.2/lib/tts.scm festival-1.4.2-asterisk/lib/tts.scm
 | 
					
						
							|  |  |  | --- festival-1.4.2/lib/tts.scm	Wed Jan  8 09:54:14 2003
 | 
					
						
							|  |  |  | +++ festival-1.4.2-asterisk/lib/tts.scm	Tue Jan  7 08:51:44 2003
 | 
					
						
							|  |  |  | @@ -236,6 +236,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 may be 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 -u -r festival-1.4.2/src/arch/festival/wave.cc festival-1.4.2-asterisk/src/arch/festival/wave.cc
 | 
					
						
							|  |  |  | --- festival-1.4.2/src/arch/festival/wave.cc	Mon Jun  4 07:40:10 2001
 | 
					
						
							|  |  |  | +++ festival-1.4.2-asterisk/src/arch/festival/wave.cc	Tue Jan  7 08:53:09 2003
 | 
					
						
							|  |  |  | @@ -377,6 +377,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); | 
					
						
							|  |  |  | @@ -454,6 +486,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\
 | 
					
						
							| 
									
										
										
										
											2003-01-08 16:57:11 +00:00
										 |  |  | +  is rescaled and resampled according to what asterisk needs");
 | 
					
						
							|  |  |  | +
 | 
					
						
							|  |  |  |      init_subr_1("send_sexpr_to_client", send_sexpr_to_client, | 
					
						
							|  |  |  |   "(send_sexpr_to_client SEXPR)\n\ | 
					
						
							|  |  |  |  Sends given sexpression to currently connected client."); |