KnowBrainer Speech Recognition
Decrease font size
Increase font size
Topic Title: HeardWord with <dictation>
Topic Summary: How does one combine the two in a script
Created On: 08/11/2021 10:52 AM
Status: Post and Reply
Linear : Threading : Single : Branch
 HeardWord with <dictation>   - Edgar - 08/11/2021 10:52 AM  
 HeardWord with <dictation>   - Alan Cantor - 08/11/2021 12:44 PM  
 HeardWord with <dictation>   - Edgar - 08/11/2021 02:37 PM  
 HeardWord with <dictation>   - PG LTU - 08/12/2021 10:18 AM  
 HeardWord with <dictation>   - Edgar - 08/12/2021 12:27 PM  
 HeardWord with <dictation>   - Alan Cantor - 08/12/2021 01:26 PM  
 HeardWord with <dictation>   - Edgar - 08/12/2021 03:14 PM  
 HeardWord with <dictation>   - wristofdoom - 08/24/2021 01:19 PM  
 HeardWord with <dictation>   - monkey8 - 08/12/2021 03:36 PM  
 HeardWord with <dictation>   - Edgar - 08/12/2021 03:44 PM  
 HeardWord with <dictation>   - monkey8 - 08/12/2021 03:52 PM  
 HeardWord with <dictation>   - monkey8 - 08/12/2021 05:00 PM  
 HeardWord with <dictation>   - PG LTU - 08/12/2021 05:22 PM  
 HeardWord with <dictation>   - monkey8 - 08/14/2021 11:28 AM  
 HeardWord with <dictation>   - Edgar - 08/12/2021 07:21 PM  
 HeardWord with <dictation>   - Edgar - 08/14/2021 03:14 PM  
 HeardWord with <dictation>   - Mav - 08/24/2021 03:07 AM  
 HeardWord with <dictation>   - Edgar - 08/24/2021 10:53 AM  
 HeardWord with <dictation>   - Mav - 08/25/2021 04:02 AM  
 HeardWord with <dictation>   - Edgar - 08/24/2021 02:42 PM  
 HeardWord with <dictation>   - wristofdoom - 08/24/2021 07:26 PM  
Keyword
 08/11/2021 12:44 PM
User is offline View Users Profile Print this message


Alan Cantor
Top-Tier Member

Posts: 4289
Joined: 12/08/2007

I've never been able to figure out how to do this.

The closest I've come to a solution is this:

Sub Main
Dim x As String
Let x = ListVar1
HeardWord "select", x
End Sub

But it only works when ListVar1 consists of exactly one word, one symbol, or a number between 0 and 99. It fails for multiple words.

 08/11/2021 02:37 PM
User is offline View Users Profile Print this message

Author Icon
Edgar
Top-Tier Member

Posts: 1260
Joined: 04/03/2009

That was my exact experience. I tested it on a single word - it worked fine. I sent it off to my beta tester who immediately tried it on three words and it failed. I have now played around with splitting up <dictation> - still no success:

Sub Main

   Dim selection, another As String

   Dim words() As String' dimension a string array

   Dim dictation As String

   Dim k As Integer

   Dim result As String

 

   selection = Chr(34) & "select" & Chr(34) & ", "

   dictation=ListVar2

   words=Split(dictation," ")

   For k = 0 To UBound(words)

       selection = selection & Chr(34) & words(k) & Chr(34) & ", "

   Next

   selection = Mid(selection, 1, Len(selection) - 2)

' MsgBox selection' string is now built perfectly: ""select", "over", "the""

   ' HeardWord selection' does not work

another = "select over the"

' HeardWord another' does not work

'HeardWord "select", "over", "the" ' works just fine

   Wait 0.4

   ' SendKeys "{Esc}", 1

   Select Case ListVar1

      ' […]

      Case "Strikethrough", "Strike Out", "Strikeout"

         SendKeys "%s", 1

   End Select

End Sub

I wonder if EmulateRecognition would work around this restriction?



-------------------------

-Edgar
DPI 15.3, 64-bit Windows 10 Pro, OpenOffice & Office 365, Norton Security, Shure X2U XLR to USB mic adapter with Audio Technica DB135 vocal mic, Asus X299-Deluxe Prime, Intel Core i9-7940X (14 core, 4.3 GHz overclocked to 4.9 GHz), G.SKILL TridentZ Series 64GB (4 x 16GB) DDR4 3333 (PC4 26600) F4-3333C16Q-64GTZ, NVIDIA GIGABYTE GeForce GTX 1060 GV-N1060G1 GAMING-6GD REV 2.0 6GB graphics card with 3 1920x1080 monitors

 08/12/2021 10:18 AM
User is offline View Users Profile Print this message

Author Icon
PG LTU
Top-Tier Member

Posts: 2197
Joined: 03/21/2007

Originally posted by: Edgar ...

I wonder if EmulateRecognition would work around this restriction?

 

Yes, of course because it takes but a single string sequence that can include spaces and is easily accessible in the command browser without referencing or registering anything.  So, using the dictation variable and some processing to come up with a string to "recognize" is a natural. 

 

In fact, that was the first "real" reason I had to come up with pgEmulate as detailed more here because I was using AutoHotKey to recognize a command that then passed an utterance to the recognizer.  So, if I said "Strikethrough|Strikeout something" I first send the "select something" to Dragon, and if that something is "that" it selects the last utterance like saying "select that" or else it has Dragon search the viewport for the "something" to select, and then apply the strikethrough|strikeout in your case or uppercasing, camelcasing, titlecasing, etc. I was implementing.



-------------------------




PG





Remember folks, my comments and this forum are for entertainment value only, please, no wagering or other reliance on the contents herein.  I permit no commercial use of my ideas (whether expressions or embodiments) without my written consent.

 08/12/2021 12:27 PM
User is offline View Users Profile Print this message

Author Icon
Edgar
Top-Tier Member

Posts: 1260
Joined: 04/03/2009

I cannot get even the simplest Advanced Scripting command to compile with EmulateRecognition:

Sub Main

EmulateRecognition "copy that"

End Sub

EmulateRecognition -> **ERROR**

(10551) Expecting a constant, vulvar name or function name.

It's like I might be missing a Reference but I have tried a shotgun approach of adding all of the dragon-related references without any success. BTW I am running DPI 15.3 but I cannot imagine that something this simple is broken in this version of Dragon.



-------------------------

-Edgar
DPI 15.3, 64-bit Windows 10 Pro, OpenOffice & Office 365, Norton Security, Shure X2U XLR to USB mic adapter with Audio Technica DB135 vocal mic, Asus X299-Deluxe Prime, Intel Core i9-7940X (14 core, 4.3 GHz overclocked to 4.9 GHz), G.SKILL TridentZ Series 64GB (4 x 16GB) DDR4 3333 (PC4 26600) F4-3333C16Q-64GTZ, NVIDIA GIGABYTE GeForce GTX 1060 GV-N1060G1 GAMING-6GD REV 2.0 6GB graphics card with 3 1920x1080 monitors

Statistics
32287 users are registered to the KnowBrainer Speech Recognition forum.
There are currently 0 users logged in.
The most users ever online was 12124 on 09/09/2020 at 04:59 AM.
There are currently 326 guests browsing this forum, which makes a total of 326 users using this forum.

FuseTalk Standard Edition v4.0 - © 1999-2022 FuseTalk™ Inc. All rights reserved.