Can you make Dragon NaturallySpeaking talk using an autohotkey script?

Get help with using AutoHotkey and its commands and hotkeys
aShai
Posts: 18
Joined: 19 Jun 2015, 03:21

Can you make Dragon NaturallySpeaking talk using an autohotkey script?

31 Jan 2016, 02:39

Can you make Dragon NaturallySpeaking talk using an autohotkey script?
If so, how?

BTW, I was able to achieve this with WSR using this script:

Listener:=ComObjCreate("SAPI.SpSharedRecognizer")
Listener.EmulateRecognition("Time Please")

Not so With Dragon NaturallySpeaking.

Any help will be appreciated, Thanks.
User avatar
lifeweaver
Posts: 144
Joined: 10 May 2014, 05:57
GitHub: lifeweaver
Location: OH

Re: Can you make Dragon NaturallySpeaking talk using an autohotkey script?

01 Feb 2016, 14:04

Hi aShai,

I wasn't able to find much information but it looks like Dragon Naturally Speaking has COM interface, which is good news.
Here, and here are two examples of using this interface with AutoHotkey. The second examle has the more recent syntax, you don't want to use the 'COM Standard Library' mentioned.

Perhaps you can track down elgin for more help.
scriptor2016
Posts: 727
Joined: 21 Dec 2015, 02:34

Re: Can you make Dragon NaturallySpeaking talk using an autohotkey script?

02 Feb 2016, 20:12

I use Dragon Naturally Speaking with ahk, so I use voice my commands to run the scripts. But I've never had DNS actually "speak" to me... do you mean have DNS read out loud a passage of text, for example? If so, there are other options as well to do this. Maybe if you clarify what you want to do I could give you a bit more info
RickC
Posts: 267
Joined: 27 Oct 2013, 08:32

Re: Can you make Dragon NaturallySpeaking talk using an autohotkey script?

03 Feb 2016, 09:58

You don't actually need DNS. Try this using just AHK and SAPI:

Code: Select all

ComObjCreate("SAPI.SpVoice").Speak("Hello. This is an example of using speech.")
Elgin
Posts: 122
Joined: 30 Sep 2013, 09:19

Re: Can you make Dragon NaturallySpeaking talk using an autohotkey script?

03 Feb 2016, 14:45

You can also get Dragon to speak a text.

Using Dragon's own scripting engine should work:

Code: Select all

Listener:= ComObjCreate("Dragon.DgnVCmd.1") ; create Dragon's command object
Listener.Register("", 1) ; register it
Listener.ExecuteScript("TTSPlayString ""This is a test. Did it work?"", """"",0) ; ececute the command TTSPlayString. See Dragon help for details. Watch out for the double quotes in the string!
Sleep, 10000 ; or do something else...
Listener.Unregister() ; unregister your object when you don't need it anymore
In theory you should also be able to use the DgnVoiceTxt or VTxtAuto COM-interfaces directly, but at least on my machine they're not registered by default, so the above is probably the safest way to do it.

Btw: the EmulateRecognition in your original post does not speak a text but simulates the recognition of a text. The corresponding command for Dragon would be the function RecognitionMimic("text") in the Dragon.DgnEngineControl object.
aShai
Posts: 18
Joined: 19 Jun 2015, 03:21

Re: Can you make Dragon NaturallySpeaking talk using an autohotkey script?

25 May 2016, 18:52

Thanks, Elgin

Btw: the EmulateRecognition in your original post does not speak a text but simulates the recognition of a text. The corresponding command for Dragon would be the function RecognitionMimic("text") in the Dragon.DgnEngineControl object.

That's actually, exactly what I wanted was the equivalent of said script.

Listener:=ComObjCreate("SAPI.SpSharedRecognizer")
Listener.EmulateRecognition("Time Please")

Could you show me the equivalent of the Dragon NaturallySpeaking script?
Elgin
Posts: 122
Joined: 30 Sep 2013, 09:19

Re: Can you make Dragon NaturallySpeaking talk using an autohotkey script?

26 May 2016, 01:58

Sure:

Code: Select all

DgnEngine:= ComObjCreate("Dragon.DgnEngineControl")
DgnEngine.Register(0)
DgnEngine.RecognitionMimic("what can I say")
aShai
Posts: 18
Joined: 19 Jun 2015, 03:21

Re: Can you make Dragon NaturallySpeaking talk using an autohotkey script?

26 May 2016, 02:51

Thank You Very Much Elgin!!! I Truly Appreciate This!!!
sn0365
Posts: 25
Joined: 03 Aug 2018, 12:59

Re: Can you make Dragon NaturallySpeaking talk using an autohotkey script?

29 Aug 2018, 09:03

Dear Elgin,

Can you please help me write an AHK script that I can use to dictate a voice-command to Dragon.
When I execute the AHK script, I want the script to say the word as a voice command to dragon and dragon to pick it up as someone is dictating using a microphone.

Your help will be really appreciated.

Elgin wrote:You can also get Dragon to speak a text.

Using Dragon's own scripting engine should work:

Code: Select all

Listener:= ComObjCreate("Dragon.DgnVCmd.1") ; create Dragon's command object
Listener.Register("", 1) ; register it
Listener.ExecuteScript("TTSPlayString ""This is a test. Did it work?"", """"",0) ; ececute the command TTSPlayString. See Dragon help for details. Watch out for the double quotes in the string!
Sleep, 10000 ; or do something else...
Listener.Unregister() ; unregister your object when you don't need it anymore
In theory you should also be able to use the DgnVoiceTxt or VTxtAuto COM-interfaces directly, but at least on my machine they're not registered by default, so the above is probably the safest way to do it.

Btw: the EmulateRecognition in your original post does not speak a text but simulates the recognition of a text. The corresponding command for Dragon would be the function RecognitionMimic("text") in the Dragon.DgnEngineControl object.
User avatar
iilabs
Posts: 223
Joined: 07 Jun 2020, 16:57

Re: Can you make Dragon NaturallySpeaking talk using an autohotkey script?

02 Nov 2020, 14:12

I tried using the codes above for Dragon Practice Medical Edition 4 and they didnt work. Other form of syntax? How do we find these functions?
Elgin
Posts: 122
Joined: 30 Sep 2013, 09:19

Re: Can you make Dragon NaturallySpeaking talk using an autohotkey script?

02 Nov 2020, 16:05

Sorry, can't say as I don't have access to the Dragon Practice versions.

Your first step should be to look at the manuals and help files that come with it (shocking, I know...). The normal Dragon comes with a help file explaining a good part of the API.

If that doesn't help and you want to find out if there is a COM interface and what its functions are, you can get TypeLib2AHK here:
https://github.com/Elgin1/TypeLib2AHK or use any other tools for reading out type libraries.
Look through the list for anything with "DNS", "Dragon", "Nuance" or whatever sounds like it might be an API for Dragon. If there's something like "DNSTools" then it might be similar to what is being used above for the normal Dragon versions.

Regedit can also be a good start to figure out which COM interface - if any - might belong to it.
User avatar
iilabs
Posts: 223
Joined: 07 Jun 2020, 16:57

Re: Can you make Dragon NaturallySpeaking talk using an autohotkey script?

03 Nov 2020, 11:06

image.png
image.png (7.67 KiB) Viewed 520 times
I get an error using TypeLib2AHK. Sorry I am a Noob at this. Do I need to place this in a different folder?
Attachments
image.png
image.png (7.33 KiB) Viewed 521 times
Elgin
Posts: 122
Joined: 30 Sep 2013, 09:19

Re: Can you make Dragon NaturallySpeaking talk using an autohotkey script?

03 Nov 2020, 11:18

You need to download all the files, not just the one ahk file. Best choose download as zip and unpack on your machine.
User avatar
iilabs
Posts: 223
Joined: 07 Jun 2020, 16:57

Re: Can you make Dragon NaturallySpeaking talk using an autohotkey script?

03 Nov 2020, 13:01

Yes I downloaded as a zip file. Should I put libraries in the are it’s searching for c:windows\systrm32 or a different directory tree. I’ll play with it on another machine as well.
Elgin
Posts: 122
Joined: 30 Sep 2013, 09:19

Re: Can you make Dragon NaturallySpeaking talk using an autohotkey script?

03 Nov 2020, 14:11

The script just needs the same folder structure as in Github, so unpacking the zip as is to (almost) anywhere (c:\copy, Documents, or whatever...) should do fine.

Are you forcing AHK to run in that folder instead of the script folder maybe?

Return to “Ask For Help”

Who is online

Users browsing this forum: Bing [Bot], HiSoKa, Rohwedder, Smile_, sokrakes and 52 guests