mirror of https://github.com/asterisk/asterisk
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@580 65c4cc65-6c06-0410-ace0-fbb531ad65f31.0
parent
2039beaffa
commit
94ca29c410
@ -0,0 +1,75 @@
|
||||
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\
|
||||
+ Note the client must be expecting to receive the waveform. The waveform
|
||||
+ 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.");
|
@ -0,0 +1,75 @@
|
||||
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\
|
||||
+ Note the client must be expecting to receive the waveform. The waveform
|
||||
+ 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.");
|
Loading…
Reference in new issue