SRGS Grammars and Recognizer plugins?

447 views
Skip to first unread message

Michael Levy

unread,
Jul 13, 2017, 3:26:30 PM7/13/17
to UniMRCP
I'm a little confused about supporting grammars in a recognizer plugin.

It is the responsibility of the plugin to support grammars, yes? If I'm building a plugin for a new recognizer, and I want to support grammars, the plugin (or the underlying recognizer) must support those grammars. Right?

I had hoped the UniMRCP framework might provide some basic grammar support. rfc6787 says in section 9.5.1:

All MRCPv2 servers MUST accept grammars in the XML form
(media type 'application/srgs+xml') of the W3C's XML-based Speech
Grammar Markup Format (SRGS) [W3C.REC-speech-grammar-20040316] and
MAY accept grammars in other formats. Examples include but are not
limited to:
o the ABNF form (media type 'application/srgs') of SRGS
o Sun's Java Speech Grammar Format (JSGF)
[refs.javaSpeechGrammarFormat]
Additionally, MRCPv2 servers MAY support the Semantic Interpretation
for Speech Recognition (SISR) specification.


Can anyone point me to some quality open source (or 3rd party commercial) resources to help me get SRGS support working in my plugin?


Arsen Chaloyan

unread,
Jul 14, 2017, 4:40:11 PM7/14/17
to UniMRCP
On Thu, Jul 13, 2017 at 12:26 PM, Michael Levy <michae...@gmail.com> wrote:
I'm a little confused about supporting grammars in a recognizer plugin.

It is the responsibility of the plugin to support grammars, yes?

Yes.

 
If I'm building a plugin for a new recognizer, and I want to support grammars, the plugin (or the underlying recognizer) must support those grammars. Right?

Right.
 

I had hoped the UniMRCP framework might provide some basic grammar support. rfc6787 says in section 9.5.1:

All MRCPv2 servers MUST accept grammars in the XML form
(media type 'application/srgs+xml') of the W3C's XML-based Speech
Grammar Markup Format (SRGS) [W3C.REC-speech-grammar-20040316] and
MAY accept grammars in other formats. Examples include but are not
limited to:
o the ABNF form (media type 'application/srgs') of SRGS
o Sun's Java Speech Grammar Format (JSGF)
[refs.javaSpeechGrammarFormat]
Additionally, MRCPv2 servers MAY support the Semantic Interpretation
for Speech Recognition (SISR) specification.



Sounds reasonable, but there is currently nothing generic to offer.

 

Can anyone point me to some quality open source (or 3rd party commercial) resources to help me get SRGS support working in my plugin?


You may check out SRGS parser in Sphinx-4. The implementation is in Java, though.




--
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+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



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

Michael Levy

unread,
Jul 14, 2017, 5:59:44 PM7/14/17
to UniMRCP
Thanks. I guess I had read too many out of date articles that talked about Sphinx only supporting JSGF. I downloaded the Sphinx4 source and I see the source. It appears that CMU Sphinx attempts to build JSGF grammar by converting grXml on load. But, apparently there are still some limitations. I'll also check out JVoiceXML as Nickolay suggests.

Does anyone know if JVoiceXML include execution or interpretation using SRGS grammars? Or is it just objects to parse, manage, and cache grammars for the Vxml browser?


Ray Keating

unread,
Jul 14, 2017, 6:00:06 PM7/14/17
to UniMRCP

There are two parts to 'supporting' SRGS:  1) is to parse the received SRGS grammar into the form that the speech recognizer will use to 2) apply the SRGS grammar to the speech data, as an integral part of the speech recognition processing.  With specific regard to your question, yes, the underlying recognizer must support parsing and application of the SRGS grammar to the received speech data.  It must also handle any SRGS grammar related errors, as specified by the RFC.  Ergo, you are completely dependent on the speech recognizer you intend to use as to its ability to support SRGS grammars. 

The only API based speech recognition web service that I know of that supports SRGS is Tropo (now part of Cisco) but it's a cloud service softswitch model so that might not fit what you're looking to achieve.  You might want to consider just using an MRCP server as (ahem) Pontimax's mrcpSP11-STT MRCPV1 server.  Powered by Microsoft's speech recognition technology, we believe it's the lowest cost, by far, highest recognition accuracy MRCP server available.
Reply all
Reply to author
Forward
0 new messages