Yo, Human! Mac Dictation, a More Verbal VoiceOver: Accessing Life with Adaptive Technology
A Verbal Prehistory
In an earlier stage of my eyesight I did a lot of zooming in on the screen. My set up was such that the magnified portion of the screen followed the mouse cursor most of the time. I would use Control-2-finger scroll on the trackpad to zoom in and out. While this worked fine, it forced me to use both hands to accomplish the maneuver. Ugh! I felt like a caveman, having to set down my coffee just to navigate with two hands. :-)
I had already been tinkering with Speakable Items and had created several sets of verbal commands using AppleScript, to help automate my tasks. I saw no point in repeatedly setting down my morning nourishment between each on-screen session, just to zoom in or out like some prehistoric creature.
I quickly made a "Zoom in" and "Zoom out" set of verbal commands. After trying them several times, they were still not working the way I expected. I discovered the problem, it was me. Apparently, I sometimes 'talked' like a caveman as well. I renamed the two commands to better fit the way I actually spoke and they finally started working. My "Zoo, min" and "Zoo, mout" commands worked nicely and I happily rejoined this current century.
Back to the Present
Flash forward four operating systems. The Speakable Items and Dictation features have been melded together. This new implementation has a few drawbacks compared to the older methods, but brings both into a more usable interface at the same time. It also makes the process of creating customized commands much more obvious and accessible to the end user. The dictating and editing of text is much more advanced, and continuously blended with the verbal commands of old.
Now-a-days, VoiceOver has entered my digital world. While continuous Dictation mixed with verbal computer commands may work well for a sighted user, it has one major drawback for VO users. VO cannot make any sound while the Dictation mic is listening. The action still takes place, but is not announced. That being said, I figured there were still many ways that the Dictation service could be of help.
I began thinking in terms of "one-shot" commands and how they may be useful. So I experimented with the many Dictation options, including having a verbal command press a set of shortcut keys. However, trying to manually stop the mic quickly enough so that VO could speak the changes was a clumsy approach at best.
One thing I accidentally found while blending voiceover with the dictation commands, issuing a shortcut key that is not voiceover related does not seem to stop the microphone from listening. This prevents voiceover from announcing the new changes on the screen. Creating a command that uses the voiceover shortcut keys (Control-Option), seems to stop the dictation microphone immediately, allowing voiceover to speak the result. This limits the verbal interaction to single commands, since the Dictation microphone is no longer listening after the command is executed.
So I am back to finding useful one-shot commands that involve the VO keys. What need could I possibly fill using single commands to VoiceOver? Wait a minute, did I misspell something back a few sentences ago? What was that shortcut combo for finding the previous misspelled word? Control-Option-E, no, that's not it. Control-Option-Shift-E, no, that's not right. I spent a little time scouring the list. Control-Option-Command-Shift-E, That's it. Hmmm. I think I just found my need.
There are many more elaborate VoiceOver multi-key commands that I would like to use, but I will never remember all those key-combos. I may not like feeling prehistoric, but at the same time, I ain't as young as I used to be. :-)
One thing about giving verbal commands compared to navigating by key-combos, it is usually easier to remember the intent of a command, rather than it's key-combination. Telling my computer to "Find previous misspelled word" is more straightforward than remembering to press "Control-Option-Command-Shift-E." So I spent some time going through the Mac VoiceOver Shortcuts List looking for useful commands that would fit my purpose. See my results farther below. Here is the list that I use as a resource.
The Basic Settings
Before sharing my results, let's look at some of the basic Dictation settings. First in System Preferences>Keyboard>Dictation tab, I use the following settings:
Dictation, On, selected radio button. Turn on Dictation and agree to the license.
Microphone menu button. I leave this set to System Default. The button shows which default is currently being used.
Use Enhanced Dictation, checked. This downloads/installs the Dictation engine onto your Mac, and may use a bit of space. It allows for off-line use.
Language, defaults to English. Many additional languages can be added through a dialog.
Shortcut, pop up button. Mine is set to, Press Left Command Key Twice. This is an easy key for me to find. Plus it is easy to activate from an AppleScript as well.
Next, in System Preferences>Accessibility>Dictation.
Enable the dictation keyword phrase: unchecked. I leave this turned off. While it can be very handy in some circumstances, I tire quickly from repeating the same phrase for every command.
Play sound when command is recognized, unchecked. Wen they let me choose my own sound and volume level, perhaps I will use this feature.
Mute audio output while dictating, unchecked. I normally do not play any media while I dictate. If one starts to play, I want to know so it can be stopped.
Creating Verbal VoiceOver Commands.
Once I have the above all set, I click the "Dictation Commands..." button. This opens a new window with a 'Done' button near the bottom. Just to the left of that is an important feature: "Enable advanced commands." Checking this box allows one to create their own commands. It also adds many more Apple default commands to the table.
Back to the top of the window, one of The first things found is the Commands Table. This contains a list of the currently available commands, including any of your own. Check the box next to the command to make it "live." If you select an Apple default command in the table, to the right of the table you will find instructions showing various ways of speaking that command.
If you select one of your own custom commands, you will see the same set of controls that helped you create your command. You can re-edit your own commands in this fashion.
Just below the table is the Add and Remove buttons. Clicking Add will create a new 'untitled' custom command in the table and place you in the controls to start editing.
The Creation Controls
The "When I say" text box is the first item, where you enter the name of your new command. Use a name that is self-explanatory and easy to say and remember. When I make a new command I ask myself, "What is the first thing I would say if I wanted my computer to perform that function?" Whatever you come up with first should be the name. You can always edit the name at a later point if needed. Don't be afraid to be wordy with your names. 'Find the previous misspelled word' will be unique enough compared to the other two and three word commands. More words equals better recognition.
While using: Any Application. This is a pop up button that allows you to set when the computer will listen for your command. In all applications or only in a specific app. It is better to minimize what is being listened for at any one time, whenever possible. It reduces processing time and speeds up over-all recognition.
Perform: Choose pop up button. This pop up has many different options to choose from. For the intent of this blog post we'll focus on just one.
"Press Keyboard Shortcut..." Choosing this will move you to a place to enter the shortcut by pressing the key-combo now. Of course I tried to enter the VO shortcut immediately. VO performed the task like it should, but did not enter the keystroke into the pop up. Then I remembered the 'Control-Option-Tab' command that forces VO to ignore the next keypress. I chose the option again and told VO to ignore me for a moment, then successfully entered the VO command into the box.
Clicking the 'Done' button closes the window and makes my new verbal command 'live'. That's it, I just made a new Dictation command that issues a VoiceOver shortcut combo for me. If I need to find the previously misspelled word, I can tell my computer to "find the previously misspelled word." Or I can press the key-combo, umm, wait a minute. Let me look it up in the list. :-)
See the Tips section near the bottom for additional help with Dictation.
Useful Verbal VoiceOver Commands
As with any adaptable software, you should customize things in a way that best fits your own individual needs. With that in mind, below find some of the more obscure VO key-combos that may be easier to use as a verbal command.
Control-option-fn-f3, describes the item in the VoiceOver cursor. Turn this into a Dictation command and name it "Describe VoiceOver cursor." Activate this one twice in a row for additional information.
Control-Option-fn-f1, Application summary. Name this one "Describe current Application." Activate this one twice in a row for additional information.
Control-Option-fn-f2, Window summary. Name this one "Describe current window." Activate this one twice in a row for additional information.
Control-Option-Command-f5, Move mouse pointer to VO cursor. Name it "Move mouse to VoiceOver cursor."
Control-option-command-escape, presents you with a dialog, "Close window?" with a Yes/Return or No/Esc choice. Name this one "close window". Note: you may have to turn off the default "Close window" command in the Document section, near the bottom of the Commands table to avoid duplicate commands. And remember the default command does not stop the mic from listening, but the VO version does allowing VO to speak what is happening.
Control-Option-Shift-M, contextual menu. Name this one "Right click that," to pop up the menu.
Control-Option-Shift-C, copy last phrase to the clipboard. Name it "Copy last phrase."
Control-Option-Command-E, find next misspelled word. Name it "find next misspelled word."
Control-Option-Shift-Command-E, find previous misspelled word. Name it "find previous misspelled word."
Control-Option-Shift-U, read link URL. Name it "read web address."
Control-Option-Z, repeat last phrase. Name it "repeat that."
Control-Option-Shift-Z, save last phrase to a file. Name it "save last phrase to file."
Those are just a few possibilities, there are many more.
Create sets of commands that all pertain to the same type of function. Example: Describe current application, describe current window, etc. Use the same first word in the commands to help lock in the memory of what you need to say.
All of the default commands still perform their tasks admirably, but most do not stop the mic from listening. You can stop it manually using VO by pressing any navigation key. I use QuickNav for main navigation. After giving a Dictation command that does not stop the mic, I press right arrow once to make it stop. Example: Speak the default command, "Go To Beginning." Wait a moment for the task to take place. Then press right arrow to stop the mic. Then press left arrow to return to the dictated position.
Some of the default commands actually do stop the mic before performing their task. In the Navigation section:
The "Move" commands stop the mic. Move Right and Left commands move one item or word at a time. The Move Up and Down commands use your current Rotor settings to navigate.
Regardless of their ability to stop the mic, many of the default commands can still speed things up tremendously, you just have to stop them manually. One of these will also help you customize your system. It is called, "Make this Speakable."
Select any file, folder or even a web page and tell your computer to "Make this Speakable." You will be presented with a dialog that will help you make a verbal command to launch that item.
You can already launch an application by saying "Open ." If the name of the app is not easy to say, you can always select the app in the Finder and "Make this Speakable." Then give your command a more user-friendly name.
Some of the Apple default commands have VO equivalents. They could easily be replaced. Then turn off the default version in the Commands Table. You receive a warning symbol on any duplicates.
Using Dictation, you can also launch applications and files, including your own AppleScripts and workflows. It is fairly easy from inside AppleScript to stop Dictation, perform a task like pressing a keystroke, tell me what it is doing then turn Dictation back on again. While that will be saved for a future blog, the possibilities are almost endless.
Perhaps the advent of navigating one's devices by intent, rather than screen design, is coming upon us in small pieces.
Regardless of current technology, one thing I always try to remember...
All of our cool digital stuff that we work with, play with and enjoy, is all about "Living." Live well!
Portions Copyright Apple, Inc. All rights reserved.