KnowBrainer Speech Recognition
Decrease font size
Increase font size
Topic Title: Text speed
Topic Summary:
Created On: 07/01/2020 09:41 AM
Status: Post and Reply
Linear : Threading : Single : Branch
 Text speed   - Shabill - 07/01/2020 09:41 AM  
 Text speed   - Edgar - 07/01/2020 10:07 AM  
 Text speed   - Shabill - 07/01/2020 11:00 AM  
 Text speed   - MTreloar - 07/01/2020 11:45 AM  
 Text speed   - Lunis Orcutt - 07/01/2020 11:50 AM  
 Text speed   - Ag - 07/01/2020 06:08 PM  
 Text speed   - Edgar - 07/02/2020 10:10 AM  
 Text speed   - Shabill - 07/02/2020 11:26 AM  
 Text speed   - Lunis Orcutt - 07/02/2020 02:40 PM  
 Text speed   - Shabill - 07/02/2020 04:01 PM  
 Text speed   - Lunis Orcutt - 07/02/2020 08:47 PM  
Keyword
 07/01/2020 09:41 AM
User is offline View Users Profile Print this message


Shabill
Senior Member

Posts: 110
Joined: 05/16/2011

With all of this working from home, I've finally decided to give in and try to program some Knowbrainer commands for Citrix.  The drawback to Citrix of course is that you can't use commands specific to the underlying apps, but if I program something that I only use when I'm in the right app in Citrix already, it should work, and some are working.  Others are a bit more problematic.  Is there a way to tell Knowbrainer to slow down the text speed (like you can do in MacroExpress)?  Alternatively, can I create a repeating subroutine?  I'm sending a series of {Tab}s to an app and I think it might need to receive them a bit slower, so either solution (slower text speed or a repeating subroutine {Tab} Wait 1, repeat) could work.

Finally for anyone that's done much of this, if you have any tips, I'd appreciate hearing them!

Thanks in advance.



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

DNS 15 / KB 2018 / pcbyVoice
Work:  9-in-1 TableMike USB / Win10 64bit / i7-6700 QuadCore 3.4GHz / 24GB
Home:  Sennheiser ME65/K6 / Win10 64bit / i7-6700 QuadCore 4.0GHz / 32GB

 07/01/2020 10:07 AM
User is offline View Users Profile Print this message

Author Icon
Edgar
Top-Tier Member

Posts: 823
Joined: 04/03/2009

Look at the Wait statement and the For loop:

For increment = XXX To XXX' e.g. 1 to 4 does it four times

   SendKeys "{Tab}", 1

   Wait 0.5' one half second, your timing needs might very

Next increment

As for sending keys slowly, you might try SendDragonKeys or SendSystemKeys (can't recall which works better with Citrix). That failing you could send the individual letters one hundred time and force a Wait between:

SendKeys "a", 1

Wait 0.1

SendKeys "b", 1

etc. If you don't know the string in advance, you would need to parse the variable one letter at a time. I don't have the time right now to write/test this code but it would look something vaguely like this:

Slow Output <dictation>

 

Sub Main

   Dim out As String

   Dim outLength As Integer

 

   out = ListVar1

   outLength = Len (out)

   For increment = 1 To outLength' there's a chance that that there is an "off-by-one" error here

      SendKeys Mid (out, increment, 1), 1

      Wait 0.3'again your timing will vary

   Next increment

End Sub

 



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

-Edgar
DPI 15.3, 64-bit Windows 10 Pro, OpenOffice & Word 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

 07/01/2020 11:00 AM
User is offline View Users Profile Print this message


Shabill
Senior Member

Posts: 110
Joined: 05/16/2011

Thank you!

Unfortunately, it seems I have a different issue ... the keys are for some reason not coming through as they would be if I entered them myself no matter how much I slow them down. For instance, we have a spam filter that I have to log into in frequently. When I click the link in my email, it opens a web browser. If I do it manually, then I can hit {Tab} five times, and reliably, every single time wind up on the username field. For some reason, the same sequence of keystrokes does not work when I ask KnowBrainer to do it (not blaming KnowBrainer of course ... Citrix stinks), but I'm trying to figure out why so I can figure out how to fix it, and am stymied.

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

DNS 15 / KB 2018 / pcbyVoice
Work:  9-in-1 TableMike USB / Win10 64bit / i7-6700 QuadCore 3.4GHz / 24GB
Home:  Sennheiser ME65/K6 / Win10 64bit / i7-6700 QuadCore 4.0GHz / 32GB

 07/01/2020 11:45 AM
User is offline View Users Profile Print this message


MTreloar
Senior Member

Posts: 123
Joined: 12/05/2010

Not sure if this would work in your use case. However, it works for me. The key idea is to dictate locally and paste remotely. I use SpeechProductivityPro (SP) to dictate. On closing, SP automatically populates the clipboard. I use a clipboard utility "Clipmante". It is ancient, but continues to work flawlessly in Win 10 v 2004. So with the dictated text in Clipmate, I navigate to the receiving spot by voice in the Citrix remote application and paste. In my case, it is a version of MS Word running on a Citrix HDX virtual desktop. In creating the KB command, I need to fiddle with timings between steps sometimes, but mostly it works. Here is an example. First step is not shown - a repurposed KB command "DeeBox" to open SP.

'Close (Alt-F4) SPDbox and automatically copy to the clipboard
SendKeys "%{F4}"
Wait 0.5
'Bring up Clipmate
SendKeys "^%c"
Wait 0.5
SendKeys "^%u"'Format as ALL CAPS
Wait 1
'Switch from Clipmate to Production VDI
EmulateRecognition "Switch to production VDI"
Wait 1
SetMousePosition 1,658,307
Wait 0.5
ButtonClick 1,1
Wait 0.5
'Ensure focus in Production VDI and slow down transfer
SendKeys "{Left}"
Wait 0.5
SendKeys "^v"



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

DPI 15/DMPE 4, KB2017, SpeechProductivity 5 std, Win10x64 (1909), Xeon E3 2.8GHz 64GB DDR4, Focusrite Scarlett Solo 3; Behringer Uphoria UM2, AKG HSC271 mic



 07/01/2020 11:50 AM
User is online View Users Profile Print this message

Author Icon
Lunis Orcutt
Top-Tier Member

Posts: 37599
Joined: 10/01/2006

Because you are constructing your commands in KnowBrainer, you won't be able to use SendDragonKeys (which is Nuance's feeble attempt to keep the SAX scripting engine alive until Ver. 16 is released). You can only use SendSystemKeys in Dragon or KnowBrainer DVC scripts but this is a viable option. KnowBrainer supports VB (which is more likely what you are using, .net and Dragon's legacy DVC scripting. If you would like to see example of a KnowBrainer DVC script, say Edit Global Command <other window>. However, Edgar's recommendation should also work. Just increase your wait times between each hotkey 



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

Forum Mission Statement
Trial Downloads
Dragon/Sales@KnowBrainer.com 
(615) 884-4558 ext 1



 07/01/2020 06:08 PM
User is offline View Users Profile Print this message

Author Icon
Ag
Top-Tier Member

Posts: 402
Joined: 07/08/2019

Another possibility which will probably get me yelled at in this forum would be to have the speech command you write connect to AutoHotKey, and then use SetKeyDelay , Delay, PressDuration, Play], -- but only for the flavors SendPlay and SendEvent, not for simple SendInput.

I have occasionally found that PressDuration as well as Delay needs to be tweaked. I don't know about Citrix, since fortunately I no longer have to use Citrix.

When I first started using Dragon recently I was under the misapprehension that AutoHotKey was only for keyboard shortcuts. Although I was able to have Dragon/KnowBrainer emit keyboard events that AutoHotKey intercepted, and still use that in a few cases, that was painful. However PG_LTU pointed out that AutoHotKey could be as a generic scripting language, processing command line options. So you just have your Dragon/KnowBrainer script call ShellExecute of an AHK script.

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

DPG15.6 (also DPI 15.3) + KB, Sennheiser MB Pro 1 UC ML, BTD 800 dongle, Windows 10 Pro, MS Surface Book 3, Intel Core i7-1065G7 CPU @ 1.3/1.5GHz (4 cores, 8 logical, GPU=NVIDIA Quadro RTX 3000 with Max-Q Design.

 07/02/2020 10:10 AM
User is offline View Users Profile Print this message

Author Icon
Edgar
Top-Tier Member

Posts: 823
Joined: 04/03/2009

Originally posted by: AgPG_LTU pointed out that AutoHotKey could be as a generic scripting language, processing command line options. So you just have your Dragon/KnowBrainer script call ShellExecute of an AHK script.

While I use AutoIT3 not AutoHotKey (it's almost as powerful and the code looks like Basic), I have almost completely stopped writing complicated scripts in KnowBrainer (and virtually never in Dragon). During debugging this eliminates the ten second delay from KnowBrainer each time you make a change (you create one KnowBrainer ShellExecute script and never change it). I've even started just recently to do this with C#.



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

-Edgar
DPI 15.3, 64-bit Windows 10 Pro, OpenOffice & Word 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

 07/02/2020 11:26 AM
User is offline View Users Profile Print this message


Shabill
Senior Member

Posts: 110
Joined: 05/16/2011

This is a really interesting concept. I seem to be able to dictate text into Citrix no problem; it's the commands that are hanging up, because for instance Shift-Tab from KnowBrainer only sometimes takes me to folders in (Citrix) Outlook (whereas it does it every time when I actually press the keys manually). So a different way of sending keys (through AutoHotKey) might just be the ticket. I won't be doing anything too complicated because I don't have the programming background!

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

DNS 15 / KB 2018 / pcbyVoice
Work:  9-in-1 TableMike USB / Win10 64bit / i7-6700 QuadCore 3.4GHz / 24GB
Home:  Sennheiser ME65/K6 / Win10 64bit / i7-6700 QuadCore 4.0GHz / 32GB

 07/02/2020 02:40 PM
User is online View Users Profile Print this message

Author Icon
Lunis Orcutt
Top-Tier Member

Posts: 37599
Joined: 10/01/2006

Anytime you run into a KnowBrainer command that refuses to work in certain situations, like Citrix, you can change any KnowBrainer or Dragon VBScript to a DVC script like we just did to the KnowBrainer Shift Tab command, which you can optionally update through your KnowBrainerCommandsUpdater utility. You can see how we did this by saying Edit Global Command <shift tab> and edit any other KnowBrainer command. When you convert a VBScript to DVC, it will also utilize multithreading (unlike VB) and that's why it works.



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

Forum Mission Statement
Trial Downloads
Dragon/Sales@KnowBrainer.com 
(615) 884-4558 ext 1



 07/02/2020 04:01 PM
User is offline View Users Profile Print this message


Shabill
Senior Member

Posts: 110
Joined: 05/16/2011

I don't have that command so I tried updating my commands and the KB Commands Updater Ver 1.0.2 returned the following:

You are running version:
The latest version is:
Close

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

DNS 15 / KB 2018 / pcbyVoice
Work:  9-in-1 TableMike USB / Win10 64bit / i7-6700 QuadCore 3.4GHz / 24GB
Home:  Sennheiser ME65/K6 / Win10 64bit / i7-6700 QuadCore 4.0GHz / 32GB

 07/02/2020 08:47 PM
User is online View Users Profile Print this message

Author Icon
Lunis Orcutt
Top-Tier Member

Posts: 37599
Joined: 10/01/2006

We incorrectly labeled the Build version, which has been fixed. Your updater should work fine now. Our apologies



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

Forum Mission Statement
Trial Downloads
Dragon/Sales@KnowBrainer.com 
(615) 884-4558 ext 1

KnowBrainer Speech Recognition » KnowBrainer Software and Support » Text speed

Statistics
31670 users are registered to the KnowBrainer Speech Recognition forum.
There are currently 3 users logged in.
The most users ever online was 4473 on 07/17/2020 at 10:00 AM.
There are currently 358 guests browsing this forum, which makes a total of 361 users using this forum.

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