I'm going to write an email using Talon voice control software, the Firefox web browser, and the Gmail web email interface!  I will will write an invitation to a Zoom Party where people share tips and tricks about how to use Talon.  While the invitation written here is fake, Talon Zoom parties are not- and if you are interested in attending one, you can use the skills I teach here to send me an email with the subject: Upcoming Talon Zoom Parties and I will tell you all about them.

In this tutorial, I give a detailed walkthrough of exactly how to dictate this email:

To: fakemail@fakityfakefake.fake
Subject: Come to the Zoom Party On Saturday

You are invited to learn more about controlling your computer with your voice at our Talon Zoom party.

This is the zoom link.

Who: Anyone interested in seeing how people control their computer with their voice
What: A collection of Talon users trading tips about how to use Talon voice control software better
Where: Online
When: This Saturday starting at 11:00 AM UTC!
Why: So that we can all learn from eachother!

This is for three sorts of people: those who would like to share their workflow so that other people can learn from it, those who would like to share their workflow so that other people help them with it, and those who would like to watch and learn in general.

Getting Started: Tab Commands

I start by turning on Talon and opening Firefox.

In this tutorial, about half of the tutorial is the commands I use to compose an email and the other half is notes on how to use the help menus to look up commands.  It is possible to read and follow the commands without ever needing the help menus, so at the top of each help menu section is a link that says 'skip help note' so that you can skip to the next bit of the tutorial.  


skip help note

Talon Help Note: Turning On The Command History

The first thing I do when starting to use Talon is to turn on the command history. The command history is a window that shows the last ten commands I gave to Talon. It is useful in figuring out the difference between what I said and what Talon heard me say. To turn it on, I say

command history

To turn it off again, I say

command history

The command history usually appears in the top middle of the screen. I have my talon set up so that the command history appears in the upper left corner of my screen. However, I had to edit a settings file to do it. If you are just beginning, you probably don't want to go editing source code.

The beginner way is to turn it on when you need to see something and turn it off when you don't. The slightly less beginner way to do it is to turn it on and drag it to the corner with your mouse, but if you've got problems with your hands that can be painful. It can be done with Talon mouse commands, but at this point I don't expect you to know mouse dragging commands.

Although if you want to edit source code so that you can move the command history to a more convenient spot, open user\code\history.py. The third function down, @imagegui.open, has x and y paremeters representing screen coordinates. You can change the x and y coordinates to x=0 and y=0.

@imgui.open(x=0, y=0, software=False)

That will put the command history in the upper left hand corner.

Putting Talon Into Sleep Mode And Waking It Back Up

Often I want Talon to stop listening to me. To make it stop listening, I say

talon sleep

To wake it back up again, I say

talon wake


Opening A New Tab

Since I am probably going to be switching back and forth between this tutorial and a tab, it is helpful to know how to switch tabs with talon.  

To go to the first tab, I say

go tab 1

To go the second tab, I say,

go tab 2

As long as I know the number of the tab, I can switch to it.

I have Talon running and Firefox open.  I'm going to open a new tab in my browser.  To do that, I say

tab new

skip help note

Talon Help Note: Navigating the Help Context Menu

Learning to navigate the help menus is an important skill. Sprinkled throughout this walkthrough are help notes. You might notice the help notes actually have more text than the tutorial. This is because the walkthrough explains what happens when things go more or less perfectly, and the help notes explain what to do when you don't remember a command, or when things aren't going perfectly, or the commands in the tutorial are not working like I say they should work.

The Talon help menus start with the Help Context menu. The help context menu is where you can look up nearly all talon commands.

Talon enables and disables various commands based on what programs you have open and are working with. What commands are endabled or disabled depend on the 'contex' of what programs are open, closed, or in focus. This is why the command is called 'help context' instead of something more memorable like 'talon help.'

To access it, I say,

help context

I look for the label "generic browser." It is usually on the first page of the help menu, and usually has a number 8 beside it, but the number can change and it can disappear from the menu. (The reason it disappears from the menu is when you no longer have a browser selected, talon thinks you are not currently using a browser and don't need access to the browser help. Aka you are no longer in a browser 'context.')

Help: All (1/3) (* = active) 

1. 1password  global* 
2. Apophysis*  
3. abbreviate* 
4. amethyst  
5. dictation mode 
6. extensions* 
7. formatters* 
8. generic browser* 

I select the generic browser help menu by saying

help 8

Then I have the generic browser help menu open with all of the generic broswer commands.

[context: user.TarasTalonScripts.apps.generic browser.talon [ACTIVE] (1/1 
(address bar go address go url): browserfocus_address() 
go home: browser.go_home() 
forward: browsergo_forward() 
go back[ward]: browser.go_back() 
go private: browseropen_private_window() 
bookmark show: browser.bookmarks() 
bookmark bar: browser.bookmarks bar() 
bookmark it: browser.bookmark() 
bookmark tabs: browser.bookmark tabs() 
(refresh reload) it: browser.reload() 
(refresh reload) it hard: browserreload_hard() 
show downloads: browser.show downloads() 
show extensions: browser.show extensions()
show history: browser.show_history() 
show cache: browser.show clear cache() 
dev tools: browser.toggle_dev_tools() 
Return 
Refresh 
Close 

I notice that the command 'tab new' isn't in the generic brower help menu. That is because a lot of other applications besides browsers have tabs. Since tabs are a thing a lot of programs use, not just broswers, the commands for tabs are in another help file, on the second or third page of the help menu, called 'tabs.' To get to the next page of the help menu, I say

help next

Then I find the number next to tabs (in this case 18) and and say

help 18

The follwing is options 12-19 on second page of the help context menu.

12. repeater* 
13. scratch* 
14. screenshot* 
15. standard* 
16. starting  
17. symbols*  
18. tabs* 
19. talon, 
Next... 

This takes me to the tabs help.

Context: user.TarasTalonScripts.misc.tabs.talon [ACTIVE] (1/1) 
tab (open | new): app.tab_open() 
tab last: app.tab_previous() 
tab next: app.tab_next() 
tab close: app.tab_close() 
tab reopen: app.tab_reopen() 
go tab <number>: user.tab jump(number) 
go tab final: user.tab_final() 
Return 
Close 

And that is where I found the tab new command.

When I am done with the help menu, I can close it down. To do that, I say

help close

A final addendum: you can see there are other Talon commands like "tab next" and "tab previous," but while they work out of the box with many browsers, Firefox is not currently one of them. You have to use Firefox's keyboard shortcuts, ctrl-pgdn and ctrl-pgup for the same effect, and I find it more difficult to remember to say "control page down" than "go tab 2." It is possible to make "tab next" and "tab previous" work with Firefox, but make it work with you have to know how to create your own Talon files, which is way beyond the scope of this beginner's tutorial.)


Spelling Out A Website

Firefox opens a new tab and puts the  cursor now in the address bar.  Since I am in the address bar, I will spell out the website I want to go to, "www.gmail.com".  I say:

whale whale whale
dot
gust made air sit look
dot
cap odd made

skip help note

Talon Help Note: Spelling With The Talon Phonetic Alphabet

In order to be able to spell things with Talon, I have to know the Talon alphabet. The easiest way to start learning is to be able to look up the Talon alphabet.

In order to look up the Talon alphabet, I say the command

help alphabet.

The alphabet help menu appears.

Alphabet help 
a: air 
b: bat 
c: cap 
d: drum 
e: each 
f: fine 
g: gust 
h: harp 
i: sit 
j: jury 
k: crunch 
I: look 
m: made 
n: near 
o: odd 
p: pit 
q: quench 
r: red 
s: sun 
t: trap 
u: urge 
v: vest 
w: whale 
x: plex 
y: yank 
z: zip 

In order to turn it off, say

help close


Logging in to Gmail

I have spelled out www.gmail.com.  

If I have misspelled something, I  can say

delete

to delete it.  Since I haven't misspelled anything, I want to go to gmail.com.  To go to  Gmail, I say

enter


The browser takes me to Gmail's page.  If I am not logged in I will be on the login page, and should follow the instructions.  

My password manager has already filled in my Gmail account and password.  Because of this, I do not have to use the Talon alphabet to spell them out.  But you can do this if you need to.  The only thing you need to know is how to make an at symbol (also known as the "@")  and a period mark (also known as ".").

If I wanted to type an at symbol, I say

at sign

If I wanted to type a period, I say

period

After I have the email field filled out, I can use the tab key to go to the next thing, the password field.  Type it in.


skip help note

Talon Help Note: Passwords and Writing Symbols

If your password contains a lot of symbols, you will want to use the help context menu and look for the label that says "symbols." It will tell you exactly how to make dollar signs, underscores, dashes, hash signs, and dozens of other special characters that show up in passwords.

That being said, you should really get yourself a password manager because it's not good practice to have to spell your password out loud every time you need to log in.


I use the tab keyboard shortcut to go through buttons and text fields one at at time until the login button is highlighted.  This is called tab navigation. To use the tab key, I say

tab

when the login button is highlighted, I press enter.  To do this, I say

enter

skip help note

Gmail Help Note: The Keyboard Shortcuts Cheat Sheet

Gmail has its own custom set of keyboard shortcuts which we will be using. I'm going to take a look at them. To see them, I have to press the question mark key, also known as the "?" key. I say

question

This brings up the keyboard shortcuts help panel. I use this to remind myself of any of the keyboard shortcuts that follow. There are a couple of pages of shortcuts. I can see them by scrolling down. To do that, I say

page down

to scroll down and

page up

to scroll up.

To leave the keyboard shortcuts panel, I have to press the escape key, and to do that, I say

escape


Opening A New Draft

To compose an email, I need to press the compose button.  The Gmail keyboard shortcut to do that is "c".  So I say

cap


skip help note

Talon Help Note: The Talon Help Menus are Draggable.

Remember, to see the talon alphabet, use the command

help alphabet

and to hide it again use the command

help close

The help menu box is draggable, so you can drag it off to the side of the window. That is a more complex series of voice commands than I want to describe here, so for this tutorial, just keep opening and closing the help alphabet box when you need to if using a mouse is difficult.

To close help alphabet, say

help hide

If you want to try using the voice mouse to drag the talon alphabet out of the way, look in the help context menu under 'mouse' for the click commands you need to experiment with, and specifically with the 'drag' command. Then look under mouse grid for the positioning commands you need.


Spelling Out An Email Address

The compose email box comes up.  It puts the cursor in the to: box- the box where I type the email addresses I want to send my email to.  I start spelling out an email address using the talon alphabet.  

Gmail will start making auto-suggestions after the first few letters. If I see the email I want in the auto-suggestions, I  can press the down arrow keyp to highlight the one I want.  To do this I say

go down

If I overshoot, to go back up I can say

go up

When I have highlighted the email address I want, I select it.  To do that, I say

enter

To go down to the subject field, I can use the tab key.  I say

tab

To dictate a subject line,  I can use the command "title" and a phrase after it.  "Title" will put everything in title case, So That It All Looks Like The Title Of A  Book or Movie.  I say

Title come to the zoom party on saturday

This will result in the words "Come To the Zoom Party On Saturday" being typed in the subject line.


skip help note

Talon Help Note: Formatters

Commands like "title" are called formatters. They make it so that you don't have to individually capitalize each word in a book title or put dashes between each word in a filename. In order to see what formatters I have, I say

format help

(This is not standardized with the other help commands, which start with 'help' such as 'help alphabet' and 'help context.')

The format help menu appears and shows all the ways you can format a phrase.

The command for closing this window is also not standard. I say

format help

This toggles the format help menu off.


Dictating A Subject Line

Unfortunately, when I said the sentence "come to the zoom party on saturday" the result was "Come to the Zoom Part On Saturday."   "Part" is missing a "y." So it's time for me to use some editing commands. Say  

Go word left

That will put the cursor one word to the left.  Since the miss-spelled word, 'Part', is two words left,  I can say

go word left twice

This will put the cursor at the front of Part, which is too far.  So I can get to the end of 'Part' by saying

go right fourth

This presses the right arrow key for times, putting my cursor at the end of "Part."  I say

yank

to type a "y" at the end of the word.

Now it's time to write the body of the email. Say

tab

To get from the subject line to the body of the email.  

Now is a good time to learn to get comfortable switching between dictation mode and command mode.  I say

dictation mode

In dictation mode, Talon will take what I say as dictation instead of trying to make it into commands.  I say

you are invited to learn more about controlling your computer with your voice at our

At this point, I pause, because I want the next word, Talon, and the word after that, Zoom, to be capitalized.  So I switch back to Command mode. I say

command mode
title talon zoom
dictation mode

Now that I'm back in dictation mode, I can finish my sentence.

party period.

All right, the first thing people want to have when they get invited to a Zoom party is the Zoom link.  Gmail has a nifty keyboard shortcut for helping you insert a link, but I have forgotten it.  So I want to look it up with by pressing "shift-esc" so that the cursor disappears from the email editor and gmail is no longer wanting to type things there.  Then I press "?" to access to the cheat sheet.  To do this, I say

ship escape
question  

skip help note

Gmail Help Note: Accidentally Closing Your Draft While Trying to Access the Help Cheat Sheet

This is a Gmail-specific help note.

In order to find out the a gmail shortcut, I have to be able to look at the gmail cheat sheet.

I noticed that I can't access the Gmail help command cheat sheet by pressing "?" because I am in an email and that just types out the character "?" In order to be able to see the help commands, the Gmail email editor needs to not be the focus and not have a blinking cursor in it. In order to switch focus back on the main Gmail window, I have to press shift+esc. So I say

ship escape

I should not press just "esc" because that will close the email I am composing, and then I will have to open up the Gmail help in order to find the ten or so keyboard shortcuts I need in order to navigate back to the email I was composing.

(To recover from closing your draft, you have to press "g" and then press "d", which will open the drafts folder. Then you will have to use arrow keys to navigate to the draft you want. Then use enter to select your email)

gust
drum
go down
enter

Assuming that I have put the focus back in the main window without accidentally closing my draft, I can say

question

and bring up the Gmail help.

This lists all the keyboard shorcuts for Gmail, including the shortcut to add a link to an email.

The gmail keyboard shortcut for adding a link to an email is "ctrl - k".  To do that, I switch back to command mode and press that key combination by saying

command mode
control crunch    

You might ask why 'k' is spelled with 'crunch' in Talon, and the reason is that the first "c" in crunch sounds like a "k".  

An "edit-link" box will pop up, with the cursor in a box labeled 'text to display.'  Since I am in command mode, and I just want to say a short phrase, you can use the command sentence.  I say

sentence this is the zoom link period

This will make a sentence that looks like "This is the zoom link."

Now, I use the tab command to navigate to the field that says "To what URL should this link go?" I say

tab
tab

and that should get me there.  If I happen to overshoot the box, you can navigate back by using the "shift-tab" key combo.  I say

ship tab

and that takes me backward to the last thing that was in focus.  ( I say ship tab because it is difficult for me to pronounce shift.  But you can also say "shift tab": talon recognizes both ship and shift as words used to press the shift button.)

Now, I'm going to dictate a who, what, where, when, and why style invitation that will look like

Who: Anyone interested in seeing how people control their computer with their voice
What: A collection of Talon users trading tips about how to use Talon voice control software better
Where: Online
When: This Saturday starting at 11:00 AM UTC!
Why: So that we can all learn from eachother!

This is for three sorts of people: those who would like to share their workflow so that other people can learn from it, those who would like to share their workflow so that other people help them with it, and those who would like to watch and learn in general.

With formatted text like this, it is easier to use command mode instead of dictation mode.  Command mode, among other things, is meant for programmers writing code, and writing formatted invitations like this is more similar to writing code than to dictating prose.  So I start out in command mode.  I say

command mode

So I'm going to write out the following line:

Who: Anyone interested in seeing how people control their computer with their voice

I want to capitalize capitalize that "who."  I say

title who

To insert a colon and a space after it, I say

colon
space

To capitalize "Anyone" and dictate the rest of the line in a single command, I use the "sentence" command.  

sentence anyone interested in seeing how people control their computer with their voice

To finish the line and go to the next line, I say

enter

There is something new on the next line.  The next line is going to be

What: A collection of Talon users trading tips about how to use Talon voice control software better

I notice that I will need to capitalize Talon.  After that, instead of using the command "sentence", which capitalizes the first word of what I say, I can use the command "phrase",  which leaves the first word lowercase. Say

title what
colon
space
sentence a collection of
space
title talon
space
phrase users trading tips about how to use
space
title talon
space
phrase voice control software better

I  may notice that it is difficult for the speech to text engine to recognize the difference between the way I say "talon" and the way I say "talent."  There are a couple of ways to fix this, but I'm only going to tell you about one that uses concepts we've already discussed.  I use my "go word right nth" commands to get my cursor near the misspelled word, and use my "go right nth" command to position my cursor exactly where I want it at the end of the word talon.  Then I press the delete key seven times with "delete seventh".   In my particular case, I said

go word right fifth
go right fifth
delete seventh

But I can change the 'right' to 'left' and the numbers to whatever numbers I need to get the positioning correct.

I have deleted the word 'talent.'

 To insert talon, I say

title talon

If I still get talent instead of talon,  I can delete the word with a wonderful and very useful command that will undo the last thing I typed.  I say

nope that

Nope that is a command that exists only in command mode, and it gets rid of the last typed command I gave.   After I have gotten rid of the wrong word, I can spell out the right one using the phonetic alphabet.   To get back to the end of the line, I can say

go way right

that will put my cursor at the end of the line, and I can say

enter

The next line is easier.  To create the line

Where: Online

I say

title where colon
space
title online
enter

The next line has some numbers and capitalizations in it, which lets me show of some other interesting commands.

When: This Saturday starting at 11:00 AM UTC!

title when colon
space
sentence this saturday starting at
eleven colon
zero
zero
space
ship air made
space
ship urge trap cap
enter

Notice that I can say shop to capitalize AM.  Also notice that I have to have pauses between the 0s in 11:00, because otherwise Talon will rewrite the number 00 to 0.  

I go on to the next line, which has nothing new except the exclamaition mark.  At least, so I thought...

Why: So that we can all learn from eachother!

title why colon
space
sentence so that we can all learn from
word eachother
bang

I noticed that when I tried to say "each" in a sentence, it will assumed I was trying to spell the letter "e" since "each" is the phonetic command for "e."  As a result, I have to stop and use the "word" command. The "word" command says, "I want the thing I am saying to be written as a word, not interpreted as a command."  So I say

word each

Now that I've accomplished my '"who what where when why" format, and included a link, I want to dictate a bit more information.  I switch to dictation mode.  I say

dictation mode

I can now start talking in complete sentences.  I say

this is for three sorts of people
colon
those who would like to share their workflow
so that other people can learn from it
comma
those who would like to share their workflow
so that other people help them with it
comma
and those who would like to watch and learn in general
period
enter

All right.  I've dictated an email with vital party information.


To: fakemail@fakityfakefake.fake
Subject: Come to the Zoom Party On Saturday

You are invited to learn more about controlling your computer with your voice at our Talon Zoom party.

This is the zoom link.

Who: Anyone interested in seeing how people control their computer with their voice
What: A collection of Talon users trading tips about how to use Talon voice control software better
Where: Online
When: This Saturday starting at 11:00 AM UTC!
Why: So that we can all learn from eachother!

This is for three sorts of people: those who would like to share their workflow so that other people can learn from it, those who would like to share their workflow so that other people help them with it, and those who would like to watch and learn in general.


Sending The Email

To send it, I use Gmail's  "ctrl + enter" shortcut.  To do that, I say

control enter

And my email is sent!