Actually in that silence prompt suggestion I gave, use {start-input-timers=true}<br><br><br><div class="gmail_quote">On Thu, Nov 17, 2011 at 8:37 AM, Christopher Rienzo <span dir="ltr"><<a href="mailto:cmrienzo@gmail.com">cmrienzo@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><br><br><div class="gmail_quote"><div class="im"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF">
<br>
After some more tests, I found followings:<br>
<br>
1. Testing from dialplan, the log output is the string of "CRIT
${speech_detect_result}" rather than the recognition results.<br></div></blockquote></div><div><br> oops <br> <br></div><div class="im"><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF">
<br>
2. Regarding to non barge in, I first send "speak" command then
send play_and_detect_speech with parameter:<br>
detect:unimrcp:nuance5-mrcp1-1
{start-input-timers=false,no-input-timeout=25000,recognition-timeout=25000}dudeYNNC_Nuance<br>
<br>
in which I removed the "say:" part.<br>
<br>
But very soon I received event CHANNEL_EXECUTE_COMPLETE for
play_and_detect_speech before the text playing finishes,<br>
and speech_detect_result is null (actually the event header
does not contain this variable)<br>
<br>
I tried with "say:" part with empty text like
"say:unimrcp:en-GB: " but it doesn't work, see issue 3 below.<br></div></blockquote></div><div><br>Try with silence as I originally suggested:<br><br>silence_stream://1000 detect:unimrcp:nuance5-mrcp1-1 {start-input-timers=false,no-input-timeout=25000, recognition-timeout=25000}dudeYNNC_Nuance <br>
</div><div class="im"><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex"><div text="#000000" bgcolor="#FFFFFF">
<br>
3. It seems that I can not send "speak" command twice before the
first one finishes. In my case I run one port TTS server on one
machine.<br>
<br>
If I send the command twice FS will give me Synthesizer
Error/Invalid TTS Module.<br>
I thought the TTS request would be queued rather than it
immediately looks for the TTS resource.<br>
<br>
If I send the second command to another TTS machine, no error
occurs but I can only hear one utterance being spoken,<br>
it looks like one utteraance was dropped somehow.<br><div></div></div></blockquote></div><div><br>Wait for speak to finish before starting a new one.<br> </div><div><div class="h5"><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF"><div>
<br>
On 16/11/11 16:51, xl127 wrote:
</div><blockquote type="cite"><div>
Hi Christopher,<br>
<br>
The questions are cleared to me now. Many thanks for your
explanations!<br>
<br>
Best regards,<br>
<br>
Xing<br>
<br>
<br>
On 16/11/11 15:52, Christopher Rienzo wrote:
</div><blockquote type="cite"><br>
Responses inline<br>
<br>
<br>
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF"><div> Now it works in my
ESL app though I am just able to do one dialogue ( I need
to add the event catching for furthur dialgoues).<br>
<br>
I have a couple of questions here:<br>
<br>
1. In the first try, my Nuance server was able to be
accessed somehow (FS says the MRCP is not responding in
5000ms, <br></div>
something like that), then FS says: [WARNING]
rtsp_client.c:386 () Failed to Connect to RTSP Server <a href="http://99.185.85.31:554" target="_blank"><font color="red"><b>MailScanner has detected a possible fraud attempt from "99.185.85.31:554" claiming to be</b></font> <font color="red"><b>MailScanner
warning: numerical links are often malicious:</b></font>
99.185.85.31:554</a>,<div><br>
later FS says: <br>
[ERR] mod_unimrcp.c:1860 (TTS-6) SYNTHESIZER channel
error!<br>
[ERR] switch_ivr_play_say.c:2439 Invalid TTS module!
<br>
<br>
The SYNTHESIZER channel error and Invalid TTS module
error are obvious.<br>
<br></div>
What I don't understand is why it went to this stange
address: <a href="http://99.185.85.31:554" target="_blank"><font color="red"><b>MailScanner has detected a possible fraud attempt from "99.185.85.31:554" claiming to be</b></font> <font color="red"><b>MailScanner warning: numerical links
are often malicious:</b></font> 99.185.85.31:554</a>?<br>
</div>
</blockquote><div><div>
<div><br>
check your unimrcp configuration. Make sure the default TTS
and ASR profiles are set to actual servers.<br>
</div>
<blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF"> 2. I specified TTS
engine in play_and_detect_speech as<br>
"say:unimrcp:nuance5-mrcp1-1: the text to speak"<br>
It works though I didn't specify the TTS voice.<br>
<br>
How do I specify the TTS voice? In the mrcp profile
(how?)? or something like:<br>
"say:unimrcp:nuance5-mrcp1-1:Serena: the text to
speak" (this seems not right.)<br>
</div>
</blockquote>
<div><br>
That won't work. Set the tts_engine variable as I explained
previously, or use say:unimrcp:voice:text to speak with the
desired voice and the correct default TTS profile defined in
unimrcp.conf.xml. This is a limitation of the say:
notation. Alternatively, the voice can be defined with the
tts_voice channel variable.<br>
<br>
</div>
<blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF"> 3. The barge-in
works well, thanks!. Is the barge-in configurable? In some
scenarios, we might not allow barge-in.<br>
</div>
</blockquote>
<div><br>
If you don't want to barge in, just do "playback (or speak)"
first, then "play_and_detect_speech" with a silence prompt.<br>
</div>
<blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF"> <br>
4. How could I get the text which has spoken to the user
when barge-in occurs?<br>
Or Could I get the time when barge-in occurs? If I
know the barge-in time and rough totale time for the whole
text<br>
to be spoken I can figure out the spoken text by
manually checking the recorded audio file later, which
would be painful.<br>
</div>
</blockquote>
<div><br>
If this is necessary, you might want to use the lower-level
functions instead to watch for the begin-speaking event.<br>
</div>
<blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF"> <br>
5. when I use "speak" and "detect_speech" apps in ESL, I
can catch event: DETECTED_SPEECH and speech-type:
begin-speaking<br>
and "detected-speech", then I do the recognition
results processing.<br>
<br>
The new app play_and_detect_speech seems not generate
these events any more. The way that I can think of to get
the results<br>
is to catch event:CHANNEL_EXECUTE_COMPLETE then check
if variable_current_application=play_and_detect_speech,
then get<br>
the results from variable_detect_speech_result.<br>
<br>
Is this the proper way to get the results in ESL app?
Or will play_and_detect_speech later on be consistent with
detect_speech <br>
in term of ASR events?<br>
</div>
</blockquote>
<div><br>
play_and_detect_speech is a higher level abstraction to
simplify things. If you want to have more control, go back
to using the ESL events. Reading the code in mod_dptools
and switch_ivr_async will give you hints about how to do it
correctly.<br>
</div>
<blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF"> <br>
6. I'd like to set start-input-timers=false in the
initial request then start the recognition timers
(start-input-timers=true)<br>
after the TTS finishes.<br>
How possibly could I do this?<br>
</div>
</blockquote>
<div><br>
This is automatically done in the
switch_ivr_play_and_detect_speech() function. You just need
to specify start-input-timers=false in the beginning.<br>
</div>
</div></div></div><div><div>
<br>
<br>
<fieldset></fieldset>
<br>
<pre>_________________________________________________________________________
Professional FreeSWITCH Consulting Services:
<a href="mailto:consulting@freeswitch.org" target="_blank">consulting@freeswitch.org</a>
<a href="http://www.freeswitchsolutions.com" target="_blank">http://www.freeswitchsolutions.com</a>
FreeSWITCH-powered IP PBX: The CudaTel Communication Server
<a href="http://www.cudatel.com" target="_blank">http://www.cudatel.com</a>
Official FreeSWITCH Sites
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a>
<a href="http://wiki.freeswitch.org" target="_blank">http://wiki.freeswitch.org</a>
<a href="http://www.cluecon.com" target="_blank">http://www.cluecon.com</a>
FreeSWITCH-users mailing list
<a href="mailto:FreeSWITCH-users@lists.freeswitch.org" target="_blank">FreeSWITCH-users@lists.freeswitch.org</a>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a>
</pre>
</div></div></blockquote><div><div>
<br>
<br>
<hr>
<br>
<img src="cid:part1.07040905.09040902@hw.ac.uk" alt="Scottish
University of the Year 2011-12" align="left">
<font face="arial,helvetica">
<b>Heriot-Watt University is the Sunday Times<br>
Scottish University of the Year 2011-2012</b>
</font>
<br>
<br>
<font face="arial,helvetica" size="-1">
Heriot-Watt University is a Scottish charity<br>
registered under charity number SC000278.
<br>
</font>
<br>
<fieldset></fieldset>
<br>
<pre>_________________________________________________________________________
Professional FreeSWITCH Consulting Services:
<a href="mailto:consulting@freeswitch.org" target="_blank">consulting@freeswitch.org</a>
<a href="http://www.freeswitchsolutions.com" target="_blank">http://www.freeswitchsolutions.com</a>
FreeSWITCH-powered IP PBX: The CudaTel Communication Server
<a href="http://www.cudatel.com" target="_blank">http://www.cudatel.com</a>
Official FreeSWITCH Sites
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a>
<a href="http://wiki.freeswitch.org" target="_blank">http://wiki.freeswitch.org</a>
<a href="http://www.cluecon.com" target="_blank">http://www.cluecon.com</a>
FreeSWITCH-users mailing list
<a href="mailto:FreeSWITCH-users@lists.freeswitch.org" target="_blank">FreeSWITCH-users@lists.freeswitch.org</a>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a>
</pre>
</div></div></blockquote>
<br>
<br>
<hr>
<br>
<img src="cid:hw_uni_of_year.jpg" alt="MailScanner Signature HW" align="left">
<font face="arial,helvetica">
<b>Heriot-Watt University is the Sunday Times<div><br>
Scottish University of the Year 2011-2012</div></b>
</font>
<br><div><br>
<font face="arial,helvetica" size="-1">
Heriot-Watt University is a Scottish charity<br>
registered under charity number SC000278.
<br>
</font>
</div></div>
<br>_________________________________________________________________________<br>
Professional FreeSWITCH Consulting Services:<br>
<a href="mailto:consulting@freeswitch.org" target="_blank">consulting@freeswitch.org</a><br>
<a href="http://www.freeswitchsolutions.com" target="_blank">http://www.freeswitchsolutions.com</a><br>
<br>
FreeSWITCH-powered IP PBX: The CudaTel Communication Server<br>
<a href="http://www.cudatel.com" target="_blank">http://www.cudatel.com</a><br>
<br>
Official FreeSWITCH Sites<br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
<a href="http://wiki.freeswitch.org" target="_blank">http://wiki.freeswitch.org</a><br>
<a href="http://www.cluecon.com" target="_blank">http://www.cluecon.com</a><br>
<br>
FreeSWITCH-users mailing list<br>
<a href="mailto:FreeSWITCH-users@lists.freeswitch.org" target="_blank">FreeSWITCH-users@lists.freeswitch.org</a><br>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
<br></blockquote></div></div></div><br>
</blockquote></div><br>