Google Search

Custom Search

Powered by...

Find us on Facebook

Showing posts with label Amulet Voice Remote. Show all posts
Showing posts with label Amulet Voice Remote. Show all posts

Tuesday, 30 August 2011

How to use command line with mControl and Amulet / Harmony remotes

Background:

I am currently using mControl version 2.1.3818 installed on my WHS V1 server for use with my Z-WAVE lights. I have a few Z-Wave plug-in lamp modules and use the Aeon Labs Z-Stick USB dongle which is plugged in to the WHS box. mControl have an nice MCML add-in for Windows Media Center and there are also mControl HTML webpages including a mobile version which I use on my iPod touch device. The other user interface which I tend to use on my laptop is the mPanel software that was ported to work on regular Windows PCs and not just their mPanel embedded Windows CE device which is now discontinued anyways. All this means I can control my lights from various user interfaces on different devices.

mControl version 3 beta has a native iOS app for the iPhone but currently installing mControl beta 3 on WHS V1 or WHS 2011 is not supported which is why I haven’t upgraded as yet.

mControl User Interfaces:

mControl in Windows Media Center 7

mControl – mPanel software

mControl HTML webpage in Internet Explorer

mControl mobile.aspx webpage

The idea:

My idea started when I was thinking about my Amulet MCE voice remote control, I knew it was possible to create your own custom voice commands to run external programs. My idea was simple wouldn’t it be kinda cool if I could pick up the Amulet voice remote and say “Lights On” and for the side lamps in my living room to turn on!

Being able to send commands from my Windows 7 x64 HTPC to the mControl Web Service on my WHS has also enabled me to turn a regular IR Logitech Harmony remote control in to a remote that can also turn on and off my Z-Wave lamps, not only that I can now create buttons on my Harmony remote to run any mControl automation macros or send on/off commands to devices. So if you haven’t got an Amulet remote but do have a Harmony remote and your an mControl user, you might want to read on…

Obviously being able to control anything via command line opens up a whole wealth of possible things you can do and automate.

The discovery:

So I started digging around a little in the mControl documentation and I found a possible solution, I found this link http://myWHS/mcontrol/mServer.asmx which when you open it on your mControl install it will bring up a page called mControl Web Service and looks like the screen shot below: (Change myWHS to the hostname of your mControl server).

Scrolling down the list I saw two items of interest to me which were:

RunMacro
Send a macro run request to mServer

SendCommand
Sends automation command to a device

Clicking on to these two items revealed some sample code for SOAP, now I am no programmer but I knew I was on the right lines and this might just be possible. I then raised the subject with Eddy Carroll at Amulet Devices and asked him what he thought about it and if it might be possible to have Amulet send these commands to mControl. Eddy who is a programmer unlike myself was able to assist me and as a result we have come up with a working solution which I will demonstrate.

Below are the samples from the mControl Web Service webpage:

RunMacro

Send a macro run request to mServer

SOAP 1.1

The following is a sample SOAP 1.1 request and response. The placeholders shown need to be replaced with actual values.

POST /mcontrol/mServer.asmx HTTP/1.1

Host: whs01
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://embeddedautomation.com/webservices/mControl/RunMacro"

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<RunMacro xmlns="http://embeddedautomation.com/webservices/mControl">
<macroId>int</macroId>
</RunMacro>
</soap:Body>
</soap:Envelope>




HTTP/1.1 200 OK

Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<RunMacroResponse xmlns="http://embeddedautomation.com/webservices/mControl">
<RunMacroResult>boolean</RunMacroResult>
</RunMacroResponse>
</soap:Body>
</soap:Envelope>



SOAP 1.2

The following is a sample SOAP 1.2 request and response. The placeholders shown need to be replaced with actual values.


HTTP/1.1 200 OK

Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<RunMacroResponse xmlns="http://embeddedautomation.com/webservices/mControl">
<RunMacroResult>boolean</RunMacroResult>
</RunMacroResponse>
</soap:Body>
</soap:Envelope>


HTTP/1.1 200 OK

Content-Type: application/soap+xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<RunMacroResponse xmlns="http://embeddedautomation.com/webservices/mControl">
<RunMacroResult>boolean</RunMacroResult>
</RunMacroResponse>
</soap12:Body>
</soap12:Envelope>


SendCommand


Sends automation command to a device

SOAP 1.1

The following is a sample SOAP 1.1 request and response. The placeholders shown need to be replaced with actual values.


POST /mcontrol/mServer.asmx HTTP/1.1

Host: whs01
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://embeddedautomation.com/webservices/mControl/SendCommand"

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<SendCommand xmlns="http://embeddedautomation.com/webservices/mControl">
<devId>int</devId>
<command>string</command>
</SendCommand>
</soap:Body>
</soap:Envelope>


HTTP/1.1 200 OK

Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<SendCommandResponse xmlns="http://embeddedautomation.com/webservices/mControl" />
</soap:Body>
</soap:Envelope>


SOAP 1.2

The following is a sample SOAP 1.2 request and response. The placeholders shown need to be replaced with actual values.


POST /mcontrol/mServer.asmx HTTP/1.1

Host: whs01
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<SendCommand xmlns="http://embeddedautomation.com/webservices/mControl">
<devId>int</devId>
<command>string</command>
</SendCommand>
</soap12:Body>
</soap12:Envelope>


HTTP/1.1 200 OK

Content-Type: application/soap+xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<SendCommandResponse xmlns="http://embeddedautomation.com/webservices/mControl" />
</soap12:Body>
</soap12:Envelope>

The plan:
Eddy suggested we might be able to use wGet using the --post-file=filename option, to send the SOAP commands in xml files to the mControl Web Service. 
Getting started:
wGet
I installed wGet on to my Windows 7 HTPC, I also had to add the path of where wget.exe is located which on my x64 PC was C:\Program Files (x86)\GnuWin32\bin in to the Windows Environment Variables PATH. To do this right click Computer from the start menu and select properties, then select Advanced System Settings and the Environment Variables button, under system variables scroll down to PATH click Edit and add in the path to wget.exe be sure to separate with ;
Creating mControl .cmd and .xml files
Send ON Command to Device
Next we need to create our first .cmd and .xml file, in this first example we will be creating a Send ON Command to a device.
I created a new folder on my Windows Media Center PC called C:\Lights
I then created a .cmd file called Lounge-On-Left.cmd, to do this just use notepad and create a new file change the .txt extension with .cmd
I have two Z-Wave enabled lamps in my living room left and right. 
Below is the contents of the C:\Lights\Lounge-On-Left.cmd file - note you need to change whs01 to the hostname of your own WHS or PC running mControl server. Also you can see the file that wGet is going to post to the mControl Web Service in this case the file is called Lounge-On-Left.xml

wget -Onul --post-file="C:\Lights\Lounge-On-Left.xml" --header="Content-Type: text/xml; charset=utf-8" --header="SOAPAction: http://embeddedautomation.com/webservices/mControl/SendCommand" http://whs01/mcontrol/mServer.asmx

Next we need to create the Lounge-On-Left.xml file, again use notepad to create a file and change the .txt extension to .xml below is the contents of the Lounge-On-Left.xml file.

<?xml version="1.0" encoding="utf-8"?>

<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<SendCommand xmlns="http://embeddedautomation.com/webservices/mControl">
<devId>3</devId>
<command>on</command>
</SendCommand>
</soap12:Body>
</soap12:Envelope>

Two things you need to look at in this xml file <devId> and <command> as we are creating a device ON xml file the command is on. <devId> is the device id of your device in mControl. To find out which of my Z-Wave modules had which devId? I simply opened mControl in Internet Explorer using the address http://whs01/mcontrol/ change the hostname obviously to your own. I then right clicked the page and selected View Source and scrolled down until I saw the device I was looking for in this case Lamp (Left) you can see I have circled the DevId which for this particular device is 3. So I used 3 in the <devID>3</devId> section of the xml file above.


OK so you have now created your first set of files one .cmd and one .xml to test simply double click on the .cmd file you will see the command window pop up and your ON command should be sent to your device in mControl.


Send OFF Command to Device


Next you would want to create two more files for an OFF command, so I created a file called Lounge-Off-Left.cmd and Lounge-Off-Left.xml in to my C:\Lights folder


Lounge-Off-Left.cmd contents:


wget -Onul --post-file="C:\Lights\Lounge-Off-Left.xml" --header="Content-Type: text/xml; charset=utf-8" --header="SOAPAction: http://embeddedautomation.com/webservices/mControl/SendCommand" http://whs01/mcontrol/mServer.asmx


Lounge-Off-Left.xml contents:


<?xml version="1.0" encoding="utf-8"?>

<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<SendCommand xmlns="http://embeddedautomation.com/webservices/mControl">
<devId>3</devId>
<command>off</command>
</SendCommand>
</soap12:Body>
</soap12:Envelope>


To test double click the Lounge-Off-Left.cmd file and your device should now be turned off.


I repeated this process and created two more .cmd files and two more .xml files to turn my right lamp on and off. At this point I was able to manually run the .cmd files to turn on and off both lamps individually.


Run Macro Command


Next I wanted to create some Run Macro commands to turn both lamps on or off at the same time, I previously already created Macros in mControl to turn on or off both living room lamps together. On the below screen shot you can see these existing macros Lounge On and Lounge Off. I just needed to know what the MacroID was for each?



Again I simply opened the mControl webpage in Internet Explorer and Viewed the Source code. Scrolled down and found my marcos called Lounge On and Lounge Off you can see I have circled the MacroID’s.




With this information I was ready to create my first Run Macro .cmd file called Lounge-On.cmd


Lounge-On.cmd Contents:


wget -Onul --post-file=C:\Lights\Lounge-On.xml --header="Content-Type: text/xml; charset=utf-8" --header="SOAPAction: http://embeddedautomation.com/webservices/mControl/RunMacro" http://whs01/mcontrol/mServer.asmx



I then need to create an associated .xml file with the SOAP command in it called Lounge-On.xml


Lounge-On.xml Contents:


<?xml version="1.0" encoding="utf-8"?>

<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<RunMacro xmlns="http://embeddedautomation.com/webservices/mControl">
<macroId>8</macroId>
</RunMacro>
</soap12:Body>
</soap12:Envelope>


I created another .cmd and another .xml called Lounge-Off.cmd and Lounge-Off.xml to be able to turn off the lamps, so now using these new Run Macro commands I could run either the Lounge On or Lounge Off macros in mControl to turn both lamps on and off.


The next problem I had to solve was I did not want to see the command prompt windows flashing up on the screen over the top of Media Center, whenever they where run via the Amulet voice remote or the Harmony remote. I wasn’t sure about this so I posted a thread on the Green Button and Richard1980 came to my aid with a suggestion to use a .vbs file to call the .cmd files.

The upshot of this is you can create a file in the C:\Lights folder called Run-CMD.vbs edit the .vbs file in notepad and paste into it the single line of code below, more about this later.


CreateObject("Wscript.Shell").Run """" & WScript.Arguments(0) & """", 0, False


So now what?


Ok so now we have created a set of .cmd files and associated .xml files to send SOAP requests to the mControl Web Service, but you don’t want to be manually double clicking the .cmd files to make things happen, so we need to get these .cmd files working with our remote control(s).


Custom Commands with Amulet voice remote control


First up is the Amulet MCE Voice remote control, it is pretty easy to add your own custom voice commands in to Amulet and then have it run a .cmd file or any external program for that matter. First you need to locate a file in the C:\ProgramData\Amulet Devices folder called CustomCommands.txt edit this file.


I simply added the following to the end of the file:

Command=Lights On
Response=Turning On Lounge Lights
Action=Run C:\Windows\System32\WScript.exe C:\Lights\Run-CMD.vbs C:\Lights\Lounge-On.cmd

Command=Lights Off
Response=Turning Off Lounge Lights
Action=Run C:\Windows\System32\WScript.exe C:\Lights\Run-CMD.vbs C:\Lights\Lounge-Off.cmd


Command=Left Lamp On
Response=Turning On Left Lamp
Action=Run C:\Windows\System32\WScript.exe C:\Lights\Run-CMD.vbs C:\Lights\Lounge-On-Left.cmd

Command=Left Lamp Off
Response=Turning Off Left Lamp
Action=Run C:\Windows\System32\WScript.exe C:\Lights\Run-CMD.vbs C:\Lights\Lounge-Off-Left.cmd

Command=Right Lamp On
Response=Turning On Right Lamp
Action=Run C:\Windows\System32\WScript.exe C:\Lights\Run-CMD.vbs C:\Lights\Lounge-On-Right.cmd

Command=Right Lamp Off
Response=Turning Off Right Lamp
Action=Run C:\Windows\System32\WScript.exe C:\Lights\Run-CMD.vbs C:\Lights\Lounge-Off-Right.cmd

Let me explain a little:


Command=Lights On (You say “Lights On”)
Response=Turning On Lounge Lights (Amulet then says back to you “Turning On Lounge Lights”)
Action=Run C:\Windows\System32\WScript.exe C:\Lights\Run-CMD.vbs C:\Lights\Lounge-On.cmd (Here you specify the .cmd file Amulet should run)


Save the Custom Commands.txt file restart Media Center - that’s it, its as easy as that to get Amulet working with your new mControl commands.


Logitech Harmony remote control


Getting your new mControl .cmd files working with your Harmony remote is more tricky. I imagine there are various ways you can do this, I am using AutoHotKey so that is what I will be recommending. Go to this page and download the Installer for AutoHotkey_L Install AutoHotKey on to your Media Center PC and when you launch it for the first time it asks you if you want to create a sample script file in the Documents folder say yes. I would also recommend you add a shortcut to AutoHotKey in your Windows Startup folder so it starts at every boot.


AutoHotKey will sit in the system tray and is a green icon with a H on it. If you right click this you can select Edit This Script and it will open in notepad.


Below you can see my AutoHotKey script:


Note: I am using a .vbs file called Run-CMD.vbs which calls the .cmd files as an argument and thus suppresses and totally hides the command windows from being visible on screen see here for more details.



Now I am not an AutoHotKey expert but what we want to do here is assign a keyboard shortcut such as Ctrl+Alt+A and when that keyboard shortcut is used we want it to run one of our mControl .cmd files. Don’t ask me why but ^ = Ctrl and ! = Alt so ^!A = Ctrl+Alt+A


Save and close your AutoHotKey script right click the H icon again in the system tray and select Reload This Script - To test press Ctrl+Alt+A using a keyboard connected to your Media Center PC this should run the mControl .cmd file and the device turn on or off or what ever the .cmd file is set to do.


Now I used my MCE IR Keyboard like this one to teach my harmony remote the keyboard shortcuts i.e. Ctrl+Alt+A Ctrl+Alt+B and I then assigned those commands to a custom buttons on my Harmony’s LCD screen.


If your using the Windows Media Center SE device in the Harmony software you could probably use some of the existing keyboard shortcuts like Alt+1 Alt+2 etc so then you wouldn’t need the IR MCE keyboard.


On the below screen shot from the Logitech Harmony software you can see four keyboard shortcut commands I taught the remote



Here you can see against my Media Center PC device and I also did this on some of my Activities I assigned custom buttons.



Conclusion


I think if you are an mControl user you will see the potential of being able to send SOAP commands using wGet to the mControl Web Service. This enables us to use .cmd files with associated xml files to run macros that are in mControl or control devices within your home automation system, I’m sure the possibilities are endless with this and it could be used in a variety of ways.


For me personally I am now able to use my Amulet MCE voice remote and use custom voice commands to turn Z-Wave lamp devices on and off and also to run mControl macros. And yes it is pretty cool picking up the Amulet remote and saying “LIGHTS ON” and having the lamps in the room turn on! Would be even better with the Amulet software for XBOX Kinect you would just have to say the command out loud then.


As an added bonus my regular IR Logitech Harmony remote control can now also be used to send commands to the mControl Web Service via AutoHotKey.


Well I think I covered everything I did to set this all up, I wrote this so I wouldn’t forget how I did it later but hopefully someone else may find it of use, as always please leave your questions comments and feedback.


You can download a copy of my sample mControl .cmd and .xml files plus an example of an Autohotkey script and a sample Amulet CustomCommands.txt file from here



www.phaze1digital.com

Tuesday, 8 March 2011

Amulet are to support My Movies users–Join the beta now!

Amulet Devices are currently running a private beta for their Amulet Voice Remote Control and Media Center add-in software, that now supports the popular My Movies add-in.

I was invited on to the beta program by Eddy Carroll of Amulet Devices and I have to say I have been eagerly awaiting this update. I previously wrote about Amulet’s excellent Voice Remote several times on my blog – check back and have a look.

At that time Amulet’s media file scanner out of the box would only find media files that were in the WMP12 / 7MC media libraries. It did not find my movie files stored on the WHS as these were not in the 7MC / WMP12 media library.

It was possible to edit the Amulet.ini config file and manually add in paths to folders on the WHS but this was not ideal. This new Amulet beta is now more tightly integrated with My Movies and actually queries the My Movies SQL database directly rather than just looking at a shared folder path on the network some where.

After I installed the Amulet beta update and forced Amulet to rescan my media files I then found in the new Amulet status page in Media Center, that under Videos the correct number of movie files was now listed.

Amulet-Status

Once in My Movies in Media Center you can use voice commands such as Show Movie {movie name} and it will jump to the cover of that movie! There is a limitation with My Movies that you can only enter the first 4 characters of a movie name, so if you have movie titles that have a similar name and start with the same first 4 characters, in those cases Amulet doesn’t always jump to the correct movie cover after you have spoken your command. Amulet are hoping to be able to work with the My Movies developers to overcome some of these types of issues and if you are interested in this tighter integration happening with My Movies you can voice your request for it on this forum post on the My Movies site.

But I have to say as it is, on the whole it works really well and generally shows the movie you have asked for. You can also say commands like Play Movie {movie name} and that movie will just start to play! There are also more plans by Amulet to enable voice control over other aspects of the My Movies user interface.

Significant new features we've added include:-

EPG search - you can now say "Search for <name>" to find all programs matching <name> in the program guide


YouTube search - integrated YouTube Leanback player, say "Search YouTube for <name>" to find videos about <name> (freeform dictation) or "Search YouTube for This Music / Song / Movie / Program / Channel" to find YouTube videos relating to what you are currently watching or listening to.

MyMovies support - now recognizes all movies in the MyMovies database and lets you play them directly using MyMovies, including ISOs, Blu-Ray, etc. that require MyMovies' external player support. You can also use the SHOW MOVIE command to move directly to a particular title within the MyMovies gallery view.


New status screen in the Settings page showing what media is available, current speech recognition state, etc.


New customisable options

The new Youtube Search feature is pretty cool, it launches the Youtube leanback UI within Media Center, you can then search for videos by just speaking! I could definitely see myself using this new Youtube integration in Media Center.

Join the beta program

Amulet Devices are looking for My Movies users located in the US only, to join their beta program. Amulet have also dropped the public price of the Amulet Voice Remote to $149, and are offering a further $40 rebate for beta testers who contribute useful feedback during the beta test period. If you would like to join the beta program you can register here.

http://www.phaze1digital.com/

Monday, 22 November 2010

Amulet Voice Remote Control – Part3

In part two I took a look at the Amulet Media Center add-in screens and eventually established that the voice commands not only work in these new areas, but also in the native parts of Media Center, for example I was also able to go in to the regular Windows 7 Media Center Music library and use voice commands like Play Artists (artist name) and Play Some (genre name). Being able to use most of the voice commands in the native parts of Media Center really makes this remote control more appealing.

I have also been using the Amulet voice remote control recently for my Media Center Live TV and it works very well, you can simply say: Go To TV Guide to launch the guide, then use commands like Watch Channel BBC1 or Watch Channel ITV1 etc to change channels which is pretty cool. You can also navigate around the TV guide using commands like Show Guide at (time) on (date) or Show Channel (channel name) at (time) on (date) etc. So for example you can use a voice command like: Show Channel BBC1 Tomorrow at 13:00

I have scanned the voice commands quick reference cards that came with the remote control in the box, so you can see a full list of voice commands that can be used with the Amulet remote control. This should give you a much better idea of what can be done using voice commands alone!

Amulet Quick Reference Cards (Voice Commands)

Click here for larger image

Click here for larger image

Click here for larger image

Click here for larger image


Amulet – TV Guide



Amulet - TV and Video



Amulet - Music



Amulet – General



You can see that the Amulet user interface add-in areas are well designed and nicely animated. I especially like the Pictures area and how the Polaroid like tiles move in to position as new photo folders are displayed on screen. The Music interface also has some animation with the cover flow in the top left hand side displaying random album covers, also how the albums appear in the right hand pane for the currently selected artist is nicely done. I did have some issues with high CPU usage whilst in the Amulet Music area during music playback, however disabling the playback time counter in the Amulet.ini file seemed to improve this issue greatly. Amulet are hopefully looking in to this problem.

The Amulet movies / videos area I found a little confusing initially as it displays your media files in a flat view, i.e. it does not keep the folder hierarchy / sub folders, it displays your video files all at the same level, which can mean quiet long lists of video files, however Amulet say that this type of view is better suited for speech. I am yet to add my shared movie folders on my WHS into the Amulet media indexer, I need to do this and it will be a good test of the system as I have over 1400 titles.

Navigating around the Media Center TV Guide using speach is great, once you get use to the correct voice commands. Just saying Watch Channel BBC1 and it changing to that channel is brilliant, you can use commands like Record That to record a program you currently have selected in the guide.

In part 4 I will be looking at using Amulet with my shared movie folders on the WHS and also taking a look at the Amulet.ini file and some of the things you can customise in there.

http://www.phaze1digital.com/

Thursday, 11 November 2010

Amulet Voice Remote Control – Part2

Update:

You can see Amulet in action on the Amulet YouTube Video channel here

It seems some of my assumptions about the need for the Amulet Media Center UI screens have been wrong. Eddy Carroll from Amulet has informed me that:

"While we do have our own Amulet UI screens, these are not required to access movies or videos using voice. We provide them as a convenience if you need reminding what items are in your collection (hence the fairly flat hierarchy), and to provide more onscreen feedback while you're getting used to the voice commands.

However, you can use commands like PLAY ARTIST, WATCH MOVIE, etc. from anywhere within Media Center, such as the traditional Music Library or Movie Library pages and they will work just as they would on the Amulet UI pages. In fact, pretty much all of the Amulet commands work independently of the Amulet UI screens (with a couple of small context-sensitive exceptions, such as SHOW EPISODE which depends on having previously said the name of a TV series to watch; in this case, the Amulet UI screens will be showing you the list of episodes to choose from)."

I didn't realise that more of the voice commands would also work in the native areas of Media Center as well, as I was so busy checking out the new Amulet user interface areas, so this is an important point that should be noted.

Original Post:

In part one I looked at the Amulet remote control hardware and software installation, in part two we are going to take a look at the Amulet’s Media Center add-in software. You can use the Voice Remote to navigate around the normal areas of Media Center like the movie, music, pictures and video libraries. You can use voice commands like Go To Start, Go To Movie Library, Go To My Music, Go To My Pictures, Go To My Videos. These commands will take you to the native areas of Media Center. You can then use voice commands such as Go Up, Go Down, Go Left, Go Right and Select or OK etc to navigate around. You can also say things like Go Up 1 Go Down 5 etc 1-9.

You can also edit the Amulet .ini file and add in custom voice commands for launching 3rd party Media Center add-ins like My Movies and TunerFree MCE. I tested adding custom commands for all my 3rd party add-ins and this works very well, so now for example I can say Go To My Movies and then My Movies is launched. You also get onscreen text feedback after you say a voice command and the computer voice speaks your command back to you e.g. it says “Launching My Movies” after I have used the Go To My Movies voice command. I believe you can also add custom commands to launch external programs and .cmd files etc which could be very handy.

This is all well and good but in order to say commands like Show Artists or Genres XYZ, Play Artist or Album XYZ, Play Song XYZ, Watch Channel XYZ, Play Movie XYZ etc Amulet needed to develop their own user interface within Media Center. After installing Amulet you will see a new Media Center menu strip. On here are the following icons:

Music / TV + Movies / Photos / Settings / Help Videos

Amulet-UI1

To go to the special Amulet Music UI for example, you say the voice command: Go To Music, instead of Go To My Music which would take you to the native music library.

Music UI:

The Amulet Music UI is better than I had imagined, when I first saw videos of this remote in action at CES I wasn’t keen on the whole idea of replacing use of parts of the native 7MC UI with their own. However doing just that was probably the only way a voice system like this would work I think. On the screenshot below, the covers you can see on the top left are just random covers that are animated in a cover flow like style and move about. The middle pane is where the details are, e.g. you can see the artists / genres / albums. You can say Show Artists and it then lists all artists in a list in the middle of the screen. Or Show Genres etc, You can then use voice commands like Play Artist {artist name} Play Album {album name} Play Some {genre name} etc. I did find that my artists list was long 350 odd artists and scrolling up and down the list either using the directional buttons on the remote control or using navigation voice commands like Page Down was quiet slow going. It’s OK if you know which artist you want to play as you just say it, but if you want to browse the list and look at what’s available I found this a little more difficult.

If you say Show Artists Snow Patrol for example their albums are shown on the right hand side, these kind of sweep up from the bottom right of the screen when they appear, again sometimes I found the amount of time for the artist to appear after I had spoken my voice command to be quiet slow but then other times it would only take a few seconds to appear, this maybe an isolated issue with my setup however, as Amulet say artists are normally displayed within a few seconds.

I won’t say it detected the right artist name every time because it didn’t, some times I would say one name and it would come up with something completely different, was probably my Yorkshire accent it didn’t like, maybe you could improve this by training your PC more using the native speech recognition learning in Windows 7. But on the whole Amulet was fairly accurate.

You can use voice commands like Pause Song, Continue, Next / Previous Song, Fast Forward Song. One feature I really like is Info, this works in other areas as well but in music you can say stuff like: Name That Song, Who Sings That, What Song Is This? and the Amulet voice speaks and tells you, very cool indeed! You can also control the Media Center volume levels with commands like Quiet (mute), Medium Volume, Full Volume etc.

Amulet-UI0

TV + Movies UI:

You can use voice commands such as: Show Movies, Show Videos, Show TV Shows, Show Home Movies then you can use commands like Play Video XYZ, Play Movie XYZ etc. Amulet has its own background file scanner that index’s your media files. I haven’t fully figured out how it does this and how it knows to put a certain video file in to the correct category, they are using http://www.themoviedb.org/ for some of their metadata. I’ve had mixed results, it picked up all my Recorded TV correctly, some things were classed as Movies which I thought should not have been, it seemed to detect all my home videos off my camcorder / digital camera correctly and group them together. Initially only some of my downloaded TV shows were appearing in the TV Shows area, You can run the scanner manually from the start menu after doing this a few times more missing items started to appear.

The TV + Movies area of the Amulet UI is still the part I know the least about and I am still in the process of working stuff out, so I will not cover this anymore today, I may recover this area again in a future post when I have got to grips with it better.

Amulet-UI2

Photos UI:

The Photos area is very nicely animated and easy to use, You just say Play SlideShow (name of folder) So for example I could say Play Slide Show Abigale’s 2nd Birthday and the folder of photos would start in a slideshow. I’ve also noticed you don’t always have to say the full name of an item you want to play, some times saying just the first or second word is enough for it to pick up the right thing, this is handy if you have something with a long name like a movie title you can just say the first part of it. There is a command to play all your photos in a Slideshow this is GO TO SlideShow, by default it looks in the C:\Users\Public\Pictures folder I had to edit the Amulet.ini file to point it to my main photos folder on my WHS. I like the photo functionality of Amulet its simple and easy to use and looks good!

Amulet-UI3

Settings:

There are various settings you can change in the Amulet settings area, you can add a welcome message, so now every time Media Center is opened after a short wait it says “"Welcome Harrison Family”' I found this helpful as after I hear this I know Amulet is ready for voice commands, as it seems a little slow after you have launched Media Center until its ready to accept any commands. You can also change the voice from some bloke called Paul to Microsoft Anna, change volume settings and other Listener / Talker settings.

Amulet-UI4

Help Videos:

The Help Videos are useful and I was glad they were there!

Amulet-UI5

Well I think that’s enough for part two, overall I am still very impressed with the Amulet voice remote control, there are some issues and kinks I need to iron out with how some of my video files are being indexed hopefully I can sort this out and talk in more detail about the Movies / Videos area of the Amulet UI.

I’m not sure yet what I will cover in Part 3, maybe more about the Movies / Videos area, or maybe I can talk about some of the custom configuration and editing this Amulet.ini file, I believe Amulet have plans to make adding custom commands and other things you need to edit in this .ini file, easier with a GUI maybe in Media Center itself.

The other thing I’ve not really looked at yet is how you can control Live TV with the remote, so I may look at this in part 3, so stay tuned, if anyone has any questions about it please feel free to leave a comment.

http://www.phaze1digital.com/

Wednesday, 10 November 2010

Amulet Voice Remote Control – Part1

I’m going to be taking an in depth look at the Amulet voice remote control for Windows Media Center. Amulet contacted me and asked if I would like to look at an evaluation unit. As I always like to try new gadgets I said yes I would, thank you very much!

The concept is you can control and navigate around Windows Media Center using your voice, sound cool? well it is!

Firstly their website can be found here and I recommend you view the demo video here before reading my series of blog posts about this remote control! I believe you can purchase these remote controls already in the US and they will be launched in the UK soon, I don’t have any details of when and how much yet.

What’s in the box:

DSCF8609

DSCF8610

DSCF8613

DSCF8614

Well you get the remote control, a rechargeable battery for the remote, a USB lead to charge up the remote, software installation disk, a well written and easy to follow quick start guide and two cards that have the various voice commands you can use and the USB dongle that plugs in to the PC. A charging cradle for the remote to sit in might have been a nice option, but I guess that would push up the overall cost of the unit.

First impression of the remote control itself, is that it feels well made and a quality product, it looks good as well! The button layout is very similar to your standard MCE remote control. Most of the buttons are back-lit in white, except the number and teletext buttons at the bottom, as soon as you pick up the remote control it lights up automatically. The big circle thing at the top lights up red when you tilt the remote control upwards towards yourself, this means Amulet is listening to you and ready for your voice command.

One negative thing I have to say about the hardware is when you press any of the buttons they click, you hear a clicking sound. I would prefer them to be silent especially the directional arrows and OK button that get pressed allot, the clicking got to me after a while.

Whilst this remote control is not an advanced universal remote control like Harmony and the Pronto range it does have some universal remote control features, for example I was able to quickly and easily program it to control my HDTV’s volume up and down and TV power toggle. The four coloured teletext type buttons at the bottom can also be programmed to control other devices.

Eddy Carroll from Amulet explained this feature to me so I’ve quoted what he said about it below:

‘'The four coloured teletext keys at the bottom of the remote double as device keymap selection buttons. The default keymap is Media Center itself. You can train any of the keys in the other four keymaps by entering learning mode, then pressing a coloured key followed by the key you want to learn (e.g. press and release Red, then press Play, to learn the Play function on the red keymap). In normal use, you press Red to select the red keymap, and all remote buttons then follow the red keymap until you return to Media Center mode by pressing the green Start button.

So for example, you could program Red with the full set of TV buttons, blue with a DVD player or set-top box, yellow with your amplifier codes, etc. Memory for learnt commands is somewhat limited, so you won't be able to fully populate every keymap, but there is certainly enough for the basic functions.”

I certainly wasn’t expecting this level of support for controlling other devices so this appears to be very good!

Setup was easy, insert the already pre-charged battery in to the remote control, plug the USB dongle into the back of the PC, no drivers were required from me, it just installed itself as an audio device. I then inserted the software CD which auto runs and starts the setup.

Setup process:

Amulet-Install1

Amulet-Install2

Amulet-Install3

Amulet-Install4

Amulet-Install6

After setup Amulet starts to scan your media files in the background behind the Media Center window it launches.

Amulet-Install5

Amulet have their own scanning software that indexes your media content. By default Amulet only looks in the Windows 7 / WMP12 / Media Center library folders i.e. Music, Pictures, Videos etc. So if your like me and do not use the native 7MC movie library for your DVD’s etc, then Amulet won’t find these movies, you have to edit an .ini file to add in additional locations of your media content, for example that might be located on your WHS or NAS.

In part two we will be looking at what gets installed in to Media Center and how the Amulet add-in user interface looks and works.

http://www.phaze1digital.com/