Once I was able to voice control my home theatre PC, I still needed to use my remote control to turn on the TV and receiver. I wanted to rid my lounge room of remotes altogether, so I needed to find a way to get my computer to control the rest of my audio visual gear. I wanted to be able to control everything in the lounge room with just my gadget and my voice.
It was logical to use Infra Red (IR) technology for this, because that is the only way we can control most AV gear currently. Often the buttons on a device (such as a TV set) don’t offer as many options as its remote control unit.
The USB-UIRT is a magic device that can send and receive IR signals. It connects to a USB port on our computer and enables us to send IR commands from our computer to our peripheral AV gear. It sits at the back of the room and has good range and reliability. This device removes the need for remote controls in our TV room altogether as we can tag a voice command to tell the USB-UIRT which IR signal or signals we want it to send.
The result is that we can walk into the room, press the trigger button and say “TV on”. This will turn the TV and stereo on. When we say “I’m finished”, the TV and stereo will turn off.
It gets really impressive when we start controlling our VCR, BluRay or cable box with voice. I have added some extra scripting which will enable just this. When I put a video into the video player, I can say “Video Player” and the TV will change the channel to AV, to show the VCR. I can then use the usual play/pause/stop/rewind/fast forward voice commands to navigate through the video. When I return to the media centre, the tape will stop, rewind and 3 minutes later, eject the tape and turn off. This is while all the other media centre voice commands are working as per normal.
This article will show you how to setup the USB-UIRT to control your audio visual gear to control everything in your lounge room/home theatre by voice. The scripts need to be installed, and IR signals learnt, which is thankfully quite easy with to do with EventGhost. The speech macros have also been updated to simplify the commands to their shortest abbreviation. I have also included another speech macro which enables the “Play artist/genre/track” commands. It’s a bit harder for the computer to pick up the new commands, though they do work. The old commands still work and are worth learning because the computer is much more likely to recognise them. The commands will be progressively tweaked until each command is as simple as we can make them. It’s not far off as simple as it can get now.
How it works:
These scripts let us use voice commands to trigger EventGhost commands. When we say “Room on” the keyboard shortcut is sent to EventGhost which in turn sends the series of IR codes to make the TV and stereo turn to the correct channel.
Additionally, we use the command “Video Player”, the script changes modes so that instead of sending keyboard shortcuts to navigate around Windows Media Center, it starts sending IR signals based on our commands, via EventGhost. When we return back to the “Media Center”, the original commands are used.
This could easily be expanded to allow for multiple external devices. It is written in autohotkey, so it’s about as simple as coding can get if you want to tinker around yourself. You will just need to make another componentmode for each device you want to control, and add to your EventGhost tree. I will update the coding myself if there is enough demand or my needs change.
USB-UIRT: This device is what makes it possible to use voice commands to control our AV gear. It sends IR signals to our AV components so that the component will do what we want. With the right scripting, this device can control just about everything in our TV room. The USB-UIRT is $50 plus shipping and is available from the USB-UIRT Website. I am very excited by the things this device makes possible, both currently and into the future. This needs to be placed in your room so it has clear sight of your devices. In my case, this means having it at the back of the room.
Voice Control.zip: This file contains all of my speech macros and scripts that make the system work. These scripts have been considerably updated to allow for these extra functions, but can still be used if limited functionality is desired while training takes place.
Eventghost: This automation software lets us control the USB-UIRT based on the voice commands we give. I have included my EventGhost Tree in Voice Control.zip so that all you need to do is teach Eventghost what IR commands to use.
There are various components that need to be installed for all of this to work correctly. It follows on from my earlier article on How to: Voice control Windows Media Center, which goes into detail on how to install the voice recognition control script, as well as the speech macros. Please refer to that article for assistance on how to install the various components.
Unzip Voice Control.zip into your Speech Macros folder within your Documents folder.
There are only two new components in Voice Control.zip, and the first is the EventGhost tree, and I will show you how to load it and configure it for your needs. There is no way to bypass the training as each device uses different commands, but luckily it is fairly straight forward. The second component is Video Player WSR Macro which will need to be installed if you want to operate any external AV component, i.e Video Player.
Install EventGhost: The scripts are designed to launch EventGhost from it’s default location. If you change the location, you will need to update a whole bunch of the macros and scripts, though it is not difficult.
- Click File > Open
- Navigate to your speech Macros folder
- Select “My Gadget – USBUIRT Eventghost Tree.xml”
- Click Open
On the left of the screen, we can see a log of what triggers and actions have been acted on by EventGhost. On the right side is a list of all the macros I have setup for my system.
The macro title is the same as what the macro does. Below that is the trigger event. In all cases, these are currently keyboard shortcuts i.e. how the script calls each action to be performed. Normally, the triggers will be able to be left as is, but if you choose to change the trigger keyboard shortcuts, you will also need to change the scripts.
Below that is the transmitted IR code, and these are the codes we need to change to match your system. There are quite a few things you are going to need to change, but most are simple. It is worth saving frequently while working through this. I frequently got the “not responding” warning, and it usually rectified itself given enough time, but sometimes it would crash. I haven’t had the same crashing when running it.
We will start off with one of the easy ones. Right click on the command USB-UIRT: Pause Video and select configure.
Click on Learn an IR Code…
Follow the instructions on screen.
In this example, press the pause button your video players remote control unit.
Once a valid signal has been taken, the screen will return to Action Item Settings.
You can test the code to see if it performs the same command you trained it with.
Repeat the training for all the other commands.
There are a few special commands which perform more than one action. These turn the TV on and change video inputs etc. You will need to figure out what buttons you press on your remote and replicate the procedure in EventGhost. You may need to put in some delays as I have.
Once you have set it up, you won’t need to change it until you buy another TV or other AV component. Ensure you save the tree with your own filename to ensure future Voice Control.zip files don’t overwrite your altered file.
Honourable Mention: The USBIRToy may soon be a suitable device to use for this task. It is much cheaper, but currently lacks the power required to get results we want.
I am very happy with the results this is getting for me. I have found the USB-UIRT to be very reliable. This is a key feature that makes voice control truly valuable. By combining my voice with this device, the whole lounge room is controlled with just one button.
I hope you have enjoyed reading this article and found it useful. Please stick around and check out some of my other articles at Inspect My Gadget.