Roon Voice Control with Siri and Google Assistant

I’ve published a couple of articles on how to enable voice control of Roon using either Apple Siri or Google Assistant. These guides can be found in the RoonCommandLine Wiki at:

These are not simple setups. I would consider these DIY projects for the tinkering minded. They do, however, work - at least in my environment. Both methods of voice control rely on the installation and configuration of a Roon command line interface provided by the RoonCommandLine Package. In addition to providing the convenience of voice control of Roon, the RoonCommandLine package enables automation of Roon actions and the ease/simplicity of command line control.

Siri voice control of Roon relies on the “Run script over SSH” option for Apple Scripting Shortcuts. on an iOS device. The Shortcut runs a shell command via SSH. The shell command runs a Python script that uses the Python Roon API to communicate with the Roon Core. Enabling and configuring SSH pose the highest hurdle for most.

Google Assistant voice control of Roon requires a MagicMirror with the
MMM-GoogleAssistant and MMM-Detector modules activated and configured properly. Setup for this method is considerably more difficult but once accomplished results in a superior quality setup with far more ease and flexibility of use.

RoonCommandLine releases can be installed on Debian based Linux systems, RPM based Linux systems, and MacOS. Debian and RPM format packages are provided for Linux deployment. Raspberry Pi deployments are also supported.

Let me know how to improve these how-to guides and what better ways you might suggest for voice control of Roon. Perhaps you have suggestions for easier use of the Google Assistant SDK to provide voice control or maybe Home Assistant has some cool way to do this. Enjoy!

6 Likes

I’ve updated the RoonCommandLine Wiki article on Roon Voice Control with Siri to include a note about how to invoke an SSH command in a login shell. Some Mac users were experiencing problems attempting to execute commands via SSH and running those commands in a login shell resolved the issue.

To run a Shortcut in a login shell preface the command you wish to run with bash -l -c ... and surround the command in quotes. For example, to run the command roon -r default in a login shell, when configuring the Shortcut Script, use the command:

bash -l -c "roon -r default"

See the Wiki article for detailed instructions.

1 Like