×

TROUBLESHOOTING

Issues with Voice Commands

If you encounter issues with voice commands not appearing or working, here’s how those issues can be resolved.

Problem #1: Missing Target Application

On macOS systems, installed voice commands may sometimes not work as expected. Such commands will appear in the Voice Control system preference pane to be installed, but they will be missing a key connection to the targeted Omni application.

If you navigate to the Voice Control tab of the Accessibility system preference pane, and click the “Commands…” button at the bottom right of the window:

The Voice Control tab of the Accessibility system preference pane

The commands editing sheet will appear. Select one of the “problem” custom commands and notice that the popup menu (right side) for indicating the target application is blank!

The commands editing sheet

The missing application name indicates that the local Omni application’s identifier (ID) does not match the one used in the commands file. This issue can be resolved!

Identifying the Target Application

Every application used on Apple devices has a unique identifier, which is used by Voice Control to determine when to make the specified command available to the user — like when OmniFocus is the frontmost application.

Like many other developers, Omni uses multiple versions of its application identifiers, depending on how the application is acquired.

For example, here are the possible application IDs for the macOS version of OmniOutliner:

In a voice commands file, each command has a property named CustomScope that has a value that is an identifier indicating which application is targeted by the command.

In the example command show below, the application identifier for the command is for the Mac App Store version of OmniFocus. However, if the version of OmniFocus on your computer is the direct download version, a mismatch occurs and the voice command fails to be linked to the copy of OmniFocus on your computer!

Voice Command Data


<key>Custom.669250609.533330</key> <dict> <key>CustomAppName</key> <string>OmniFocus</string> <key>CustomCommands</key> <dict> <key>en_US</key> <array> <string>About OmniFocus</string> </array> </dict> <key>CustomMenuTextList</key> <array> <string>About OmniFocus</string> </array> <key>CustomModifyDate</key> <string>2022-03-21T18:41:00Z</string> <key>CustomScope</key> <string>com.omnigroup.OmniFocus3.MacAppStore</string> <key>CustomType</key> <string>Menu</string> </dict>

TIP: To look up the application ID for any Omni app, run this script in the app’s Automation Console:

Get Omni Application ID


URL.currentAppScheme

The VC Commands Adjuster Applet

Automation to the rescue! The VC Commands Adjuster applet (DOWNLOAD) is a small application that “adjusts” a voice commands file to target the version of the Omni application installed on your computer.

The opening dialog of the VC Commands Adjuster applet

To adjust and install an Omni voice commands file:

Problem #2: Missing Command Phrases

If you install a set of commands and their command phrases are not appearing in the commands sheet (see below) it is an indication that the language used for the commands does not match the language currently in use by the computer.

Commands list with missing phrases

Each voice command in the commands file has a country locale code like the one shown below for en_CA for Canadian English. If the language used on your computer is not the same as the language represented by this code, the voice command will not be available for use.

Voice Command Data


<key>Custom.669250609.533330</key> <dict> <key>CustomAppName</key> <string>OmniFocus</string> <key>CustomCommands</key> <dict> <key>en_CA</key> <array> <string>About OmniFocus</string> </array> </dict> <key>CustomMenuTextList</key> <array> <string>About OmniFocus</string> </array> <key>CustomModifyDate</key> <string>2022-03-21T18:41:00Z</string> <key>CustomScope</key> <string>com.omnigroup.OmniFocus3.MacAppStore</string> <key>CustomType</key> <string>Menu</string> </dict>

A possible solution is to use specialized software, like PlistEdit Pro from Fat Cat Software to open and edit the voice commands file, performing a search and replace with the country code used by your system.

Find change in PlistEdit Pro application

Once the codes have been replaced, save the edited commands file, then delete the existing installed custom commands, and re-import the edited commands file. The commands should now appear properly in the commands list.

 

 

 

LEGAL

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Mention of third-party websites and products is for informational purposes only and constitutes neither an endorsement nor a recommendation. OMNI-AUTOMATION.COM assumes no responsibility with regard to the selection, performance or use of information or products found at third-party websites. OMNI-AUTOMATION.COM provides this only as a convenience to our users. OMNI-AUTOMATION.COM has not tested the information found on these sites and makes no representations regarding its accuracy or reliability. There are risks inherent in the use of any information or products found on the Internet, and OMNI-AUTOMATION.COM assumes no responsibility in this regard. Please understand that a third-party site is independent from OMNI-AUTOMATION.COM and that OMNI-AUTOMATION.COM has no control over the content on that website. Please contact the vendor for additional information.