Show pageOld revisionsBacklinksExport to PDFBack to top This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. ====== Vestec ASR ====== ===== About === Vestec Inc. \\ 125 Northfield Drive West, Suite 300 \\ Waterloo, Ontario \\ N2L 6N8 \\ Canada http://www.vestec.com ===== Definition ===== Vestec provides sophisticated speech recognition for a wide variety of products and services in all major languages. Vestec Automatic Speech Recognition (ASR) and Natural Language Understanding (NLU) are fully compliant with Vxi* systems. ===== Languages ===== American English, Germany German, Australian English, Indian English, Brazilian Portuguese, Indian Hindi, British English, Italia, Canadian French, Japanese, Cantonese, Mexican Spanish, Castilian Spanish, Netherlands Dutch, Chinese Mandarin, Turkish, France French ===== Installation ===== Buy the ASR license or request a trial license (ASR engine + ASR language packages). You will receive a mail with a link to download the Vestec packages. For Debian, (use apt-get -install to resolve the dependencies) : <code> dpkg -i *.deb && apt-get -f install </code> For CentOS : (The MRCP server can generate OpenSSL conflits, the option --nodeps can solve this issue) : <code> rpm -i *.rpm </code> <code> vasre-lang-* vasre-so* vasre-tools* vasre-rm* vasre-server* vasre-client* vasre-mrcp* or vestec-mrcp-server </code> To request a license key you need to generate an Host ID from the server. Vestec provide a binary that generates an unique Host ID based on server and its hardware configuration. You need to download the binary associated to your OS server, and execute it locally. <code> root@demo:/home/user$ ./generate_host_id.CentOS.62-x86_64 Please select one of the network interfaces to generate the Host id: (enter the number) 1- MAC:005056900022 eth0 2- MAC:005056900031 eth1 >>1 Your Host id is 5e26d...............72afe82 </code> ===== Configuration ===== Register your installation with the Host ID, obtain the license file, and copy it to /opt/Vestec/license/.. <code> # cp license.lic /opt/Vestec/license/ </code> Edit the Vestec MRCP configuration file (/opt/Vestec/mrcp/conf/mrcpserver.xml), and set the IP/interface for the MRCP connector: <code> <properties> <!-- By default, network interface (IP address) to bind to will be implicitly identified. Alternatively, it can be explicitly set. --> <ip>192.168.200.109</ip> <!-- <ext-ip>a.b.c.d</ext-ip> --> </properties> </code> ===== Setup ===== Start the services (the order is important): <code> # /etc/init.d/vasre-rm start # /etc/init.d/vasre-server start # /etc/init.d/vasre-mrcp start (or /etc/init.d/vestec-mrcp-server start) </code> ===== VoiceXML Browser Configuration ===== To enable speech recognition, change the main speech parameter in /etc/asterisk/vxml.conf . The “speech” parameter can get three values, “yes”, “automatic”, “no” or “emulation” (don’t generate errors if you enable speech grammars). /etc/asterisk/vxml.conf <code> … speech=automatic speechprovider=unimrcp … </code> In the VoiceXML browser configuration file : /etc/openvxi/client.cfg <code> ############################ # ASR server configuration # ############################ client.rec.resource.0.cacheDir VXIString /tmp/cacheContent client.rec.resource.0.format VXIString grm </code> You must set Unimrcp default client profile ves1 for UnimrcpV1 and ves2 for V2 /etc/asterisk/unimrcp.conf <code> [general] unimrcp-profile = ves2 ; Vestec MRCPv2 Server log-level=DEBUG ;EMERGENCY log-output=10 returnnlsml=yes cancelifqueue=false setparams=yes startinputtimers=yes binarygrammars=yes ... </code> You need to specify VestecASR server IP /usr/local/unimrcp/conf/client-profiles/vestec.xml <code> <server-ip>192.168.100.120</server-ip> </code> You need to restart the VXI and Asterisk to get all the changes. Logs files from the ASR engine are generated here: <code> # ls /var/log/VestecASRE </code> ===== VXML Examples ===== chocovan.vxml: <code> <?xml version="1.0"?> <vxml xml:lang="es-ES" version="2.0" xmlns="http://www.w3.org/2001/vxml"> <property name="confidencelevel" value="0.6"/> <property name="inputmodes" value="voice"/> <form id="deck"> <field name="name"> <grammar xml:lang="es-ES" root="name"> <rule id="name"> <one-of> <item>chocolate<tag>chocolate</tag></item> <item>vainilla<tag>vainilla</tag></item> </one-of> </rule> </grammar> <prompt>¿Que prefiere, el chocolate o la vainilla ?</prompt> </field> <filled> <prompt>Usted ha dicho <value expr="name"/> </prompt> </filled> </form> </vxml> </code> ======== yesno.grm: <code> $Yesno = $Yes {si} | $No {no}; $Yes = si | sip | claro ; $No = no ; </code> sino.vxml: <code> <?xml version="1.0"?> <vxml version="2.0" xmlns="http://www.w3.org/2001/vxml" xml:lang="es-ES"> <form> <property name="inputmodes" value="voice"/> <property name="timeout" value="5s"/> <field name="text"> <grammar mode="voice" src="yesno.grm"/> <catch event="noinput nomatch"> <reprompt/> </catch> <prompt> Por favor diga, si o no </prompt> </field> <filled> <prompt> Ha dicho : <value expr="text.Yesno" /> </prompt> <clear namelist="text" /> </filled> </form> </vxml> </code> ===== Release Notes ===== Please contact us to get your own Vestec ASR licenses. It could be necessary to disable a option in the Vestec engine : ( /opt/Vestec/vasre/conf/vasre-rm-config.xml): <param name="skip_rule_in_nlsml"> <value>1</value> </param> Or you can enable option "returnnlsml=yes" in the [general] section of /etc/asterisk/unimrcp.conf legacy/speech_recognition_guide/vestec_asr/start.txt Last modified: 2017/07/28 23:33by javier