Hands-free phone calls with Skype and MacSpeech Dictate
If you use Skype and MacSpeech Dictate I’ve found a way to make hands-free phone calls with a little help from AppleScript.
MacSpeech Dictate has a built in AppleScript editor. To use it click on the “Tools” menu and select “Commands”. Make sure you set the type of command you want to create to “Globals” on the left-hand side of the window that has the “+” button to create a new command. Then click on the “Type” drop-down menu and select “AppleScript”. Then give your command (where it says “Command”) a name like “call mom” for example. This is what you’ll actually say to activate the command. You can write a description of what the command is supposed to do in the “Description” field. Finally, you need to put the AppleScript code down in the “Source” field. And here is the code you will need to use.
tell application "Skype" send command "CALL +12125555555" script name "My Script" end tell
The easiest thing to do is just cut and paste the AppleScript above into the “Source” field. Where it says “CALL +12125555555″ simply change the number to whatever phone number you want the command to call. Any number must be preceded by +1 in the United States (Then the area code and number just like above). When finished hit the “Compile” button.
You can create as many commands as you like. One for all your friends and every member of your family and it works quite well! But there is one issue. The AppleScript is supposed to launch Skype and make the call to whatever person you specified. However, once Skype opens a dialog window pops up asking for permission to use an AppleScript with Skype. Even though you can select “Always Allow” that window still pops up every time you make an AppleScript initiated call. Obviously that kind of defeats the purpose of making a completely hands-free phone call and I haven’t figured out how to disable that dialog box. However, if you simply leave Skype running in the background (like most people do anyways) that dialog window won’t pop up when you make an AppleScript-initiated call.
So with Skype running in the background simply leave MacSpeech Dictate in “Sleep” mode then when you’re anywhere in the vicinity of your computer simply say “wake up” to activate MacSpeech Dictate then say one of your AppleScript calling commands (like “call mom”) to initiate a call to somebody. It’s that simple!
- Paul Natsch



Paul,
This is great! Thank you so much!
@Paul: Apparently that dialog box is a known bug in the current version of Skype for Mac OS X. It’s something to do with application signing, not quite sure what. Anyway, hopefully it’ll be fixed in the next version. Apparently if you start Skype before you start Macspeech Dictate (or any other program that wants to interact with Skype via AppleScript) it won’t appear at all.
Ahh ok. Thanks for the tip!
This sounds great!
My question is, how do you get Skype and Dictate to work simultaneously?
Every time I make a phone call with Skype it hijacks the microphone and Dictate becomes unresponsive. before he can use Dictate again, I am then required to quit Dictate and relaunch it.
If you can tell me how to get Skype and dictate to run simultaneously, I will be profoundly grateful.
Mahalo nui loa,
Indy
IndyInAsia’s most recent blog post: Lyndon LaRouche on Economic Bailout
Hmmm I don’t seem to have that problem. I’m assuming you’re switching to “Command” mode to make calls? Once the call is initiated you should be able to put Dictate back into Sleep (say “go to sleep”) mode before you start your phone conversation. Then once the call is over you should be able to wake Dictate (say”wake up”) and issue new commands such as “bring Dictate to front”, “Switch to next application”, and “open Safari”.
I hope that helps.