![]() |
KnowBrainer Speech Recognition | ![]() |
Topic Title: How many commands do the experts have and use? Topic Summary: I think I'm almost a Jedi Knight apprentice by now Created On: 02/05/2021 01:35 AM Status: Post and Reply |
|
![]() |
![]() |
- kkkwj | - 02/05/2021 01:35 AM |
![]() |
![]() |
- MDH | - 02/05/2021 08:24 AM |
![]() |
![]() |
- Alan Cantor | - 02/05/2021 09:03 AM |
![]() |
![]() |
- Matt_Chambers | - 02/05/2021 09:38 AM |
![]() |
![]() |
- kkkwj | - 02/05/2021 10:41 AM |
![]() |
![]() |
- Edgar | - 02/05/2021 11:32 AM |
![]() |
![]() |
- Ag | - 02/09/2021 02:30 PM |
![]() |
![]() |
- R. Wilke | - 02/09/2021 03:26 PM |
![]() |
![]() |
- wristofdoom | - 02/05/2021 11:23 AM |
![]() |
![]() |
- kkkwj | - 02/05/2021 04:09 PM |
![]() |
![]() |
- Edgar | - 02/06/2021 12:05 PM |
![]() |
![]() |
- kkkwj | - 02/09/2021 01:13 AM |
![]() |
![]() |
- Ag | - 02/09/2021 02:51 PM |
![]() |
![]() |
- Edgar | - 02/10/2021 11:04 AM |
![]() |
![]() |
- R. Wilke | - 02/05/2021 04:11 PM |
![]() |
![]() |
- wristofdoom | - 02/05/2021 04:25 PM |
![]() |
![]() |
- R. Wilke | - 02/05/2021 05:46 PM |
![]() |
![]() |
- kkkwj | - 02/05/2021 04:32 PM |
![]() |
![]() |
- dilligence | - 02/05/2021 08:05 PM |
![]() |
![]() |
- R. Wilke | - 02/07/2021 02:10 PM |
![]() |
![]() |
- dilligence | - 02/07/2021 07:57 PM |
![]() |
![]() |
- R. Wilke | - 02/08/2021 02:04 PM |
![]() |
![]() |
- dilligence | - 02/08/2021 03:28 PM |
![]() |
![]() |
- Ag | - 02/05/2021 05:30 PM |
![]() |
![]() |
- MDH | - 02/05/2021 08:34 PM |
![]() |
![]() |
- Ag | - 02/08/2021 03:15 PM |
![]() |
![]() |
- kkkwj | - 02/05/2021 06:52 PM |
![]() |
![]() |
- Ag | - 02/08/2021 03:43 PM |
![]() |
![]() |
- kkkwj | - 02/11/2021 07:44 PM |
![]() |
![]() |
- R. Wilke | - 02/11/2021 08:21 PM |
![]() |
![]() |
- kkkwj | - 02/12/2021 12:28 AM |
![]() |
![]() |
- Lunis Orcutt | - 02/05/2021 09:02 PM |
![]() |
![]() |
- Ag | - 02/08/2021 03:49 PM |
![]() |
![]() |
- kkkwj | - 02/06/2021 12:43 AM |
![]() |
![]() |
- sterlingtimes | - 02/06/2021 08:16 AM |
![]() |
![]() |
- kkkwj | - 02/06/2021 01:06 PM |
![]() |
![]() |
- Lunis Orcutt | - 02/07/2021 04:10 PM |
![]() |
![]() |
- Ag | - 02/08/2021 03:56 PM |
![]() |
![]() |
- kkkwj | - 02/09/2021 01:18 AM |
![]() |
![]() |
- sterlingtimes | - 02/07/2021 04:09 AM |
![]() |
![]() |
- Alan Cantor | - 02/07/2021 10:17 AM |
![]() |
![]() |
- Ag | - 02/08/2021 05:13 PM |
![]() |
![]() |
- kkkwj | - 02/09/2021 01:02 AM |
![]() |
![]() |
- Ag | - 02/09/2021 01:43 PM |
![]() |
![]() |
- kkkwj | - 02/07/2021 05:44 PM |
![]() |
![]() |
- monkey8 | - 02/08/2021 02:12 PM |
![]() |
![]() |
- kkkwj | - 02/09/2021 01:32 AM |
![]() |
![]() |
- monkey8 | - 02/09/2021 07:49 AM |
![]() |
![]() |
- sterlingtimes | - 02/09/2021 03:25 PM |
![]() |
![]() |
- kkkwj | - 02/09/2021 06:12 PM |
![]() |
![]() |
- sterlingtimes | - 02/10/2021 04:49 AM |
![]() |
![]() |
- kkkwj | - 02/11/2021 06:09 PM |
![]() |
![]() |
- monkey8 | - 02/11/2021 06:17 PM |
![]() |
![]() |
- kkkwj | - 02/11/2021 01:36 PM |
![]() |
![]() |
- R. Wilke | - 02/11/2021 02:45 PM |
![]() |
![]() |
- monkey8 | - 02/11/2021 05:45 PM |
![]() |
![]() |
- R. Wilke | - 02/11/2021 07:16 PM |
![]() |
![]() |
- Edgar | - 02/10/2021 06:23 PM |
![]() |
![]() |
- Lunis Orcutt | - 02/08/2021 03:31 PM |
![]() |
![]() |
- Ag | - 02/08/2021 10:27 PM |
![]() |
![]() |
- Matt_Chambers | - 02/10/2021 11:02 AM |
![]() |
![]() |
- kkkwj | - 02/11/2021 08:55 PM |
![]() |
![]() |
- monkey8 | - 02/12/2021 06:48 AM |
![]() |
![]() |
- Matt_Chambers | - 02/12/2021 08:45 AM |
![]() |
![]() |
- Matt_Chambers | - 02/12/2021 06:35 AM |
![]() |
![]() |
- alexander | - 02/19/2021 08:41 PM |
![]() |
![]() |
- dilligence | - 02/19/2021 11:22 PM |
![]() |
![]() |
- Matt_Chambers | - 02/20/2021 09:30 AM |
![]() |
![]() |
- kkkwj | - 02/21/2021 03:44 PM |
![]() |
|||
Exactly, Alan. The best commands are the ones that can do multiple things.
Also, I have commands with different names that do exactly the same thing. If I'm feeling energetic, I will combine their names into a List and then have only one command, but if I don't I might have four or five commands. The Command Browser says that I have 736 commands. This is trimmed down from 10 years or so ago, when I worked in an office and was very worried about efficiency. Now, I only use the software that I want to use. |
|||
|
|||
![]() |
|||
Just to add a bit of clarity, I suppose no experienced person would confuse the number of commands with the number of possible operations, as Alan points out. It seems to me that what I call "dynamic data" commands (or what I think Lunis calls "AI" commands) count as one command, even though they can accept an infinite number of data variations in the variable
I have been thinking about what it means to have a large set of commands and how the size and functionality of command sets might be used in some productive way. It seems to me that as soon as you get past the beginner stage with voice, you benefit more and more from a predictable syntax for the commands in your set so that you can remember/access/speak them with reasonable effort and accuracy. For example, the problem of "remembering commands" has been mentioned on the forum many times. Even the default Dragon set of commands, out of the box, has so many variations for the same thing that they can be difficult to access and benefit from. Another ongoing issue mentioned less often here, is that the command set is usually grown incrementally with command names that are assigned on the fly in a stream-of-consciousness way. In other words, with whatever syntax that makes sense at the moment for that single command, without considering the predictability or syntactic structure of the whole set. I have questions around this topic like, Which commands will help me the most for productivity? (depends on individual workload mixes), How many commands are required for typical workload/workspaces? (probably depends on novice/expert status in the workspace), and musings like Could voice (overall) ever be faster and more productive than fingers alone? Command set sizes, functionalities, and syntaxes all seem to influence the answers to those questions. The questions also help to distinguish accessibility from ultimate productivity, since productivity involves many more things than just accessibility. For example, some of the things that limit my productivity are debugging things, implementing code that becomes inadequate later because I didn't do enough design upfront in the process, and looking up things and examples that I need to learn/use to reach my goals. I wonder and experiment with how voice can help those situations. ------------------------- Win10/x64, AMD Ryzen 7 3700X, 64GB RAM, Dragon 15.3, SP 6 PRO, SpeechStart, Office 365, KB 2017, Dragon Capture, Samson Meteor USB Desk Mic, Klim and JUKSTG earbuds with microphones, 3 BenQ 2560x1440 monitors, Microsoft Sculpt Keyboard and fat mouse |
|||
|
|||
![]() |
|||
I suspect that the "how many commands" question actually has two parts: how many command names there are overall (I have 140 personal Dragon commands and 3189 KnowBrainer commands); how many lines of code are there (when I export my Dragon custom commands to an XML file and remove all blank lines the total line count is 4896, doing the same with the KnowBrainer commands file the total line count is 46025). Unfortunately, for me this line count is confused by the fact that I have about 10 commands whose sole content look like: ------------------------- -Edgar |
|||
|
|||
![]() |
|||
For example, the problem of "remembering commands" has been mentioned on the forum many times. Even the default Dragon set of commands, out of the box, has so many variations for the same thing that they can be difficult to access and benefit from.
More and more I am finding that I want consistent commands - whether global, application-specific, or whether specific. E.g. "highlight red" should work the same whether in word, outlook, Thunderbird, or even this forum. and when it does not work, I want to get an error message of the form "highlight XXX does not work in this application", rather than and obscure beep error, or the words inserted.
But not just that: e.g. I have all of the X Windows color names, accessible for applications that support them, so I can say "highlight antique white" in Thunderbird, but OneNote only supports a much smaller set of colors. So I want to have an error message like "this color cannot be used in OneNote".
Consistency => less to remember.
Error messages, e.g. about using a command in unsupported context => helps correct misremembering or misunderstanding. stressing out about remembering commands is also cognitive load.
We have elsewhere talked about command completion, or conversational interactions to determine what can be said. (Better than Dragon's "What can I say?")
I am not so sure that variations of the same thing are bad. E.g. The variants described by the regex below (move )?mouse( to)( (text (cursor|position)})(text )?caret) allowing me to say any of the fgollowing (and quite a few more) move mouse to text cursor makes thing more convenient. I find that I can more easily remember the more verbose form when I have not used the command in a long time, but allowing the more concise forms makes me more efficient when using frequently.
Yep. So treat it just like programming, which actually is: refactor. encourage creation of consistent, predictable, command sets. but just as in refactoring a program, provide aliases that forward the original syntax to the consistent set. Ideally with a suggestion system, to encourage the user to adopt the new syntax. eventually, if too much clutter, remove the original. just like commands are developed incrementally, refactoring is incremental.
Yep, hence this conversation.
But we need to do better than anecdotes, or even just reporting.
I have been collecting statistics wrt my "PUFF " commands which are misrecognized, motivating redesign and also creating forwarding stubs in Dragon/KnowBrainer commands.
I am starting to collect stats for correctly recognized invocations of my "PUFF " commands.
I have not yet but am on the verge of about collecting stats for all, or at least as many as possible, Dragon/KnowBrainer commmands. I am reluctant to modify the D/KB command bodies, because that makes upgrading more painful. but I am considering (a) adding distinct prefixes to the legacy D/KB commands, perhaps "LEGACY some-command", which is easy enough to reverse when updating, and (b) creating wrappers, perhaps "PUFF some-command", which record stats and then forward via HeardWord to "LEGACY your-favorite-command". ("PUFF LEGACY some-command" in case of conflicts.) I have not gone so far yet because this will multiply the number of commands by 2X or more, and as this thread has discussed I am already close to that limit in some cases, and (b) I have found HeardWord unreliable. I would hope that there is a better way to wrapperize commands. Perhaps one can subscribe to the recognition history? NatLink experts like r.wilke may know.
------------------------- 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. |
|||
|
|||
![]() |
|||
AG, putting your verbose bursts of brainstorming aside, it seems that by now, you got the concepts, and can tell the difference.
Sure it is doable, but not straight from Dragon, not even the through the SDK. As an example, my DragonEcho does that, in the background, and you may give it try and tell me if this is what you have in mind, to begin with.
-------------------------
|
|||
|
|||
![]() |
|||
I have 430 commands in Dragon (not counting). I have been using dictation for about one year and consider myself a lowly padawan.
As mentioned, many of my commands perform many different functions although they are only a single command. At the same time, several of my commands could be condensed into a single command but are not. ------------------------- Dragon Professional Individual v15.6. Windows 10. Knowbrainer 2017. |
|||
|
|||
![]() |
|||
Edgar and Wrist, thank you for posting info on your command sets. If this thread collects enough information to be useful, I'll write up a summary once the data is in.
Edgar, 1) What's the difference between what you call a personal command (140) versus a KB command (3189)? Are you saying KB ships with 3189 commands and that you didn't write them? 2) Codebox - I looked it up, but there's no documentation. Is it really useful? Does it allow you to replace parameters like VStudio does? 3) Are 130 of your 140 commands "AppBringUp "u:\external\*.exe" commands? It sounds like a huge number of your commands are basically unique names for snippets (data fetch operations) as opposed to functional ops (doing something useful in apps, moving windows, etc.) Is that a fair assumption? (I'm trying to intuit what percentage of your commands are associated with programming, and with data/snippet fetches within programming, if you see what I mean.) How can we get a grip on, and understanding of, the content and functionality of the "voice namespace" used by experts, apprentices, and Padawans? ------------------------- Win10/x64, AMD Ryzen 7 3700X, 64GB RAM, Dragon 15.3, SP 6 PRO, SpeechStart, Office 365, KB 2017, Dragon Capture, Samson Meteor USB Desk Mic, Klim and JUKSTG earbuds with microphones, 3 BenQ 2560x1440 monitors, Microsoft Sculpt Keyboard and fat mouse |
|||
|
|||
![]() |
|||
2) Codebox - I looked it up, but there's no documentation. Is it really useful? Does it allow you to replace parameters like VStudio does? 3) Are 130 of your 140 commands "AppBringUp "u:\external\*.exe" commands? 1) "personal Dragon commands" - those are commands written in the Dragon® Command Browser by me (a tiny number of these are commands that would not work in KnowBrainer for one reason or another (mainly dealing with Unicode characters - which Dragon® does poorly but KnowBrainer doesn't do at all); quite a few are duplicates of KnowBrainer commands with slightly different names so that I can be sure that a command that I am sharing will work in both situations; the brunt are there for historical reasons). 2) "CodeBox" is an application I wrote many years ago (and quickly abandoned - never released to the public) to take the place of Dragon®’s Dictation Box. This was back in the days before DragonCapture and SP Pro’s DB. I soon replaced it with a macro that selected and copied the text of the current function, opened PSPad (my preferred code editor when I can't use Visual Studio) and pasted in the function. The second macro transfers it back (I have Visual Studio set to reformat on paste). Neither PSPad nor CodeBox allow for replacement like IntelliSense does (although I have never tried PSPad as a complete IDE - it does a lot of things like intelligent formatting and some colorization - but I don't think it has anything like IntelliSense). I also had 64 special commands (KnowBrainer) for directly editing HTML code (I recently compressed this down to 4 commands with one of the commands having a list of 59 "triggers" which takes the place of most of those special commands). 660 of my KnowBrainer custom commands are directly related to programming with wxWidgets (a cross-platform development tool). I should probably get rid of these as they have not been needed in years! They are all in a special global scope in my KnowBrainer's command file so can easily be removed and replaced at need by directly editing the file. ------------------------- -Edgar |
|||
|
|||
![]() |
|||
+10 Edgar, thank you for providing a detailed response. I missed it because of the threading of posts; I was only looking at the end of the whole thread.
I surmise from many of the posts that the strict number of commands is only one "boundary" (max) indicator. Two other related indicators are 1) the number of idle commands that are never used, and 2) the "being used" set (that would obviously vary with the mix of workload tasks such as browsing, coding, writing, etc.) Maybe we could contemplate a 1-year timeout boundary for when a command transitions from "being used" to "never used."
Or maybe a useful ("right") way to present command sets is to break them down by application or worktask categories, such as N commands for Excel, N for Chrome, NN for snippets, and so on.
I'm trying to collect metrics on the command counts that I have and usage counts that I use, but I haven't tried to analyze teh data yet (and probably don't have enough to be meaningful anyway, yet). It will be a long process, no doubt. And I don't know what I would do with the numbers anyway (thus asking on this thread).
It would be nice if we could say to new users something like, "If you're going to write code the way Edgar does, you need to become familiar with N zotz commands to be an expert," or "If you're going to write/program/script/ like Ag does, you will need to learn Emacs and the obarray (5 years of effort :-)), have NNN external AHK scripts, etc.", and so on. I'm trying to get a grip on the size of the knowledge base/command base/procedure base that experts use. ------------------------- Win10/x64, AMD Ryzen 7 3700X, 64GB RAM, Dragon 15.3, SP 6 PRO, SpeechStart, Office 365, KB 2017, Dragon Capture, Samson Meteor USB Desk Mic, Klim and JUKSTG earbuds with microphones, 3 BenQ 2560x1440 monitors, Microsoft Sculpt Keyboard and fat mouse |
|||
|
|||
![]() |
|||
AHK's original syntax is just awful, isn't it?
However, AHK is evolving. It now also has much more conventional C style syntax, functions, variables, objects, classes, etc.
I only use AHK because it was the first UI automation tool I found for Windows - the first tool I found it made easy to hook hotkeys and mouse events.
I would much rather use a decent language like Python. I would like to be able to leverage some of my code to MacOS and Linux, rather than having to rewrite in whatever languages are appropriate to those systems. (More likely, not rewrite, because I am too lazy and my copious free time has not yet arrived.)
I am quite insistent on having interpretation as an option, however, and avoiding compilation steps that might slow the incremental prototyping cycle. compilation is great when performance becomes a problem, and of course languages like AHK and Python support compilation as well as interpretation.
Hmmm... remind me... I know that C# can be compiled. But .NET also supports interpreters. Q: is there an interpretive mode for C#?
I have been reluctant to use C# the way you have been, Edgar, (a) because I already have AHK legacy, (b) because of my possible ignorance of interpretation for C#, and also (c) because I think of C# as mostly a Windows language. But I know that there are open-source implementations of C# like Mono, But perhaps I am too reluctant. I do like C# as a language. I would love to have LINQ on Linux.
Q: is there a way to hook keystrokes and mouse events (and Joystick events, and...) in C#, as easily as there is in AutoHotKey?
Although, I really do wish that the same applied to Python. As a programming language, Python > C# > AHK, in terms of portability and ubiquity.
------------------------- 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. |
|||
|
|||
![]() |
|||
I am currently working on a project in C# and .NET which hooks in at a very low level and captures keystrokes (and…, but not for me). .NET does not have any direct way to do this but there are a lot of examples online and a number of open source libraries. ------------------------- -Edgar |
|||
|
|||
![]() |
|||
Back in the day when the grass was still greener here, at around 2013 and after, and while valid testing procedures and testing materials were still provided, and also before would-be programmers and experts took over, for that matter, the lines were quite clear:
Dragon starts being affected past approximately 2,500 custom commands, starts taking a severe hit past around 5,000 custom commands, and becomes pretty much unusable past 6,500 custom commands. -------------------------
|
|||
|
|||
![]() |
|||
Does that include Knowbrainer commands? ------------------------- Dragon Professional Individual v15.6. Windows 10. Knowbrainer 2017. |
|||
|
|||
![]() |
|||
That includes any kind of custom commands, and although the limits are fairly approximate, just forget about any and all kinds of babble otherwise.
-------------------------
|
|||
|
|||
![]() |
|||
I haven't experienced the super Dragon slowdowns that others have mentioned here, maybe because I don't use any lists like <1to300> that are spoken of as being culprits because they expand the search space that Dragon must search for any appropriate command.
The place where I see a slowdown is opening the Command Browser. I only have a few hundred commands in there, and I get bored waiting 10 seconds for it to load on my fast machine. I cringe when I think of loading up a few thousand.
On the topic of dynamic commands like "fetch my snippet <one of a thousand spoken names>", it seems to me there's a good argument for classifying that whole structure as N distinct commands because the user must remember N different concepts (and names) to get the right piece of data. Is there any user-oriented difference between N separate commands to fetch N snippets and 1 dynamic command that fetches N snippets? I don't think so, because the user (not the programmer) doesn't know how the command is implemented under the hood.
Maybe a better set of questions might include questions like, "How many commands/snippets does a Jedi Knight need to program effectively by voice in C# or Basic?" or "What's the typical ratio between percent of programming commands that fetch data snippets versus perform operations such as find/replace, compile, navigate among N files and M methods in each file?" Does a person spend more time writing snippet-fetch and instantiation commands, doing web searches for code examples and documentation, or writing commands to represent long sequences of keystrokes? I get the sense that the right set of questions to ask varies with the workspace area (for example, programming versus document writing). ------------------------- Win10/x64, AMD Ryzen 7 3700X, 64GB RAM, Dragon 15.3, SP 6 PRO, SpeechStart, Office 365, KB 2017, Dragon Capture, Samson Meteor USB Desk Mic, Klim and JUKSTG earbuds with microphones, 3 BenQ 2560x1440 monitors, Microsoft Sculpt Keyboard and fat mouse |
|||
|
|||
![]() |
|||
Did you actually test those numbers yourself?
Let's quickly return to the present day where the grass is very green to those with fresh ideas (let some nagging oldies revel in their abandon ;-)).
I think the basic idea would be to unburden Dragon as much as possible, hence strive for a minimum amount of voice commands in the Command Browser. Therefore Kevin's concept of dynamic commands is a refreshing and important one indeed.
Another approach (the SP approach) is to let very fast, "on-demand" add-ons do the heavy lifting of many types of Dragon enhancements. Use Dragon only to launch them with very simple, low footprint commands (instead of hooking into Dragon or using its com). Once used, they will be unloaded from memory immediately. That way we can be sure that Dragon will never be slowed down.
By the way the current amount of commands in my Command Browser is around 700. Still too much I think, but I used to have many more. Did a thorough cleanup a while ago. ------------------------- |
|||
|
|||
![]() |
|||
Did you actually test those numbers yourself?
Let's quickly return to the present day where the grass is very green to those with fresh ideas (let some nagging oldies revel in their abandon ;-)).
I think the basic idea would be to unburden Dragon as much as possible, hence strive for a minimum amount of voice commands in the Command Browser.
Therefore Kevin's concept of dynamic commands is a refreshing and important one indeed.
Another approach (the SP approach) is to let very fast, "on-demand" add-ons do the heavy lifting of many types of Dragon enhancements. Use Dragon only to launch them with very simple, low footprint commands (instead of hooking into Dragon or using its com).
Personally, you are nothing but a loudmouth, and technically, you are a complete failure.
Sure I tested the amounts which I quoted. Bascially by employing some Dragon programming, and providing a means to run the testing on comparable sets of data, which already puts you out of the discussion.
The testing clearly showed that, with any amount of commands being added to the recogniser to listen for, performance is affected, gradually.
Your notion of "the heavy lifting of Dragon enhancements hooking into Dragon or using its com", aside from being misspelled miserably, clearly shows the kind of expertise you have accomplished: Not worth the bytes you are wasting on us. -------------------------
|
|||
|
|||
![]() |
|||
@ Wilke
"Sure I tested the amounts which I quoted. Bascially by employing some Dragon programming".
So you're telling us that you actually tested 2500, 5000 and 6500 commands for real in your Dragon Command Browser? Not by simulating this in one of your (commercially unviable) utilities, but in real time on your system?
I don't think so!
Now to the next part of your very "socially skilled" reply:
Personally, you are nothing but a loudmouth, and technically, you are a complete failure.
It must be agonizing for someone who's been programming "for decades" (particularly with such a bloated ego) to see a relatively new developer coming up with a Dragon® Add-ons package that's commercially 10 times more powerful than anything you could ever come up with. In barely 3 years....Independently, without daddy holding his hand
Can you imagine what I'm going to come up with in the next couple of years? I can, and so can the ever-growing Speech Productivity community.
But wait... I'm not the only one. There's more going on... Wait and see ------------------------- |
|||
|
|||
![]() |
|||
"Sure I tested the amounts which I quoted. Bascially by employing some Dragon programming".
Rob,
Aside from being a plain pain in the neck, you don't even get the most simple concepts.
Sure you can add commands in batches the size of 250 each, programmatically, thus making your testing scalable, although it takes some preparation to admit, but I won't go into the details of how this is done. You wouldn't get it anyway.
Your ongoing comments about "social skills" surely goes without commenting. Just go ahead like that, and give us some more of it.
Bottom line: You are pretty much delusioned, all the way.
-------------------------
|
|||
|
|||
![]() |
|||
Rob,
Your ongoing comments about "social skills" surely goes without commenting. Just go ahead like that, and give us some more of it.
Bottom line: You are pretty much delusioned, all the way.
Your exquisite responses appear to have the welcome side effect of bringing in new SP customers. Three in the past hour And the night is still young...
Thank you!
------------------------- |
|||
|
|||
![]() |
|||
If you start seeing VCMDERR_MENUTOOCOMPLEX in your Dragon or KnowBrainer logs, it very much seems as if you have exceeded the number of commands that Dragon supports. created 1/7/2018, migrated Jul 27, 2019, says: Dragon allows up to 3000 custom commands within each user profile. This value can be altered to a value of "4000" by following the steps below:
Set "Max Commands In State=4000" in [nssystem.ini] under Settings section. If this line is not present add this line to this file. Now, that particular help page may apply to Dragon Medical or some similar product, and not exactly to DPI or DPG. It is not clear to me if the limit is 3000 custom commands, applying to the total of all global commands and all application/window specific commands, or if the limit is just how many commands are active at any time, i.e. the sum of all global commands and application/window specific commands for the current application/window. I suspect the latter, since I have seen the VCMDERR_MENUTOOCOMPLEX error occur when I switch to an app/window that has a particularly large number of context-sensitive commands, and then go away for a while when I am switching between applications that do not have so many contexts sensitive commands. But I also have reason to suspect the former, since things started getting really bad for me when the total number of commands, both KnowBrainer and my own, reached 3119; and things got better when I removed many KnowBrainer commands that I do not use. Especially for applications that I never use, also quite a few global commands. I now have 1851 total commands (both mine and standard KnowBrainer, global + all app/windows), and I'm much happier. I have not had any of the horrible stalls of several minutes or longer for quite some time. As I have mentioned elsewhere, I am in the process of moving many of my commands from Dragon and KnowBrainer into AutoHotKey. Reducing command count was not one of the original reasons I started doing this, but reducing D/KB command count is a nice side effect that may also be contributing to my increased happiness.
One of the nice things about my AHK approach is that I can have many more variants of command syntax, variants that make it easier for me to say the right thing, without imposing on the D/KB limits. ------------------------- 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. |
|||
|
|||
![]() |
|||
"Dragon allows up to 3000 custom commands within each user profile. "
Yes, several years ago I posted about this where I clearly determined, at that time, that 3,000 commands was the maximum. After that, commands were not recognized for me. And none of those were List commands, which I suspect would lower that maximum. Now with newer versions, this previously discovered maximum may well have been modified.
MDH ------------------------- |
|||
|
|||
![]() |
|||
I forgot to say - I tried to follow Nuance's directions to increase number of commands
Set "Max Commands In State=4000" in [nssystem.ini] under Settings section
but it did not seem to work
I will be interesting to hear if anyone has increased the limit.
------------------------- 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. |
|||
|
|||
![]() |
|||
Hi Ag, thank you for contributing some numbers and thoughts to the discussion. When you say that your AHK approach allows you to "have many more variants of command syntax," do you mean that your (single) AHK code does more parsing of the incoming syntax than Dragon/KB scripts would do? Or asked another way, what do you mean by "more variants" (of what, exactly? the part? Or the initial command words parts?) ------------------------- Win10/x64, AMD Ryzen 7 3700X, 64GB RAM, Dragon 15.3, SP 6 PRO, SpeechStart, Office 365, KB 2017, Dragon Capture, Samson Meteor USB Desk Mic, Klim and JUKSTG earbuds with microphones, 3 BenQ 2560x1440 monitors, Microsoft Sculpt Keyboard and fat mouse |
|||
|
|||
![]() |
|||
Yes. I have been meaning to post examples, but while they are making them happy, they are not yet at the point where I would not be embarrassed to post.
I should also add that my numbers are just how many commands are or were in MyKBCommands.xml file.
I am almost certainly not using all 1865 commands left over after I removed the applications I do not use.
I have been keeping statistics on some of the commands that I use, but have not yet started doing so for the KnowBrainer commands. the most useful statistic I have found so far has been "things that I say that I expect should be a command but which were not". if I make such errors repeatedly, I go and add them as a variant. ------------------------- 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. |
|||
|
|||
![]() |
|||
I took the time to make up a little spreadsheet of the numbers that people have kindly contributed to the discussion. I have attached a screenshot of my little spreadsheet in this post. My comments follow:
First, it's hard to compare numbers since people contributed them in different ways. For example, Edgar (and I) separated out our KB and Dragon and external commands, but Ag gave only a total (after deleting a thousand commands from Dragon and KB). Edgar said somewhat less than half (I picked 45% on a guess) of his commands were for snippets. (I don't know if the other 55% were for non-snippet programming or what... :-) More than half of my commands are for writing and graphics (Word/Powerpoint), and I suppose PG has a big set for writing as well. I think we all need more experience at quoting numbers like this if we are to draw any meaning from them.
Second, the big picture is that any Dragon user has access to somewhere around 450 built-in commands, where a command is defined as occupying one line in the command browser. I just estimated 450 = 9 screens @ 50 lines per screen in my command browser.
Third, KB users get another 750 built-in commands according to my estimate of the number of screens x lines-per-screen on the sidebar for my August 2020 command set version. The 750 includes global, application-specific, hardcoded, and Verbal Basic commands. I know it is not exact, but exactness is probably not important since the command load changes on each update.
COMMENTS ON INDIVIDUAL COMMAND SETS (please don't shoot me if I'm wrong)
Most of my work is in writing reports that contain some slides and graphics, so I use Word and PowerPoint a lot. Well over half of my commands, maybe 75% of them, are oriented to that workspace. And those are the commands that I use - format this line bold, format this paragraph as a quote, resize this pasted screenshot to 3x5 inches, and so on. I don't call out to any AHK or AutoIt scripts. If I have to do anything special, I do it in C#. I have so few commands for coding that they are not worth talking about. I wish I had more voice support for coding, but I haven't had the time to build any up. I know Mark has made his extensive C# coding infrastructure available to people on Github, and Edgar has also made some of his tools available. Maybe one day I will get there... :-) I am nowhere near the command count limit of Dragon and have not experienced any slowdowns that I can attribute to a large number of commands. Oh, and PS - I am also experimenting with Utter Command, which provides a built-in, non-extensible set of hardcoded DVC commands, mostly for editing in Word. It has a nice syntax that is well thought out. I am only using a half-dozen of the hundreds of commands at this point. I did not include any of those commands in my command counts above.
Edgar said he had 3189 KB commands (call it 3200), but it wasn't clear to me if that included the 750 default commands. Clearly, if Edgar has 3200 KB commands, his 130 Dragon commands that call AutoIt scripts are a small number in comparison. However, a few of those external callout commands apparently are workhorses for programming because they parse his utterances and insert snippets into his editor buffer. I can easily imagine that those scripts are heavily used and valuable. Edgar apparently operates near the limit of 3000 commands (or whatever it is now) in Dragon. Edgar abandoned AHK because of its weird syntax, and recommends AutoIt as a superior scripting language tool for calling external scripts (better than Dragon or KB Basic, in his opinion). Edgar also writes C# external apps (and probably Basic too).
Ag seems to be unique because of 1) his workspace, which is extensive and seemingly spans both writing and programming, and 2) because he deletes Dragon and KB commands to make room for his own, and because 3) he seems to use every software tool under the sun from Emacs to AHK to Dragon to KB to version control to other apps, and because 4) he wants his command set to work with all those third party programs. Demanding! :-) Like Edgar, Ag operates near the limit of what Dragon can handle in the way of command counts. Ag uses AHK for his scripts because he started out that way, but would rather use something else like Python, except he has a big software mass problem now, and moving all his scripts to something new would take time and effort.
Wristofdoom identified himself as more of an apprentice than an expert, and said he had 430 Dragon scripts. He made no comment about calling external scripting tools like AHK or AutoIt.
GENERAL LESSONS
One thing seems very clear to me from this little survey. All the experts surveyed use a prefix word for a set of their commands. Edgar uses "zotz", Ag uses "puff", and I use "go." Our reasons probably differ under the hood a bit, but we all do it to isolate a set of commands with a prefix word to help manage our command sets in some way.
Another clear message is that the default set of Dragon and KB commands is not big enough to cover the workspace needs of anyone. Granted, Dragon and KB (and any other voice product) cannot possibly ship enough commands to cover everyone's needs. But I'm kind of surprised that all the experts are shipping their utterances outside of the Dragon/KB environments into external script engines like AHK, AutoIt, or C# or Basic compiled programs. (It would probably also be simple to call out to Python as a scripting engine too.) From all this shipping out to external languages for scripting-like tasks (starting apps, waiting for windows to appear, sending keys, etc.), I conclude that Dragon/KB Basic is probably a bit too low-level as a language for many user tasks that need doing. Maybe someone will write a utility library one day that performs these services within the D/KB environment.
I could not draw any more generally useful information out of the postings. If I have missed anything, please speak up. Since all the experts work in different spaces (me documents, Edgar programming in various languages, Ag in firmware documentation and programming in N software tools), it is reasonable that our command sets would be very different.
Hopefully this post and screenshot will be interesting. If other people post data, I will update the spreadsheet and this post. I'm hoping that one day I'll be able to write some suggestions for newbies that "if you want to do this, go this way, use these tools, and write these kinds of commands.
------------------------- Win10/x64, AMD Ryzen 7 3700X, 64GB RAM, Dragon 15.3, SP 6 PRO, SpeechStart, Office 365, KB 2017, Dragon Capture, Samson Meteor USB Desk Mic, Klim and JUKSTG earbuds with microphones, 3 BenQ 2560x1440 monitors, Microsoft Sculpt Keyboard and fat mouse |
|||
|
|||
![]() |
|||
Kevin,
With regards to your statistics, and just to clear. The kind of commands (Dragon, KB, or whatever) and the type (Advanced Scripting, DVC, or whatever) and what they do, doesn't matter as far as the overall payload.
They all go through the Dragon recogniser, and the problem of causing delays comes in with regards to the recogniser having to recognise them first, before executing them, no matter how and to what effect the excecution has been implemented.
So when I set up the testing bed which I mentioned above, which must have been around version 12 if I recall correctly, in order to facilitate a scalable method of determining the impact of overall numbers of commands on the recogniser, I simply did that by creating commands of the following structure:
command 0001
Up until 7,500, and all they did was to respond by popping up message boxes like:
command 0001 recognised
And so on. That way, it was easy enough to create batches the size of 250 commands in each set without doing an awful lot of typing. And of course, find a way to import the batches rather than adding them manually.
Furthermore, I set up a testing program used for loading an audio file which was just a number of commands (built-in commands, for that matter) spoken in a row, to execute standard operations on a text file, such as navigating through the text, selecting text, copying and pasting text, and so on. Dead simple, actually.
Of course, part of the program was counting the time it took from loading the file until finishing processing the file, and logging the results.
Basically, a mixture of a little Dragon programming and a little Windows programming. Well, I was a lot younger then.
Now, what this kind testing showed was, that, with any amount of commands added to the equation, the overall processing times increased accordingly, although ever so slightly at first, but noticeably rapidly once you approached the limits which I quoted above.
So, don't take them as fixed limits, but rather as goalposts. Which are typically not in midfield, as Jacky Charlton used to say.
If I recall correctly, I provided Lindsay with the testing set, and he confirmed my overall findings, relatively to the differences between my hardware and his at that time. -------------------------
|
|||
|
|||
![]() |
|||
Hi RW, thank you for explaining your test rig so clearly; it was easy to understand.
Based on your results, I suppose that it's not a bad idea for Dragon to swap out application-specific commands when the focus changes among apps. If there are not many app-specific commands, the swapping cost will be low.
But if there _are_ a huge number of app-specific commands, then swapping them out will avoid exponential recognition slowdowns if several huge sets of app-specific commands were constantly loaded. If you have a few hundred (or maybe a thousand) app-specific commands for a few apps, it would not take long to hit the slowdown limits.
------------------------- Win10/x64, AMD Ryzen 7 3700X, 64GB RAM, Dragon 15.3, SP 6 PRO, SpeechStart, Office 365, KB 2017, Dragon Capture, Samson Meteor USB Desk Mic, Klim and JUKSTG earbuds with microphones, 3 BenQ 2560x1440 monitors, Microsoft Sculpt Keyboard and fat mouse |
|||
|
|||
![]() |
|||
We thought we should point out that KnowBrainer, and we believe Dragon, temporarily load and unload application-specific commands. Only global commands are loaded full-time. For example, KnowBrainer VerbalBasic II includes a mountain of application/window-specific commands in VerbalBasic II which are only loaded when you are creating/editing a KnowBrainer or Dragon command.
------------------------- Forum Mission Statement |
|||
|
|||
![]() |
|||
Yep - that's why I would see the VCMDERR_MENUTOOCOMPLEX errors only when loading certain applications and windows, but not others.
For that matter, Dragon's options to do things like + Enable HTML support Also caused problems loading certain applications&windows, but not others.
Disabling many of these application/window context-sensitive features has made Dragon much more responsive.
------------------------- 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. |
|||
|
|||
![]() |
|||
Wow Lunis, that's interesting! It's nice to hear that the apps are doing some adaptive namespace management on the fly. I suppose humans also kind of do the same thing and "load up" their memories of relevant commands when working on a project. In the Matrix, we'd call that a temporary download to fly Huey helicopters. :-) But I guess we'd call it an "I have to upload all my memories of these commands again" for humans.
------------------------- Win10/x64, AMD Ryzen 7 3700X, 64GB RAM, Dragon 15.3, SP 6 PRO, SpeechStart, Office 365, KB 2017, Dragon Capture, Samson Meteor USB Desk Mic, Klim and JUKSTG earbuds with microphones, 3 BenQ 2560x1440 monitors, Microsoft Sculpt Keyboard and fat mouse |
|||
|
|||
![]() |
|||
I am within days of being 65. I may be doing less well than others of my age (brain fog?) but I do have some difficulty remembering commands without some hesitation. |
|||
|
|||
![]() |
|||
Hey sterling, I imagine we all try to simplify command sets so they can become more predictive and memorable. When it happens to me, I will often create a new command with whatever utterance I found myself intuitively speaking. Then, I use the count of "same function, different name" commands as indications of recognition or remembering trouble spots.
Lunis, I thought about your comment overnight (about Dragon and KB loading/unloading app-specific commands whenever you enter/leave an application). In my case, I often run Word and Powerpoint side by side when copying/pasting slides into meeting reports. I'll switch focus back and forth many dozens of times when copying slides, sometimes with flipping sequences only seconds apart. Does that mean that Dragon and KB are loading/unloading many hundreds of app-specific commands each time I Alt-Tab? (flush hundreds as I exit one app, and load hundreds as I enter the other app). I want to believe that the software guys are smarter than flushing and dragging in commands from disk on every app flip. I flip zillions of times per day back and forth to the file manager, outlook, word, and so on. I would like to believe that instead of loading/unloading maybe Dragon/KB just mark app-specific commands as disabled if the app is not the foreground window. ------------------------- Win10/x64, AMD Ryzen 7 3700X, 64GB RAM, Dragon 15.3, SP 6 PRO, SpeechStart, Office 365, KB 2017, Dragon Capture, Samson Meteor USB Desk Mic, Klim and JUKSTG earbuds with microphones, 3 BenQ 2560x1440 monitors, Microsoft Sculpt Keyboard and fat mouse |
|||
|
|||
![]() |
|||
Our understanding is that this is exactly how application specific commands are loaded and unloaded. ------------------------- Forum Mission Statement |
|||
|
|||
![]() |
|||
And it is not just commands.
Menus have to be parsed, if speech-enabled.
HTML has to be parsed, if you are in a web browser, and I believe other applications that are HTML based like Thunderbird.
Yep, this is why I am increasingly happy to disable many of these app/window/context sensitive things that get loaded and unloaded every time I switch back and forth.
Heck: many of my (AHK, ...) scripts activate and deactivate applications and Windows. I'm not 100% sure, but I think that my scripts are slowed down by Dragon loading and unloading its context. in any case, my scripts have started speeding up since I reduce the amount of context-sensitive stuff in Dragon.
------------------------- 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. |
|||
|
|||
![]() |
|||
Ag, that's a good point about menus having to be parsed. I remember trying out Voice Computer, which parses all menu/click points and draws circles/flags on all of them. With my two or three monitors and sidebars going, I was easily waiting for 500++ circles to be analyzed and drawn on each command cycle. It was too slow for me. I don't experience menu analysis slowdown with 15.61, but I do experience short hangs every day now after installing 15.61. One day soon I think I'll bail out and go back to 15.3. I just hate to think of wasting more time on it (sigh). On the hopeful side, maybe the issues will auto-magically go away... :-) ------------------------- Win10/x64, AMD Ryzen 7 3700X, 64GB RAM, Dragon 15.3, SP 6 PRO, SpeechStart, Office 365, KB 2017, Dragon Capture, Samson Meteor USB Desk Mic, Klim and JUKSTG earbuds with microphones, 3 BenQ 2560x1440 monitors, Microsoft Sculpt Keyboard and fat mouse |
|||
|
|||
![]() |
|||
Some commands ought to get oral gymnastic awards.
I would nominate "click type text" and "show speechstart commands" |
|||
|
|||
![]() |
|||
There are astonishing tongue twisters out there. For example, the following Word commands can be found in the Command Browser.
"switch to the effects of this theme" "shade the rest of the word in five percent grey" "make it bigger by six hundred and seventy eight points" "set a centre aligned tab stop at one and seven eighths millimetres" There are thousands of other examples that could be nominated for the award for being the most impossible to remember and pronounce! |
|||
|
|||
![]() |
|||
EMACS - the text editor that is almost an operating system, for which the kitchen sink icon is often uses - handles things like this for its very large set of commands (typed, LISP etc.) by (a) good help, (b) interactive prompting for command arguments, and (c) command completion. IMHO we need these things for speech.
---+ EMACS examples
---++ Command completion Say that in emacs I want to set the left margin to 10 There's a keyboard shortcut for that, and also a mouse binding, but I forget what it is. I don't need to stop and ask for help, I can just start by typing esc-X set <tab> and I get given a list of many commands ... too many, so I continue typing esc-X set-m <TAB> now a much smaller sert, that happens to include what I am searching for - but I am typing faster than I can read, so I go on esc-X set-margin <TAB> but now emacs goes back and tells me that there are two separate commands
esc-X set-t-margin <TAB> set-left-margin
set-right-margin
highlighting the L and R, which isa all I need to type to get
esc-X set-left-margin <TAB> yep, that's it, so hit <ENTER> and now it starts prompting me for the arguments .... Set left margin to column: which goes to the next.
Command completion long ago was just left-to-right -- you had to know that the command started with set- ... Now, it can complete from right to left, from the middle, in many different orders.
---++ Prompting for arguments
For example, there might be a command (defun set-tab-stop (TYPE POSITION) ... The user could type in (set-tab-stop "center" 20) if they wish but most likely the POSITION argument is by default the current position. Or, if that's not good enough, the user might type esc-X set-tab-stop (or its key or mouse binding) and then get prompted Tab stop type? (left, center, right): which might spawn a menu, or for those of us who prefer text, a box where you can start typing, but which only accepts a legal value and then after you have hit enter for that argument, the next: Position?: (enter for current): ... user types number ...
Or... throw up a dialog to fill in the arguments.
After you have provided the arguments, EMACS will usually tell you the short key sequence that you could have enterted to save having to go through the prompts or menus or GUI forms.
---+ How to do this for speech It should be possible to do something like this speech.
e.g. the user might say "set tab"
and then say something like "complete this"
the speech command system might then throw up a dialog box that you can navigate by voice, or it might start prompting you by asking verbally "what type of tab?" and then "where" ....
It very much helps that in emacs the actual work of the command can be separated from the user interface. (although that is usually done by having one or more interface wrappers calling common code.)
Now, of course, I do not want to have to write menu or GUI code for every such command. I want to have a user interface library that can just provide options like throwing up a DialogBox for any Dragon command that has a list argument.
------------------------- 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. |
|||
|
|||
![]() |
|||
---+ How to do this for speech
It should be possible to do something like this speech. e.g. the user might say "set tab"
This is very close to the design that I expect to implement one day. The sequence must be 1) the user says something to trigger the interaction, hopefully with some useful match or category strings; 2) the system responds with a visual dialog of (dynamic) information and voice-enabled commands/buttons/fields to support the interaction (I excluded audio because audio is too fleeting); 3) the user performs the interaction to get the desired result/command; 4) the user either dispatches the completed command or cancels the whole effort.
This approach (as in Emacs) can also be used for apropos help, searching, or basically "developing" an "utterance" before deploying it. For example, the "utterance" might be a script or snippet name and "developing" it might be completing the snippet variables or adding script (macro) lines. "Dispatching" it would execute it, either by running it (as in a C# compiled script), interpreting it (Python or Basic), or selecting it, fetching it, or whatever (for filenames, websites, or whatever else the interaction was about).
Basically, I view the interaction as a process for interactively developing and refining a knowledge fragment that can be sent onward to do useful things in its lifetime. ------------------------- Win10/x64, AMD Ryzen 7 3700X, 64GB RAM, Dragon 15.3, SP 6 PRO, SpeechStart, Office 365, KB 2017, Dragon Capture, Samson Meteor USB Desk Mic, Klim and JUKSTG earbuds with microphones, 3 BenQ 2560x1440 monitors, Microsoft Sculpt Keyboard and fat mouse |
|||
|
|||
![]() |
|||
Amen! EMACS supports many forms of completion - command, filename, dynamic (looking at whatever you have typed), ... I could not have worked with RTL for large chips without signal name completion.
The visually impaired might want audio, or at least haptic. Not all visually impaired know Braille.
------------------------- 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. |
|||
|
|||
![]() |
|||
Sterling, funny that you mention "show speechstart commands" - I struggle with that one too. I don't use it much because it never seems to fire, even though "microphone on" and "microphone off" work great.
------------------------- Win10/x64, AMD Ryzen 7 3700X, 64GB RAM, Dragon 15.3, SP 6 PRO, SpeechStart, Office 365, KB 2017, Dragon Capture, Samson Meteor USB Desk Mic, Klim and JUKSTG earbuds with microphones, 3 BenQ 2560x1440 monitors, Microsoft Sculpt Keyboard and fat mouse |
|||
|
|||
![]() |
|||
|
|||
![]() |
|||
Hi Lindsay, for my two bits, it's the string of "Sh..Sp..chSt..." vocal sequence that is difficult. Does the second S belong to "shows peech" or "show speech"? Ditto for running the third s on the "..ch st.." sequence.
If your branding and dragon conflicts permits, I would go with "show speech commands" or "toggle speech commands" or "command list on/off." Anything that doesn't require vocal effort to separate all those "s" joints.
While we're on it, that command hasn't worked on my machine for a long time, even though the mic on/off command works reliably all the time. Maybe it has something to do with the CommandRobot.exe log messages I posted in the XAML dialog thread where you solved the problem for all of us. here ------------------------- Win10/x64, AMD Ryzen 7 3700X, 64GB RAM, Dragon 15.3, SP 6 PRO, SpeechStart, Office 365, KB 2017, Dragon Capture, Samson Meteor USB Desk Mic, Klim and JUKSTG earbuds with microphones, 3 BenQ 2560x1440 monitors, Microsoft Sculpt Keyboard and fat mouse |
|||
|
|||
![]() |
|||
Okay thanks Kevin I will have a look and give you an alternative although leave the existing command as many people are used to using it.
I am happy to remotely connect to have a look at the issue regarding "SHOW speechstart commands" not doing anything. Just contact me using the signature below or let me know. For example when you call the command and it is recognised do you get an additional taskbar icon with a black apple? ------------------------- |
|||
|
|||
![]() |
|||
I am happy to remotely connect to have a look at the issue regarding "SHOW speechstart commands" not doing anything. Just contact me using the signature below or let me know. For example when you call the command and it is recognised do you get an additional taskbar icon with a black apple?
For Lindsay: I just renamed as "commands show" and "commands hide". But everyday, I rejoice that I have "microphone on" and "microphone off". I also avoid thereby the halfway house and dreadful sleep mode. Speechstart+ shows the attraction of having a few powerful commands available. The pop-up map does help with those awful moments of foregetfulness. |
|||
|
|||
![]() |
|||
@sterling, could you please explain what you meant by "For Lindsay: I just renamed as "commands show" and "commands hide". I don't see any way on my machine to rename the "show/hide speechstart commands". Thanks ------------------------- Win10/x64, AMD Ryzen 7 3700X, 64GB RAM, Dragon 15.3, SP 6 PRO, SpeechStart, Office 365, KB 2017, Dragon Capture, Samson Meteor USB Desk Mic, Klim and JUKSTG earbuds with microphones, 3 BenQ 2560x1440 monitors, Microsoft Sculpt Keyboard and fat mouse |
|||
|
|||
![]() |
|||
It is, I'm sure, a very amateurish effort on my part. I just created two simple scripts:
A script named "commands-show" and a script naamed "commands-hide".
Sub Main HeardWord "SHOW","SpeechStart","Commands" End Sub
and
Sub Main HeardWord "HIDE","SpeechStart","Commands" End Sub
Despite the simplicity, this works perfectly.
|
|||
|
|||
![]() |
|||
Thanks sterling! Now I see what you mean. I always thought that SS commands did not go through Dragon, but now you have demonstrated otherwise.
I tried out your idea, and it works perfectly! (Slowly for some reason, but reliable.) Thank you! ------------------------- Win10/x64, AMD Ryzen 7 3700X, 64GB RAM, Dragon 15.3, SP 6 PRO, SpeechStart, Office 365, KB 2017, Dragon Capture, Samson Meteor USB Desk Mic, Klim and JUKSTG earbuds with microphones, 3 BenQ 2560x1440 monitors, Microsoft Sculpt Keyboard and fat mouse |
|||
|
|||
![]() |
|||
I tried out your idea, and it works perfectly! (Slowly for some reason, but reliable.) Thank you!
Just to be clear on that, the only SS commands that don't go through Dragon are RESTART DRAGON, MICROPHONE ON, ACKNOWLEDGE RESTART and ACKNOWLEDGE SWITCH ON (if you use it). ------------------------- |
|||
|
|||
![]() |
|||
FWIW, Lindsay logged into my machine remotely and deleted a huge 115MB SpeechStart.log file that had accumulated over time. I didn't have a chance to inspect the contents. But when Lindsay restarted SS (and it created a fresh new log file), my Show/Hide SpeechStart Commands started working fine. My working theory is that the log file somehow slowed down SS to prevent the command from working (admittedly, it's a very unsavory and seemingly weak theory, but Lindsay didn't do anything else and things started working). I'll watch my log and check for the problem over the next few weeks to see what happens. Thanks Lindsay! :-) ------------------------- Win10/x64, AMD Ryzen 7 3700X, 64GB RAM, Dragon 15.3, SP 6 PRO, SpeechStart, Office 365, KB 2017, Dragon Capture, Samson Meteor USB Desk Mic, Klim and JUKSTG earbuds with microphones, 3 BenQ 2560x1440 monitors, Microsoft Sculpt Keyboard and fat mouse |
|||
|
|||
![]() |
|||
Although being completely off topic already, this is kind of interesting. The current implementation of Dragon logging has been designed to start a new log file every time the one being used goes past 8 MB, by creating a new one.
If you open a file that size in notepad, for instance, you should notice how significantly long it takes.
-------------------------
|
|||
|
|||
![]() |
|||
|
|||
![]() |
|||
Yes, 10 MB. I am sure that they were 8 MB previously. -------------------------
|
|||
|
|||
![]() |
|||
I created an open-ended dictation parser for inserting code snippets. The code is here: it is triggered via an open-ended Dragon®/KnowBrainer command (zotz etc.). ------------------------- -Edgar |
|||
|
|||
![]() |
|||
This probably sounds a bit crazy, coming from a command crazy company like us, but it may be best not to exceed the default limits. Our Dragon Command Browser takes 23 seconds to open on our i9 18 core computer (fastest non-supercomputer). We are supporting 2500 business and personal commands. Although performance is acceptable, some Microsoft Outlook application-specific commands have to be deployed 2 or 3 times before they take.
------------------------- Forum Mission Statement |
|||
|
|||
![]() |
|||
What do you mean by this?
Perhaps: the command does not work the first time you invoke it in Outlook, but it works the second or third time?
Or perhaps you have to start Outlook a few times before the command starts working? ------------------------- 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. |
|||
|
|||
![]() |
|||
Although I agree with you about not exceeding the default limits, I feel compelled to point out the Command Browser opens slowly no matter how many commands you have. It is absolutely ridiculous how bad that piece of software is. And it doesn't have anything to do with the size or number of your commands, as evidenced by the fact that SayWhatPro opens the same file in just one or two seconds. |
|||
|
|||
![]() |
|||
I tried to download and install SayWhatPro (free version) based on Matt's positive comment above, but the user experience was not optimal. It installed, and then it crashed on the first invocation. First an error message about something (a dialog?) being too small for the amount of data being fed into it. Then a null value protest of some kind.
It wanted me to "reboot your computer to resolve the problem," which I did. And then I got the error dialog about null operation or something again. The next click was to uninstall it. Maybe it's out of date with Windows or Dragon or something, or maybe the paid version would work better (it was only $25, a half-price offer). Oh well. I thought I would try it out. Onward. ------------------------- Win10/x64, AMD Ryzen 7 3700X, 64GB RAM, Dragon 15.3, SP 6 PRO, SpeechStart, Office 365, KB 2017, Dragon Capture, Samson Meteor USB Desk Mic, Klim and JUKSTG earbuds with microphones, 3 BenQ 2560x1440 monitors, Microsoft Sculpt Keyboard and fat mouse |
|||
|
|||
![]() |
|||
It wanted me to "reboot your computer to resolve the problem," which I did. And then I got the error dialog about null operation or something again. The next click was to uninstall it. Maybe it's out of date with Windows or Dragon or something, or maybe the paid version would work better (it was only $25, a half-price offer). Oh well. I thought I would try it out. Onward.
You need to make sure you download directly from the SpeechUtilities website. Otherwise if you download from some of the not so genuine software sites where it is available they can give you an older version.
http://speechutilities.com/SayWhatPro/install.htm
I just downloaded the trial version again by clicking on the download link to check the latest version for DPG 15 and it works fine for me with DPG. Someone was also asking about editing lists directly and you can do that with SayWhatPro.
It loads instantly because of the way it works which is the same ScriptManager an application I did with the exception that you can't edit your commands like you can with SayWhatPro. No point if SayWhatPro already does it. ------------------------- |
|||
|
|||
![]() |
|||
It loads instantly because of the way it works which is the same ScriptManager an application I did with the exception that you can't edit your commands like you can with SayWhatPro. No point if SayWhatPro already does it. yes, I should have mentioned ScriptManager in my earlier post. It also loads very quickly. It is very nice for showing you what commands are available. |
|||
|
|||
![]() |
|||
Sorry about that. It does work with 15.6, so I don't know what caused your problems.
|
|||
|
|||
![]() |
|||
Read here:
https://handsfreecoding.org/ and especially here: https://handsfreecoding.org/utter-command-why-i-rewrote-my-entire-grammar It's not just number of commands it's language design. For a high level look at commands across several designs see this spreadsheet. https://docs.google.com/spreadsheets/d/e/2PACX-1vReo_WJ4I2z0wigMQ4GtZQn0hU3FKCIBbs8HAyddSpkBg7nKowVhzAjOHOxwnBkp9yty8c9mzUheopF/pubhtml It has utter, shorttalk, caster among others. |
|||
|
|||
![]() |
|||
|
|||
![]() |
|||
Thank you for this. I've read these pages before, but I don't think I've seen the spreadsheet. Kim Patch is amazing! |
|||
|
|||
![]() |
|||
I was reading an old Dragon PDF from days gone by. It said this about the maximum number of commands.
Voice Command Limitations Dragon NaturallySpeaking supports a maximum of 3,000 commands per window, in addition to a maximum of 3,000 global commands. As a result, up to 6,000 commands can be active at any time. Each command action is limited to 16,000 characters. ------------------------- Win10/x64, AMD Ryzen 7 3700X, 64GB RAM, Dragon 15.3, SP 6 PRO, SpeechStart, Office 365, KB 2017, Dragon Capture, Samson Meteor USB Desk Mic, Klim and JUKSTG earbuds with microphones, 3 BenQ 2560x1440 monitors, Microsoft Sculpt Keyboard and fat mouse |
|||
|
FuseTalk Standard Edition v4.0 - © 1999-2021 FuseTalk™ Inc. All rights reserved.