KnowBrainer Speech Recognition
Decrease font size
Increase font size
Topic Title: New to software development and coding using speech recognition?
Topic Summary: Where to start when you're new to the sector and will need to code by voice?
Created On: 10/15/2020 01:49 PM
Status: Post and Reply
Linear : Threading : Single : Branch
Keyword
 10/15/2020 01:49 PM
User is offline View Users Profile Print this message

Author Icon
samVanDerStoop
New Member

Posts: 2
Joined: 10/15/2020

I apologize if there are more appropriate places, forums to ask these questions.

I’m interested in studying software engineering and development, but I’m completely new to it and because of physical disabilities I would have to be able to code and program using my voice/eye tracking. I’ve spent the past few days discovering what’s out there in the world of coding by voice and I have a number of questions I’m hoping to get answered. I understand there might not be clear-cut answers to some of these, but because I’m completely new to the sector any kind of helpful information, personal thoughts based on more experience, or good resources would be very much appreciated.

Upfront, I would like to specify that I use Windows 10 and Dragon NaturallySpeaking 15 at the moment, and I wish to first explore the available possibilities that come with those before considering switching to other operating systems (though I understand Mac and Linux are common in programming) or other speech recognition engines.

 

My first and main question is if there is any consensus on the subject of coding by voice, generally accepted knowledge I ought to be aware of, up front? I would hate to waste time and resources on things if there are clearly better alternatives out there simply because I’m not aware of them.

From there, specific questions follow: are there any text editors, IDE’s, or even programming languages that are clear winners when it comes to using speech recognition to code by voice? (sublime text 3/ Emacs /VIM/neovim/ Visual Studio Code/pycharm/ … ) Are there any other elements of a programmer’s workstation that has versions which work better with voice recognition?

 

When it comes to actually setting up the necessary software to code by voice in Windows there seem a few possible approaches, of what I’ve seen so far: using Natlink into Dragonfly (I’ve read those have recently been made to work with DNS 15, is that true?) into end-user libraries like Caster, Vocola and Unimacro (I’m not sure which of those work with DNS 15?); using Talon which I believe only recently made an experimental version that works on Windows; then there is VoiceGrip, things like VoiceAttack, and I believe VoiceCode is Mac only, but they’re working on Windows version; I also came across Serenade, which looks interesting.

I’m sure there is more, feel free to add to my list , but to someone who’s new to this all where would you recommend me to start? Any clear winners, so far?

I’ll stop here for now. I’ve typed, no, dictated way too much already. My thanks in advance for anyone willing to be of assistance!

 10/15/2020 02:22 PM
User is offline View Users Profile Print this message

Author Icon
R. Wilke
Top-Tier Member

Posts: 7393
Joined: 03/04/2007

You definitely listed all the options currently available. Now you should go looking for them in the particular places. This is not one of them. And no, there is no such thing as a common consensus as far as we can tell.



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



No need to buy if all you want to do is try ...

DragonCapture KB Download (Latest)
DragonCapture Homepage



 10/15/2020 02:41 PM
User is offline View Users Profile Print this message

Author Icon
Lunis Orcutt
Top-Tier Member

Posts: 38357
Joined: 10/01/2006

                    Welcome (See Mission Statement)

 

KnowBrainer 2017 was created specifically for writing VerbalBasic commands into Dragon and KnowBrainer. It is unlikely that you will find another verbal scripting utility because we patented the technology but also included verbal tools to create your own commands. More good news, if you check your email, you will find a no strings attached complimentary copy of KnowBrainer 2017 (w/2020 AI Commands), which is free to those with permanent disabilities. If you are writing commands for KnowBrainer or Dragon, which both utilize Visual Basic, you can create commands 10 times faster than anyone creating Dragon VB commands by typing.



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

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

 10/15/2020 03:14 PM
User is offline View Users Profile Print this message

Author Icon
haughki
Power Member

Posts: 53
Joined: 10/09/2015

Hi and welcome!

Here's a relatively recent thread and my post on most of this stuff. The whole thread is worth reading: http://www.knowbrainer.com/forums/forum/messageview.cfm?catid=25&threadid=34641&highlight_key=y&keyword1=serenade#179859

I agree with R. Wilke: there are many, many different approaches to the problem, with no consens around an obvious winner. I think you mention all of the major solutions out there.

It can definitely be hard to know where to start. You really just need to pick something and dive in. Some specific answers to your questions, my 2 cents:

  • Win 10 and DNS 15 are totally fine. There's no need to switch to another OS.
  • My sense is that dragonfly/caster and vocola are the two most common frameworks people use for voice coding.
  • I used dragonfly, so I'm biased. There is quite a lot of work going on around dragonfly right now: https://dictation-toolbox.github.io/dictation-toolbox.org/
  • Python is a great language to start learning programming, and since dragonfly/caster are written in Python, that's a bonus if you decide to go that way.
  • That said, it's a steep learning curve. Vocola might be easier to just "get up and running".
Good luck!

 10/15/2020 06:03 PM
User is offline View Users Profile Print this message

Author Icon
haughki
Power Member

Posts: 53
Joined: 10/09/2015

Oh, forgot you asked about editors/IDEs:

"sublime text 3/ Emacs /VIM/neovim/ Visual Studio Code/pycharm/ … "

There are soooo many, and everyone has their favorite. Imho, if you're starting from scratch, visual studio code is tough to beat right now -- it's free, open source, modern, totally cross platform, supports every major programming language (and many minor ones: there are over 4,000 programming language extensions), has tens of thousands of other free extensions, and a gargantuan user base.

 10/15/2020 03:36 PM
User is offline View Users Profile Print this message

Author Icon
Mphillipson
Top-Tier Member

Posts: 251
Joined: 09/22/2014

I use the following to write code by voice:

Dragon Professional Individual 15.6
KnowBrainer 2017
Speech Productivity

A lot of my scripts are stored directly in SQL Server Database.

My main program language is C# in Visual Studio. However if it was JavaScript, typescript, Java or Python I would certainly consider using Serenade/Visual Studio Code, although they do say they are thinking of supporting C# as it is so similar to Java in the future. Although it is not much use for dictating outside of the coding environment.



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

Thanks Mark


 


Dragon Professional Advanced Scripting/KnowBrainer Scripts
Video Examples of Coding by Voice



 10/16/2020 12:52 AM
User is offline View Users Profile Print this message

Author Icon
kkkwj
Top-Tier Member

Posts: 565
Joined: 11/05/2015

My two bits:

Both the Natlink (+Dragonfly,Vocoala,etc.) and Dragon/Scripting methods can send keys to applications quite well. One of the main differences (for newbies) is that the Natlink route requires you to constantly program grammars to get the system to recognize what you say; after recognition, you can send keys to applications. It's a big learning curve, if you don't know programming and computer science grammars.

In contrast, Dragon+scripting does the recognition for you, gives you many builtin commands and capabilities, and lets you start to send custom keys right away (smaller learning curve). Knowbrainer, as Lunis says, makes it very fast and easy to create simple Basic scripts for customized functionality.

Another thing that seems to be a big difference is that some (all?) of the Natlink systems are always in "command mode" - everything they recognize is treated as a command, not as dictated text. For example, you might say "phrase This is my name." to send the text "This is my name" to the application. "Phrase" is the command, and "This is my name" is the string argument to the phrase command.

In contrast, Dragon treats incoming utterances as commands first (if the incoming words match a defined command), and otherwise as text data.

I think this second difference becomes significant if you try to dictate programming gibberish like Perl, whose code lines often look like transmission noise filled with special characters, parentheses, and so on. Those kinds of things are much easier to define and dictate in the Natlink world, as far as I know.

If you want to program with Dragon/Knowbrainer/Scripting, there are people here with a deep knowledge of how to do that. But for Natlink help, you'll have better luck joining their online groups for help.

Good luck!

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

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

 10/16/2020 12:11 PM
User is online View Users Profile Print this message

Author Icon
Edgar
Top-Tier Member

Posts: 985
Joined: 04/03/2009

Here are some random ramblings…

Computer programming is not necessarily hard but it does take a very specific mindset. Like puzzles? Slightly or significantly OCD? Willing to put in a large portion of your productive time doing something (tracking down bugs) which has very little reward? Like to read and have great retention? If the answer to all of these is a resounding "Yes!", then you might make a good programmer.

Historically, the tradition was to start with Basic (structure was simple, functionality was restricted - now, not so much). You might consider getting this book from the library:

Visual Basic .Net All in One Desk Reference for Dummies

Read it cover-to-cover, don't try to do any of the example programming - just plow through it. If you can get all the way through it without serious mental defect, you might just be a programmer <grin>. Now try this one:

C# 7.0 All-in-One For Dummies

Same deal, plow through it. If you succeed, it's time to consider taking a serious course - there are many free ones available online, many schools also offer courses (many probably also online now).

Remember, you will be doing a LOT of technical reading (looking up functions and getting their syntax EXACTLY right etc.) Most, if not all, of this technical material is available for free online. You will also be doing a lot of typing/dictating and you will need to move the mouse pointer around constantly. This can be done hands-free (the typing is probably easier by voice than manually, moving the mouse pointer accurately might require significant technical assistance). I am significantly restricted when it comes to moving both shoulders and both wrist; I virtually never touch the keyboard (except to occasionally touch the media keys if I'm watching a movie). I now have a mouse (wireless Logitech M570 Trackball) that allows me to do all mouse actions with one finger and no shoulder nor wrist movement. I program 10+ hours per day seven days a week - probably 70/30% C#/Basic.

IDEs - if you plan on making a living programming as an employee the bottom line will almost certainly be Microsoft Visual Studio. There is a free "Community" version which gives you almost everything the high dollar versions offer - put the free version on your computer and give it a try. It is NOT Select-&-Say and you will get use to spending most of your Dragon/VS time almost always dictating commands.

I finally learned the secret which allows Dragon and Visual Studio to be happy together without constantly crashing… Under the "Tools" menu select the "Options" item; in the dialog’s left-hand panel open the "Text Editor" section. In its C# section choose the IntelliSense part; the very first offering in the right-hand panel will now be "Completion Lists" make sure that both "Show completion list after a character is typed" and "Show completion list after a character is deleted" (the first two items) are NOT checked.



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

-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

 10/18/2020 04:50 PM
User is offline View Users Profile Print this message

Author Icon
haughki
Power Member

Posts: 53
Joined: 10/09/2015

Originally posted by: kkkwj Another thing that seems to be a big difference is that some (all?) of the Natlink systems are always in "command mode" - everything they recognize is treated as a command, not as dictated text. For example, you might say "phrase This is my name." to send the text "This is my name" to the application. "Phrase" is the command, and "This is my name" is the string argument to the phrase command. In contrast, Dragon treats incoming utterances as commands first (if the incoming words match a defined command), and otherwise as text data.

 

Hi kkkwj,

This doesn't quite make sense to me. I think I kindof know what you're getting at but I'm not sure. Maybe I'm not understanding the example.

I use dragonfly. I don't do anything special to dictate text, and there is no explicit 'command mode'. But, commands and dictated text can 'collide' in certain contexts. E.g., I have a global command, "wipe", which deletes the current line of text. But, if I dictate "I'm going to wipe up this mess" that's what I get, in any application. So, as long as I dictate in complete utterances (email, etc.), I very rarely get any collisions.

I just want to be crystal clear that you don't have to use a command (your "phrase" example above) to dictate text with Natlink-based applications (dragonfly, caster, etc.). I dictate all of my emails, documentation, this post, etc., just as you would with plain vanilla DNS.



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

Author Icon
kkkwj
Top-Tier Member

Posts: 565
Joined: 11/05/2015

haughki, thank you for correcting my understanding. I think it's wonderful that you can just dictate text through the system without having to prefix text with a command like "phrase." As you can tell, I never made it over the Natlink/Dragonfly installation hill and so have never actually tried Natlink/Dragonfly.



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

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

 10/16/2020 01:42 PM
User is offline View Users Profile Print this message

Author Icon
samVanDerStoop
New Member

Posts: 2
Joined: 10/15/2020

@Lunis I received the email. That's very kind, and a most warm welcome to the forums!

Thank you everyone for all the feedback. I very much appreciate it! There's a lot for me to dig into, and I'll definitely keep what was said here in mind.
 10/16/2020 07:56 PM
User is offline View Users Profile Print this message

Author Icon
kkkwj
Top-Tier Member

Posts: 565
Joined: 11/05/2015

+1 for Edgar's comment - the rest of us responded to your questions about technology, but he talked about the higher-level idea of whether you'll even like programming. It's certainly not for everyone.

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

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

 11/17/2020 11:46 PM
User is offline View Users Profile Print this message


mdl
Top-Tier Member

Posts: 830
Joined: 04/18/2009

it's somewhat out of date, but try http://vocola.net/programming-by-voice-FAQ.html



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

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