How to use UniMRPC to record text to speech as audio file ( Nuance Speech server)

577 views
Skip to first unread message

Xiaoming Wang

unread,
Sep 25, 2014, 5:33:07 PM9/25/14
to uni...@googlegroups.com
Hi,

I am working on

How to use UniMRPC to record text to speech as audio file ( Nuance Speech server).

Could someone give a hint?

Thanks

Arsen Chaloyan

unread,
Sep 26, 2014, 2:17:52 PM9/26/14
to UniMRCP
Hi Xiaoming,

You may start looking at the umc application. Its sample synthesizer scenario does pretty much the same what you need. In order to execute it, use "run synth" from the console.



--
You received this message because you are subscribed to the Google Groups "UniMRCP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to unimrcp+u...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--
Arsen Chaloyan
Author of UniMRCP
http://www.unimrcp.org

Xiaoming Wang

unread,
Sep 29, 2014, 12:22:03 PM9/29/14
to uni...@googlegroups.com

Hi, Arsen,

Thank your very much.

I am new for uniMRCP. I have installed UniMRCP on window 7 computer.

I run unimrcpserver.exe
and umc.exe on local computer. when type command on umc console. I do not find new pcm file on dada folder.

Could you help me  check it? Thanks.  Here is log.



On  unimrcpserver.exe console. log as follow.




Microsoft Windows [Version 6.0.6002]
Copyright (c) 2006 Microsoft Corporation.  All rights reserved.

C:\Users\wxiaoming>cd C:\Users\wxiaoming\Desktop\unimrcp-1.2.0\Debug\bin

C:\Users\wxiaoming\Desktop\unimrcp-1.2.0\Debug\bin>unimrcpserver.exe
2014-09-29 11:58:55:059425 [NOTICE] UniMRCP Server [1.2.0]
2014-09-29 11:58:55:061425 [INFO]   APR [1.5.0]
2014-09-29 11:58:55:061425 [NOTICE] Create MRCP Server
2014-09-29 11:58:55:061425 [NOTICE] Open Config File [../conf/unimrcpserver.xml]

2014-09-29 11:58:55:066426 [INFO]   Set Property ip:10.1.1.17
2014-09-29 11:58:55:067426 [INFO]   Register Codec [PCMU]
2014-09-29 11:58:55:067426 [INFO]   Register Codec [PCMA]
2014-09-29 11:58:55:067426 [INFO]   Register Codec [L16]
2014-09-29 11:58:55:067426 [NOTICE] Register Resource [speechsynth]
2014-09-29 11:58:55:068426 [NOTICE] Register Resource [speechrecog]
2014-09-29 11:58:55:069426 [NOTICE] Register Resource [recorder]
2014-09-29 11:58:55:069426 [NOTICE] Register Resource [speakverify]
2014-09-29 11:58:55:069426 [INFO]   Register Resource Factory
2014-09-29 11:58:55:069426 [NOTICE] Create SofiaSIP Agent [SIP-Agent-1] [1.12.11
-210-gfa839a2] sip:10.1.1.17:8061;transport=udp,tcp
2014-09-29 11:58:55:069426 [INFO]   Register Signaling Agent [SIP-Agent-1]
2014-09-29 11:58:55:069426 [NOTICE] Create RTSP Server [RTSP-Agent-1] 10.1.1.17:
1554 [100]
2014-09-29 11:58:55:076427 [INFO]   Register Signaling Agent [RTSP-Agent-1]
2014-09-29 11:58:55:076427 [NOTICE] Create MRCPv2 Agent [MRCPv2-Agent-1] 10.1.1.
17:1544 [100]
2014-09-29 11:58:55:079427 [INFO]   Register Connection Agent [MRCPv2-Agent-1]
2014-09-29 11:58:55:080427 [NOTICE] Create Media Engine [Media-Engine-1]
2014-09-29 11:58:55:080427 [INFO]   Register Media Engine [Media-Engine-1]
2014-09-29 11:58:55:081427 [NOTICE] Create RTP Termination Factory 10.1.1.17:[50
00,6000]
2014-09-29 11:58:55:081427 [INFO]   Register RTP Termination Factory [RTP-Factor
y-1]
2014-09-29 11:58:55:082428 [INFO]   Load Plugin [Demo-Synth-1] [../plugin/demosy
nth.dll]
2014-09-29 11:58:55:083428 [INFO]   Register MRCP Engine [Demo-Synth-1]
2014-09-29 11:58:55:084428 [INFO]   Load Plugin [Demo-Recog-1] [../plugin/demore
cog.dll]
2014-09-29 11:58:55:085428 [INFO]   Register MRCP Engine [Demo-Recog-1]
2014-09-29 11:58:55:086428 [INFO]   Load Plugin [Demo-Verifier-1] [../plugin/dem
overifier.dll]
2014-09-29 11:58:55:088428 [INFO]   Register MRCP Engine [Demo-Verifier-1]
2014-09-29 11:58:55:088428 [INFO]   Load Plugin [Recorder-1] [../plugin/mrcpreco
rder.dll]
2014-09-29 11:58:55:090428 [INFO]   Register MRCP Engine [Recorder-1]
2014-09-29 11:58:55:090428 [INFO]   Register RTP Settings [RTP-Settings-1]
2014-09-29 11:58:55:090428 [NOTICE] Create MRCPv2 Profile [uni2]
2014-09-29 11:58:55:091428 [INFO]   Assign MRCP Engine [speechsynth] [Demo-Synth
-1]
2014-09-29 11:58:55:091428 [INFO]   Assign MRCP Engine [speechrecog] [Demo-Recog
-1]
2014-09-29 11:58:55:092429 [INFO]   Assign MRCP Engine [recorder] [Recorder-1]
2014-09-29 11:58:55:093429 [INFO]   Assign MRCP Engine [speakverify] [Demo-Verif
ier-1]
2014-09-29 11:58:55:093429 [INFO]   Register Profile [uni2]
2014-09-29 11:58:55:093429 [NOTICE] Create MRCPv1 Profile [uni1]
2014-09-29 11:58:55:094429 [INFO]   Assign MRCP Engine [speechsynth] [Demo-Synth
-1]
2014-09-29 11:58:55:094429 [INFO]   Assign MRCP Engine [speechrecog] [Demo-Recog
-1]
2014-09-29 11:58:55:094429 [INFO]   Assign MRCP Engine [recorder] [Recorder-1]
2014-09-29 11:58:55:095429 [INFO]   Assign MRCP Engine [speakverify] [Demo-Verif
ier-1]
2014-09-29 11:58:55:095429 [INFO]   Register Profile [uni1]
2014-09-29 11:58:55:095429 [INFO]   Start Task [MRCP Server]
>2014-09-29 11:58:55:096429 [INFO]   Open Engine [Demo-Recog-1]
2014-09-29 11:58:55:096429 [INFO]   Start Task [Demo Recog Engine]
2014-09-29 11:58:55:097429 [INFO]   Open Engine [Recorder-1]
2014-09-29 11:58:55:097429 [INFO]   Open Engine [Demo-Synth-1]
2014-09-29 11:58:55:098429 [INFO]   Start Task [Demo Synth Engine]
2014-09-29 11:58:55:098429 [INFO]   Open Engine [Demo-Verifier-1]
2014-09-29 11:58:55:098429 [INFO]   Start Task [Demo Verifier Engine]
2014-09-29 11:58:55:099429 [INFO]   Start Task [SIP-Agent-1]
2014-09-29 11:58:55:099429 [INFO]   Start Task [RTSP-Agent-1]
2014-09-29 11:58:55:100429 [INFO]   Start Task [MRCPv2-Agent-1]
2014-09-29 11:58:55:100429 [INFO]   Start Task [Media-Engine-1]
Adding nameserver: 10.1.1.100
Adding nameserver: 10.1.1.15
2014-09-29 11:58:55:114431 [NOTICE] MRCP Server Started
2014-09-29 11:58:55:115431 [INFO]   Receive SIP Event [nua_r_set_params] Status
200 OK [SIP-Agent-1]




On umc consol log as follow:




Microsoft Windows [Version 6.0.6002]
Copyright (c) 2006 Microsoft Corporation.  All rights reserved.

C:\Users\wxiaoming>C:\Users\wxiaoming\Desktop\unimrcp-1.2.0\Debug\bin
'C:\Users\wxiaoming\Desktop\unimrcp-1.2.0\Debug\bin' is not recognized as an int
ernal or external command,
operable program or batch file.

C:\Users\wxiaoming>cd C:\Users\wxiaoming\Desktop\unimrcp-1.2.0\Debug\bin

C:\Users\wxiaoming\Desktop\unimrcp-1.2.0\Debug\bin>umc
2014-09-29 11:59:22:174136 [INFO]   Start Task [Framework Agent]
>2014-09-29 11:59:22:176137 [NOTICE] UniMRCP Client [1.2.0]
2014-09-29 11:59:22:177137 [INFO]   APR [1.5.0]
2014-09-29 11:59:22:177137 [NOTICE] Create MRCP Client
2014-09-29 11:59:22:177137 [NOTICE] Open Config File [../conf/unimrcpclient.xml]

2014-09-29 11:59:22:182137 [INFO]   Set Property ip:10.1.1.17
2014-09-29 11:59:22:182137 [INFO]   Register Codec [PCMU]
2014-09-29 11:59:22:182137 [INFO]   Register Codec [PCMA]
2014-09-29 11:59:22:183137 [INFO]   Register Codec [L16]
2014-09-29 11:59:22:183137 [NOTICE] Register Resource [speechsynth]
2014-09-29 11:59:22:183137 [NOTICE] Register Resource [speechrecog]
2014-09-29 11:59:22:184137 [NOTICE] Register Resource [recorder]
2014-09-29 11:59:22:184137 [NOTICE] Register Resource [speakverify]
2014-09-29 11:59:22:184137 [INFO]   Register Resource Factory
2014-09-29 11:59:22:185138 [NOTICE] Create SofiaSIP Agent [SIP-Agent-1] [1.12.11
-210-gfa839a2] sip:10.1.1.17:8062;transport=udp
2014-09-29 11:59:22:185138 [INFO]   Register Signaling Agent [SIP-Agent-1]
2014-09-29 11:59:22:186138 [NOTICE] Create RTSP Client [RTSP-Agent-1] [100]
2014-09-29 11:59:22:191138 [INFO]   Register Signaling Agent [RTSP-Agent-1]
2014-09-29 11:59:22:192138 [NOTICE] Create MRCPv2 Agent [MRCPv2-Agent-1] [100]
2014-09-29 11:59:22:194138 [INFO]   Register Connection Agent [MRCPv2-Agent-1]
2014-09-29 11:59:22:194138 [NOTICE] Create Media Engine [Media-Engine-1]
2014-09-29 11:59:22:195139 [INFO]   Register Media Engine [Media-Engine-1]
2014-09-29 11:59:22:195139 [NOTICE] Create RTP Termination Factory 10.1.1.17:[40
00,5000]
2014-09-29 11:59:22:196139 [INFO]   Register RTP Termination Factory [RTP-Factor
y-1]
2014-09-29 11:59:22:196139 [INFO]   Register RTP Settings [RTP-Settings-1]
2014-09-29 11:59:22:197139 [INFO]   Enter Directory [../conf/client-profiles]
2014-09-29 11:59:22:197139 [NOTICE] Open Config File [../conf/client-profiles/lu
menvox.xml]
2014-09-29 11:59:22:198139 [INFO]   Create SIP Settings 10.1.1.17:5060
2014-09-29 11:59:22:199139 [INFO]   Register Signaling Settings [LumenVox-SIP-Se
ttings]
2014-09-29 11:59:22:199139 [INFO]   Create RTSP Settings 10.1.1.17:554
2014-09-29 11:59:22:200139 [INFO]   Register Signaling Settings [LumenVox-RTSP-S
ettings]
2014-09-29 11:59:22:200139 [NOTICE] Create MRCPv2 Profile [lv2]
2014-09-29 11:59:22:201139 [INFO]   Register Profile [lv2]
2014-09-29 11:59:22:201139 [NOTICE] Create MRCPv1 Profile [lv1]
2014-09-29 11:59:22:201139 [INFO]   Register Profile [lv1]
2014-09-29 11:59:22:202139 [NOTICE] Open Config File [../conf/client-profiles/nu
ance.xml]
2014-09-29 11:59:22:203139 [INFO]   Create SIP Settings 10.1.1.17:5060
2014-09-29 11:59:22:203139 [INFO]   Register Signaling Settings [Nuance-SIP-Sett
ings]
2014-09-29 11:59:22:204139 [INFO]   Create RTSP Settings 10.1.1.17:4900
2014-09-29 11:59:22:204139 [INFO]   Register Signaling Settings [Nuance-RTSP-Set
tings]
2014-09-29 11:59:22:205140 [INFO]   Register RTP Settings [Nuance-RTP-Settings]
2014-09-29 11:59:22:205140 [NOTICE] Create MRCPv2 Profile [nss2]
2014-09-29 11:59:22:206140 [INFO]   Register Profile [nss2]
2014-09-29 11:59:22:206140 [NOTICE] Create MRCPv1 Profile [nss1]
2014-09-29 11:59:22:207140 [INFO]   Register Profile [nss1]
2014-09-29 11:59:22:207140 [NOTICE] Open Config File [../conf/client-profiles/sp
eechpro.xml]
2014-09-29 11:59:22:208140 [INFO]   Create RTSP Settings 10.1.1.17:8000
2014-09-29 11:59:22:208140 [INFO]   Register Signaling Settings [SpeechPro-RTSP-
Settings]
2014-09-29 11:59:22:209140 [NOTICE] Create MRCPv1 Profile [sp1]
2014-09-29 11:59:22:209140 [INFO]   Register Profile [sp1]
2014-09-29 11:59:22:210140 [NOTICE] Open Config File [../conf/client-profiles/un
imrcp.xml]
2014-09-29 11:59:22:211140 [INFO]   Create SIP Settings 10.1.1.17:8060
2014-09-29 11:59:22:211140 [INFO]   Register Signaling Settings [UniMRCP-SIP-Set
tings]
2014-09-29 11:59:22:212140 [INFO]   Create RTSP Settings 10.1.1.17:1554
2014-09-29 11:59:22:212140 [INFO]   Register Signaling Settings [UniMRCP-RTSP-Se
ttings]
2014-09-29 11:59:22:213140 [NOTICE] Create MRCPv2 Profile [uni2]
2014-09-29 11:59:22:213140 [INFO]   Register Profile [uni2]
2014-09-29 11:59:22:214140 [NOTICE] Create MRCPv1 Profile [uni1]
2014-09-29 11:59:22:214140 [INFO]   Register Profile [uni1]
2014-09-29 11:59:22:215141 [INFO]   Leave Directory [../conf/client-profiles]
2014-09-29 11:59:22:215141 [NOTICE] Create Application
2014-09-29 11:59:22:216141 [INFO]   Register Application [UMC]
2014-09-29 11:59:22:216141 [INFO]   Start Task [MRCP Client]
2014-09-29 11:59:22:217141 [INFO]   Start Task [SIP-Agent-1]
2014-09-29 11:59:22:218141 [INFO]   Start Task [RTSP-Agent-1]
2014-09-29 11:59:22:218141 [INFO]   Start Task [MRCPv2-Agent-1]
2014-09-29 11:59:22:219141 [INFO]   Start Task [Media-Engine-1]
Adding nameserver: 10.1.1.100
Adding nameserver: 10.1.1.15
2014-09-29 11:59:22:232142 [NOTICE] MRCP Client Started
2014-09-29 11:59:22:233142 [INFO]   Receive SIP Event [nua_r_set_params] Status
200 OK [SIP-Agent-1]
2014-09-29 11:59:22:233142 [NOTICE] Open Config File [../conf/umcscenarios.xml]
2014-09-29 11:59:22:234142 [INFO]   Load Scenario name [synth] class [Synthesize
r]
2014-09-29 11:59:22:235143 [INFO]   Load Scenario name [recog] class [Recognizer
]
2014-09-29 11:59:22:236143 [INFO]   Load Scenario name [rec] class [Recorder]
2014-09-29 11:59:22:236143 [INFO]   Load Scenario name [dtmf] class [DtmfRecogni
zer]
2014-09-29 11:59:22:237143 [INFO]   Load Scenario name [params] class [Params]
2014-09-29 11:59:22:237143 [INFO]   Load Scenario name [verify] class [Verifier]

trun synth
unknown command: trun (input help for usage)
>run synth
>[1]
2014-09-29 11:59:47:065625 [NOTICE] Create MRCP Handle 0x1b9d1d0 [uni2]
2014-09-29 11:59:47:066625 [INFO]   Create Channel umc-1 <new>
2014-09-29 11:59:47:067626 [INFO]   Receive App Request umc-1 <new> [2]
2014-09-29 11:59:47:068626 [INFO]   Add MRCP Handle umc-1 <new>
2014-09-29 11:59:47:068626 [NOTICE] Add Control Channel umc-1 <new@speechsynth>
2014-09-29 11:59:47:072626 [INFO]   Send Offer umc-1 <new> [c:1 a:1 v:0] to 10.1
.1.17:8060
2014-09-29 11:59:47:073626 [INFO]   Local SDP umc-1 <new>
v=0
o=UniMRCPClient 0 0 IN IP4 10.1.1.17
s=-
c=IN IP4 10.1.1.17
t=0 0
m=application 9 TCP/MRCPv2 1
a=setup:active
a=connection:new
a=resource:speechsynth
a=cmid:1
m=audio 4000 RTP/AVP 0 8 96 101
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:96 L16/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=recvonly
a=ptime:20
a=mid:1

2nta_agent: tport: Connection reset by peer
014-09-29 11:59:47:082627 [INFO]   Receive SIP Event [nua_i_state] Status 0 INVI
TE sent [SIP-Agent-1]
2014-09-29 11:59:47:082627 [NOTICE] SIP Call State umc-1 [calling]
nta_agent: tport: Connection reset by peer
nta_agent: tport: Connection reset by peer
nta_agent: tport: Connection reset by peer
nta_agent: tport: Connection reset by peer
nta_agent: tport: Connection reset by peer
nta_agent: tport: Connection reset by peer
2014-09-29 12:00:19:082827 [INFO]   Receive SIP Event [nua_r_invite] Status 408
Request Timeout [SIP-Agent-1]
2014-09-29 12:00:19:082827 [INFO]   Receive SIP Event [nua_i_state] Status 408 R
equest Timeout [SIP-Agent-1]
2014-09-29 12:00:19:083827 [NOTICE] SIP Call State umc-1 [terminated]
2014-09-29 12:00:19:084827 [INFO]   Receive Answer umc-1 <new> [c:0 a:0 v:0] Sta
tus 408
2014-09-29 12:00:19:084827 [INFO]   Raise App Response umc-1 <new> [2] FAILURE [
2]
2014-09-29 12:00:19:085827 [WARN]   Failed to Get Media Sink Descriptor
2014-09-29 12:00:19:085827 [INFO]   Receive App Request umc-1 <new> [1]
2014-09-29 12:00:19:085827 [INFO]   Terminate Session umc-1 <new>
2014-09-29 12:00:19:086827 [INFO]   Session Terminated umc-1 <new>
2014-09-29 12:00:19:092828 [INFO]   Remove MRCP Handle umc-1 <new>
2014-09-29 12:00:19:092828 [INFO]   Raise App Response umc-1 <new> [1] SUCCESS [
0]
2014-09-29 12:00:19:093828 [NOTICE] Destroy MRCP Handle umc-1

Arsen Chaloyan

unread,
Sep 30, 2014, 8:34:19 PM9/30/14
to UniMRCP
Hi Xiaoming,

You changed the default configuration of the server to listen on 8061 port.


2014-09-29 11:58:55:069426 [NOTICE] Create SofiaSIP Agent [SIP-Agent-1] [1.12.11
-210-gfa839a2] sip:10.1.1.17:8061;transport=udp,tcp

Whereas the client sent the SIP INVITE to default 8060.

2014-09-29 11:59:47:072626 [INFO]   Send Offer umc-1 <new> [c:1 a:1 v:0] to 10.1
.1.17:8060

Obviously, the client couldn't reach the server, and the offer failed. Either change back the port to 8060 on the server, or set the server port to 8061 on the client.


--
You received this message because you are subscribed to the Google Groups "UniMRCP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to unimrcp+u...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Xiaoming Wang

unread,
Oct 1, 2014, 12:47:51 PM10/1/14
to uni...@googlegroups.com
Hi, Arsen,

Thanks for your help.
Also I have another question,  in conf\client-profiles there file nunce.xml. how to use this client-profile?
Thanks

Xiaoming Wang

unread,
Oct 1, 2014, 6:02:07 PM10/1/14
to uni...@googlegroups.com
Hi, Arsen,

After I change sip port to 8060, there is no error on console window both client and server. I like to know what "run synth" command doing? Thanks



On Tuesday, September 30, 2014 8:34:19 PM UTC-4, Arsen Chaloyan wrote:

Ncs Lhr

unread,
Oct 1, 2014, 11:46:32 PM10/1/14
to uni...@googlegroups.com

Arsen Chaloyan

unread,
Oct 2, 2014, 4:18:29 PM10/2/14
to UniMRCP
For a high level implementation of "run synth" command, you may look at

https://code.google.com/p/unimrcp/source/browse/trunk/platforms/umc/src/synthsession.cpp

It basically establishes a typical synthesizer session, sends a SPEAK request to the server, and dumps synthesized speech into a file located in the data directory. This and other commands accept an optional parameter such as the profile. So, in order to use one of predefined NSS profiles, you may issue "run synth nss2". Don't forget to set <server-ip> in nuance.xml to the corresponding IP address of you Nuance Speech Server.

Xiaoming Wang

unread,
Oct 10, 2014, 2:43:51 PM10/10/14
to uni...@googlegroups.com

Hi, Arsen,
Thanks your help.
Now I able to run synth, it load speak.xml file send server and generate audio file in data folder. I also try connect to NSS. it work fine.  If Speech server support MRCPv1 and MRCPv2, unimcpserver is not required?. is it correct?.
Also, I lke to know what recog , verif , recorder exactly do when I run it  on UMC console.
Thanks a lot.

Arsen Chaloyan

unread,
Oct 13, 2014, 8:02:01 PM10/13/14
to UniMRCP
Hi Xiaoming,

On Fri, Oct 10, 2014 at 11:43 AM, Xiaoming Wang <xiaomi...@telmatik.com> wrote:

Hi, Arsen,

Thanks your help.
Now I able to run synth, it load speak.xml file send server and generate audio file in data folder. I also try connect to NSS. it work fine. 

Good.
 
If Speech server support MRCPv1 and MRCPv2, unimcpserver is not required?. is it correct?.

Correct.
 
Also, I lke to know what recog , verif , recorder exactly do when I run it  on UMC console.

Each of the commands listed below issues a typical session described in MRCPv2 (http://tools.ietf.org/html/rfc6787)

run synth - speech synthesis
run recog - speech recognition
run verify - speech verification
run rec - speech recording

Xiaoming Wang

unread,
Oct 14, 2014, 10:50:23 AM10/14/14
to uni...@googlegroups.com
H, Asren,

Thank you for help.

If you show me more detail I would appreciate.
For example, run recog - speech recognition.

which audio file will be load and send to the server, what the server return?

Thank you very Much

Arsen Chaloyan

unread,
Oct 14, 2014, 3:00:14 PM10/14/14
to UniMRCP
Hi Xiaoming,

Here is the relevant fragment extracted from the configuration file umcscenarios.xml:

  <scenario name="recog" class="Recognizer" profile="uni2">
    <resource-discovery enable="0"/>
    <define-grammar enable="1" content-type="application/srgs+xml" content-location="grammar.xml"/>
    <!-- <define-grammar enable="1" content-type="application/grammar+xml" content-location="grammar.xml"/> -->
    <!-- <define-grammar enable="1" content-type="application/x-jsgf" content-location="grammar.jsgf"/> -->
    <recognize enable="1"/>
    <!-- <recognize enable="1" audio-source="one-8kHz.pcm"/> -->
    <!-- <recognize enable="1" content-type="application/srgs+xml" content-location="grammar.xml"/> -->
  </scenario>

As you may see, the content of grammar.xml file is used to define a recognition grammar. As for the audio source, one-8/16kHz.pcm is used by default. You can specify other input files if you need. The server is supposed to return a recognition result in NLSML, which is parsed and output in the logs.
Reply all
Reply to author
Forward
0 new messages