Programming with your voice, anyone else?

Does anyone else here use voice commands and voice dictation to aid them in programming? I have fought with RSI for a while now and recently I have invested a considerable amount of time in using voice commands and voice dictation for many aspects of my programming. I am curious if others have taken this path and to hear their stories. From what I read and understand, it is the path least taken but I am unsure why.

I talk to my computer alot while I’m working… normally cursing when something did go according to plan… But somehow I don’t think that is what you mean here :slight_smile:

I use Siri on the iPhone sometimes rather than typing out a message but I never thought to try and use voice dictation to code.

…mumbling code to my computer…
my wife comes asking: “do you want a cup of coffee?”
…Monitor nicks …yes!
…Keyboard presses ‘like’ button… :smiley:

Well, Apple provides some speech classes.
We have them in our plugin: NSSpeechRecognizerMBS and NSSpeechSynthesizerMBS.
Maybe they help you?

I use Dragon Dictate 3 on the mac. I have several macros setup that makes life easier. For example, I can speak several commands:

Add Method, Add Class, Add Class Interface, Add anything, really. Common commands such as File Save, Project Run, Analyze Project, Build Application, Search, Goto, Comment Code, New Tab, New Workspace, View Inspector, View Library, Language Reference, etc… Then there are other commands that I use while editing such as Up 3 Lines, Right 3 Words, Right 3 (just goes 3 characters right), Delete Line, Open Line Below, Open Line Above, etc… Then there are commands to help me enter actual code such as Camel (CamelCaseSpokenWords), Melcase (lowercaseThenUpperCase) and Under (words_separated_by_underscores). There are also built in modifiers such as no caps and all caps. They all understand basic syntax and keywords, for example, I can speak: “if camel parent dot last name equals camel child dot last name then” and in the editor comes: “If Parent.LastName = Child.LastName Then”

With my text modifiers, I can quickly stub out classes, class interfaces, etc… For example, to add a new “Person” class, I may say

“Add Class” … which adds the class and makes the name field active. “Person” … names the class. “Add Property”… adds a property and makes the Name field active, “camel first name tab String”, which sets the name to FirstName and presses the tab key and enters String (which isn’t working right now because Xojo Editor is stealing focus). I then finish my other properties, “Add Property camel last name tab string”, “Add Property camel date of birth date”, “Add Computed Property camel full name tab string”, etc…

In short order I can get a lot of things done. I am hoping that by talking about things like this others will get interested and we can learn from each other because it really is a new field with a lot of room for improvements. Where it falls short is editing code. It’s hard to do that right now. It’s hard to work with non-English function names, for example, Abbr instead of Abbreviation. Then there are some issues, until you have used it for a while, of words such as Cache. For example, “camel cache dot value params name” may come out Cash.Value(name) instead of Cache.Value(name).

Oh… (wish I could edit my post), I wanted to say that I do not attempt to replace the keyboard with voice coding, I supplement the keyboard with my voice. We are a long way from getting rid of the keyboard! However, on my computer I do many other things by voice that are much easier and give my hands a break. For example, most of this has been dictated and just about as fast as I could have typed it. Other examples are “Search Google for Xojo Forums”, “Jump to Weather”, “Send Email to John Doe Subject What’s up?”, “Remind me to call John Smith at 5pm”, “Add appointment for 7pm, dinner with my wife”, etc… All of this reduces my keyboard usage to a great degree, and thus saves my hands/wrists.

Spoke: Transcutaneous oximetry
Computer: Trans detainee is ox symmetry
-Jolie Bookspan, M.Ed, PhD

[quote=12729:@Rick A.]Spoke: Transcutaneous oximetry
Computer: Trans detainee is ox symmetry
-Jolie Bookspan, M.Ed, PhD[/quote]

Yes, that would fall into my category of non-English words :slight_smile: Many I should have said standard words. With a good microphone and an hour or two of solid training, I am totally amazed at how accurate Dragon Dictate 3 is. Sure, it does get things wrong sometimes, but the amount I have to correct it is very minimal.