Dragon Naturally Speaking 10, Natlink and Dragon SDK
Submitted by dilaksha on Fri, 01/22/2010 - 11:20.
I have Dragon Naturally Speaking 10 installed on my PC.
For a voice driven application, I need to implement speech commands. In particular, I would like to use regular expressions. For example, in order to navigate using speech commands we would like a user to be able to say "move left left up left down right ...". Using regular expressions, this would correspond to a rule
command = move (left|right|up|down)+
I know that NatLink could be used to develop this straightforwardly. But I am thinking of purchasing the Dragon SDK 10.1.
My question is, does anyone know whether you can implement regular expressions with the SDK as well?

You realize for this example
You realize for this example that the user can't pause in the middle of that command and that nothing happens until he does pause? That would seem to make command fairly useless in practice.
Note it is perfectly reasonable to make commands like 'left' and string them together via command sequences. I do not know, however, if the SDK supports command sequences.
Larry Allen Scripting Guide
If you're prepared to spend a minimum of $5000 you can purchase the SDK with Nuance development support (for additional fees) directly from Nuance Technical Support (800) 654-1187 but from what you're describing, you really don't need the SDK or a third-party command utility because according to your profile, you are using DNS Pro. There's also more of a learning curve with the SDK and third-party command utilities. We believe the simplest solution would be to obtain a copy of Larry Allen’s Scripting Guide (the unofficial DNS Bible of Advanced-Scripting) which is available on the KnowBrainer.com website. Unfortunately we cannot provide you with a direct link because vendors are prohibited from hyper linking directly to any products, guides or postings on this forum but we will e-mail you a link.
Lunis - Nuance NaturallySpeaking Gold Certified BBB Accredited Speech Recognition/Microphone Solutions Provider & Founder of http://www.TheSpeechRecognitionStore.com
Thank you for the replies
Thank you for the replies so far. For our project, it has been decided already that the SDK will be used provided it can deliver the functionality. It is my task to find this out.
The example I gave for the regular expression was only a simplistic (and admittedly perhaps not the best) one. Our application will accept complex commands for speaking mathematical expressions. We thought that the best way to express this in the grammar would be to use regular expressions of the form (w1 | ... | wn)+ where the wj (j=1..n) are taken from our vocabulary of ~ 100-150 words.
It is not clear to us whether the SDK does support this.
Your example is perfectly
Your example is perfectly done with AdvancedScript. You should provide more and clearer examples I think,
Quintijn
dilaksha wrote: Thank you
Thank you for the replies so far. For our project, it has been decided already that the SDK will be used provided it can deliver the functionality. It is my task to find this out.
The example I gave for the regular expression was only a simplistic (and admittedly perhaps not the best) one. Our application will accept complex commands for speaking mathematical expressions. We thought that the best way to express this in the grammar would be to use regular expressions of the form (w1 | ... | wn)+ where the wj (j=1..n) are taken from our vocabulary of ~ 100-150 words.
It is not clear to us whether the SDK does support this.
dilaksha,
Forget about the DNS 10.1 SDK. Not only is the SDK standalone expensive, it isn't necessary if you have one of the professional versions. All the SDK provides you with sans support are the help files and an evaluation runtime, which is basically DNS without the GUI. The SDK is built into and accessible completely from within any of the Professional versions of DNS. All of the ActiveX controls for the DNS SDK are accessible from within the Advanced Scripting resources. You won't find that the standalone SDK provides you with any better information then you can get directly from within Advanced Scripting in any of the Professional versions.
Vocola and NatPython will allow you to do what you wish to do at a little higher level and more simply. You can also do pretty much the same with KnowBrainer. These are easier to work with. If you don't currently have a working knowledge of the SDK, then purchasing the DNS 10.1 SDK client version won't get you any closer to your goal vs. using the built-in SDK in the professional versions, which, if you have one of the professional versions, you already have access to.
I'm providing you with this information having been a former SDK Program Manager and part of the DNS development team before I left ScanSoft/Nuance. Please, take my advice. You will only be throwing good money after bad and spinning your wheels if you decide to go with the SDK. In addition, Nuance won't give you any information on the SDK until or unless you're ready to put your credit card down and make a purchase. Consequently, you will end up caught between a rock and a hard place. My advice to you is take the simplest route and either go directly through the SDK built into the Professional versions or use one of the third party scripting languages. What you want to do is not so difficult that it can't be done in one of these ways without having to go through the expense and hassle of obtaining and learning the SDK standalone version (DNS 10.1 SDK client). It's just not worth your time, money, or effort.
Chuck Runquist
Technical Project Manager
VoiceTeach LLC
"At times we shall simply have to admit that, one way or another, what we can neither explain nor understand certainly doesn't cease to exist because we cannot see how it does or why it should." - Dr. Mark Hyman
Many thanks
Many thanks for all your valuable responses. We are currently experimenting whether the command sequences that can be implemented using the professional version (in VB) would be enough for our purpose.
This will limit the speech input to 20 consecutive commands (words) between pauses but this may be sufficient in our scenario. We will also compare this with Natlink.
I will post the result of our investigation in due course...
Using the SDK
I purchased DNS 10 Professional, hoping that I could use the engine and SDK for developing an application that converts sound files to text. It seems like this would be a fairly straightforward thing to do, but I have had no luck finding any example code. Can anyone help point me in the right direction? I would ideally like to develop in VB, but examples in any language would be great. I also purchased the Larry Allen guide, but it only covers basic scripting, and not really the devolopment topics I was hoping for.
Thanks for any help in advance!
-Chris