Free Kinect Mediacenter app released

steve118x

Posts: 11
Joined: Fri Mar 23, 2012 8:57 am
Location:

HTPC Specs: Show details

#21

Post by steve118x » Wed Mar 28, 2012 8:59 am

barnabas1969 wrote:Steve,
I think the option to mute would be acceptable. It should be optional however. The user should have the ability to choose mute, dip volume, or neither.
I agree.
Can you provide more information about the custom commands?
I'll make another reply here with some details
If you release a full version of Amulet Voice Kinect, when do you expect it to be ready, and how much do you expect it to cost?
I can't say for sure as we don't know how much work is involved untill we fasten down all the features that would go into it but there is an alternate product out there called just Kinect
for Mediacenter , it sells for $6.99 so it would need to be in that ball park.
EDIT: It would be even better if the user had the ability so that when a hand is raised, the software could send a custom command (e.g. to the AVR via RS-232/Ethernet/whatever) to reduce the volume. And then, when the hand is lowered, send another custom command.
again I agree, I can even include a couple of more postures and have them trigger generic events that are customisable by the user.
However I am limited by the number of postures that I can include as they are not like gestures detected by the Kinect skeletal recogniser, the postures need to be very dependable and not trigger false
positives. This is because the user/s are normally seated in the field of view of the Kinect and the last thing you want to happen is if someone just stretches because maybe their tired or something and
the lights come on or the volume dips, that would get annoying real quick.

The postures at the moment give a really great user experience because they are accurate and dont give positives, that cant be compromised in any way. The same can't be said for the skeletal recogniser.
I experimented with Kinect's built-in skeletal recogniser to recognise gestures early on in the project, but because of the way it works, it will often lose tracking and jitter a lot , when this happens the user
is seen as a twisted mess of bones, causing false positives. I found it impossible to get the level of reliability needed. So I abandoned use of the built-in skeletal recogniser and instead went with detecting
postures using a technique from OpenCV called Haarcascades. I think were the only people using this with the depth feed so far , but I expect more projects to use the technique in the future.

theres more details about it all here
http://www.amuletdevices.com/blog/index ... -down.html
if you read both part one and two of the blog there are videos etc..
Steve.

steve118x

Posts: 11
Joined: Fri Mar 23, 2012 8:57 am
Location:

HTPC Specs: Show details

#22

Post by steve118x » Wed Mar 28, 2012 9:20 am

Can you provide more information about the custom commands?
I'll make another reply here with some details
here's a cut down version of a custom command file, it's commented so you can see what's going on.
at the bottom I'll include what's in the other files referenced


;=============================================================================
;
; AMULET CUSTOM COMMANDS FILE
;
; Use this file to define any custom commands and responses you
; would like Amulet to recognise.
;
; The format is like this:
;
; Command=<command string>
; Response=<response string>
; Action=<action>
;
; The <commandstring> is the exact text of the command you wish to
; recognise (not including the Amulet command prefix).
;
; The <response string> is the spoken response; it can be empty.
;
; The ACTION section is optional; if present, it specifies an
; action command to run when the command is recognised.
;
; Three ACTION commands are recognised at the moment:
;
; PLAY <mediafile>
; Plays the audio or video file (<mediafile> is a full
; disk pathname)
;
; RUN <program> <params>
; Starts the given program with optional command line
; parameters. Use quotes around <program> if the path
; has spaces.
;
; RUNBACK <program> <params>
; Similar to RUN, but the program is run in the background, with
; no windows appearing.
;
; Any line in the file beginning with a ';' is treated as a comment
;
; NOTE: you can run Amulet.Scanner /CUSTOM to force new custom commands
; to be recognised immediately, without needing to restart Media Center.
;
;===================================================================
;
; Some examples are below -- uncomment the commands to try them out
;;
;;
;; Run an external program to control lights
;;
Command=Turn on lamp one
Response=Turning on lamp one
Action=Run "c:\ProgramData\Amulet Devices\Automation\Turn_on_Lamp_One.cmd"

Command=Turn off lamp one
Response=Turning off lamp one
Action=Run "c:\ProgramData\Amulet Devices\Automation\Turn_off_Lamp_One.cmd"

Command=Turn on lamp two
Response=Turning on lamp two
Action=Run "c:\ProgramData\Amulet Devices\Automation\Turn_on_Lamp_Two.cmd"

Command=Turn off lamp two
Response=Turning off lamp two
Action=Run "c:\ProgramData\Amulet Devices\Automation\Turn_off_Lamp_Two.cmd"

Command=Turn On The Fire
Response=Turning on the fire
Action=Run "c:\ProgramData\Amulet Devices\Automation\Turn_on_the_Fire.cmd"

Command=Turn off The Fire
Response=Turning off the fire
Action=Run "c:\ProgramData\Amulet Devices\Automation\Turn_off_the_Fire.cmd"
;; A simple example of Amulet appearing to be more intelligent
;; than it is
;;
;Command=Count to ten
;Response=Three One Two Three Four Five, Six Seven Eight Nine Ten!
;;
;; Play a tune
;;
;Command=Play My Theme Tune
;Response=Playing your theme tune
;Action=Play "C:\windows\Media\Schemes\Glass\Windows Shutdown.wav"
;;
;; Play a video
;;
;Command=Show me that sample video
;Response=Okay, this is the sample video
;Action=Play c:\users\Public\Videos\Windows Demo.wmv
;;
;; Run an external program without creating a window
;;
;; To see this demo in action, create the batch file
;; C:\Curtains.bat containing these two lines:
;;
;; @echo off
;; echo Setting curtains to %1 at %DATE% %TIME% >>c:\curtains.txt
;;
;Command=Open the curtains
;Response=Opening the curtains
;Action=Runback c:\curtains.bat Open

;Command=Close the curtains
;Response=Closing the curtains
;Action=Runback c:\curtains.bat Close

-------------------------------------------------------------
here is is the contents of Turn_on_lamp_one.cmd
"c:\ProgramData\Amulet Devices\Automation\NC" -u 10.100.2.17 9760 < "c:\ProgramData\Amulet Devices\Automation\LAMP1on.txt" -w 1
------------------------------------------------------------
here is the contents of LAMP1on.txt
229,!R1D1F1|
------------------------------------------------------------

the program NC above is just something that lets me send crafted UDP packets to a WIFI to LightwaveRF bridge that controls home-automation stuff.
So I can walk into the room raise my hand and say "turn on lamp one"
the system reply's through the speakers "turning on lamp one" and the lamp comes on.
( some people will say but it's less work to just use the light switch, but the key is you can do it from anywhere in the room
- that Kinect can see you - and even "reliably" from the couch etc and you can still use the light switch if your standing beside it!)

Steve

barnabas1969

Posts: 5738
Joined: Tue Jun 21, 2011 7:23 pm
Location: Titusville, Florida, USA

HTPC Specs: Show details

#23

Post by barnabas1969 » Wed Mar 28, 2012 1:30 pm

I was thinking along the lines of making it so that when I raise my hand to give a command, the "dip volume" thing could have four options:
1) Dip volume (and raise it after hand is lowered)
2) Mute volume (and un-mute after hand is lowered)
3) Do nothing
4) Run custom command "X" (and run custom command "Y" after hand is lowered)

This would allow me to write a script that sends a command to my AVR to query the current volume level, save the value in a file, lower the volume, and then raise it back to the original level after the hand is lowered. Very similar to what you're doing with the lamp.

Additional postures would be nice, but I'm not sure if I would use them.

Is it possible to setup custom commands that have parameters? For example:
Command=Turn on lamp <p1>
Response=Turning on lamp <p1>
Action=Run c:\directory\program <p1>

(where "<p1>" is the word or words you spoke at the end of the sentence)

I read both parts of your blog when you started this thread. I read about Haarcascades also. Very interesting stuff. You've put a lot of work into this. It has a lot of potential... even beyond Media Center.

If it's going to cost $6.99, I'm in.
Last edited by barnabas1969 on Wed Mar 28, 2012 3:19 pm, edited 1 time in total.

User avatar
cw-kid

Posts: 707
Joined: Mon Jun 20, 2011 5:53 pm
Location: United Kingdom

HTPC Specs: Show details

#24

Post by cw-kid » Wed Mar 28, 2012 3:13 pm

Here's how I got Amulet Custom commands working with mControl to turn on / off my zwave lights.

http://windowsmediacenter.blogspot.co.u ... 0.html?m=1
Stuart

The Media Center Blog Tips Tricks & News!
The Digital Lifestyle

bobbob

Posts: 676
Joined: Wed Oct 26, 2011 11:21 am
Location:

HTPC Specs: Show details

#25

Post by bobbob » Wed Mar 28, 2012 3:42 pm

steve118x wrote:
stonethecrows wrote:I'm thinking more along the lines of having the option to use the remote and this new fangled contraption from the future Take your pick at any given moment.
thats exactly how it's supposed to be used, :thumbup: but I've been quite surprised though at the number of people who dont get it,
pressing buttons on the remote control is the easiest control method 90% of the time and thats what I use also,
but if you want to jump straight to a piece of media without haveing to press multiple buttons, then voice is the way to go , it's just incredibly easy,


It's hard also to get people to buyinto voice control if they have had previously poor experiences with it, I've used some poor unreliable voice control solutions in the past
also, but speech recognition has improved significantly in the last couple of years and when you marry that to the built in kinect smarts like AEC and beamforming and use
a posture/gesture to gate the listening, the pure accuracy of the solution makes it just so usable.

Steve
sorry, i think i was misunderstood. the reason why i won't give up my harmony remote is the multiple actions i can start from one button press, turn on the tv and the AVR, turn both to the right channel and then bring Media Center back to the main menu. its this functionality i'm not prepared to give up rather than the remote itself. i will never go back to having 3 separate remotes for TV, AVR and Mediacenter. But, still interested in seeing where it goes!

barnabas1969

Posts: 5738
Joined: Tue Jun 21, 2011 7:23 pm
Location: Titusville, Florida, USA

HTPC Specs: Show details

#26

Post by barnabas1969 » Wed Mar 28, 2012 5:04 pm

I read about "Kinect for Media Center" and I like your idea better, Steve. If you combine the voice commands you currently have for the Amulet Remote with the Kinect sensor, I think you'll have a real winner. The ability to add custom commands to do things like controlling lights just makes it even sweeter.

User avatar
STC

Posts: 6808
Joined: Mon Jun 06, 2011 4:58 pm
Location:

HTPC Specs: Show details

#27

Post by STC » Wed Mar 28, 2012 10:57 pm

[Split thread - Discussion on Control methods here: http://thegreenbutton.tv/forums/viewtop ... f=9&t=1727 - STC]
By the Community, for the Community. 100% Commercial Free.

Want decent guide data back? Check out EPG123

ScAtMaN

Posts: 10
Joined: Tue Apr 17, 2012 6:59 am
Location:

HTPC Specs: Show details

#28

Post by ScAtMaN » Sun Jul 01, 2012 8:48 pm

Just like to chirp in and say I am really excited about the prospect of a decent voice control system for Media center using Kinect and I'm surprised there in not more talk about this on the Green Button.
I have downloaded the free version of the software and am really impressed with the quality!
I only have a 360 kinect and was pleased to see that the free version supports it. I really really hope a full version can utilise it and not force people to buy again for the PC version of the device, something that the rival kinect for media center software now only uses as it will severely hamper adoption I feel.

Really hope that we see a full version soon!
Last edited by ScAtMaN on Mon Jul 02, 2012 8:16 am, edited 1 time in total.

barnabas1969

Posts: 5738
Joined: Tue Jun 21, 2011 7:23 pm
Location: Titusville, Florida, USA

HTPC Specs: Show details

#29

Post by barnabas1969 » Mon Jul 02, 2012 1:29 am

I'd love this app, if it had control for more than just music. I don't use my PC for music. Also, before I can even TRY this app... I have to buy a Kinect. I don't have an XBox, so I would have no other use for the Kinect. If the dev never releases the full version of the app with control of TV/Movies, I would have a useless Kinect on my hands.

barnabas1969

Posts: 5738
Joined: Tue Jun 21, 2011 7:23 pm
Location: Titusville, Florida, USA

HTPC Specs: Show details

#30

Post by barnabas1969 » Wed May 22, 2013 3:24 pm

Steve, now that Xbox One has been announced, I think this would be an excellent time for you to release a full version of this app. The voice/gesture control that was demonstrated (here for the Xbox One is very impressive, and it would be a great thing to have on an HTPC.

Do you have any plans to finish this software?

steve118x

Posts: 11
Joined: Fri Mar 23, 2012 8:57 am
Location:

HTPC Specs: Show details

#31

Post by steve118x » Fri May 24, 2013 10:28 am

Steve, now that Xbox One has been announced, I think this would be an excellent time for you to release a full version of this app. The voice/gesture control that was demonstrated (here for the Xbox One is very impressive, and it would be a great thing to have on an HTPC.
Do you have any plans to finish this software?
unfortunately once it became clear that the Microsoft licensing would only allow developers to sell Kinect solutions based on the Kinect for PC and not the xbox360 Kinect, I stopped work on that project.
- 24million xbox360 kinects sold, cost $150 , you cant make money off PC software to work with that,
- who knows how few xbox for PC sold, probably a miniscule fraction , cost $250, but you can make money off software to work with that.
I don't think that's reasonable, so i stopped work on the Kinect side of things and gave away the software.

I'm currently working on getting voice recognition working with XBMC, I moved away from Mediacenter when it became clear (at least to me), that Microsoft were no longer developing new features and effectively running down the platform. (seems to me that might have been because of the overlap with xbox one).

I know there are voice recognition solutions on XBMC already , (like Voxcommand), but I'm using CMU Sphinx so it will work on all platforms, not just windows.
Initially it will work with the Amuletdevices remote control. Hopefully when the Xbox One starts rolling out and users start appreciating how useful voice control of search in a TV guide etc
can be. Some of that acceptance will help proliferate TV voice control in general and the uptake might carry across to non MS solutions also.

Steve.

barnabas1969

Posts: 5738
Joined: Tue Jun 21, 2011 7:23 pm
Location: Titusville, Florida, USA

HTPC Specs: Show details

#32

Post by barnabas1969 » Mon May 27, 2013 5:54 pm

I'm curious, Steve, about what you wrote above. How can you control whether I buy a Kinect for XBox or a Kinect for PC? Is there a way that the software can detect the difference, and refuse to work with the Kinect for XBox?

If so, then I see your problem. If not, then you can tell your customers that they must buy a Kinect for PC, but you can't force them to do it.

steve118x

Posts: 11
Joined: Fri Mar 23, 2012 8:57 am
Location:

HTPC Specs: Show details

#33

Post by steve118x » Tue May 28, 2013 10:04 am

barnabas1969 wrote:I'm curious, Steve, about what you wrote above. How can you control whether I buy a Kinect for XBox or a Kinect for PC? Is there a way that the software can detect the difference, and refuse to work with the Kinect for XBox?

If so, then I see your problem. If not, then you can tell your customers that they must buy a Kinect for PC, but you can't force them to do it.
Yes you can detect the difference between an Xbox360 Kinect and a Kinect for PC in software.
To use the Kinect for PC , Microsoft provides a runtime library (that deliberately doesn't work with xbox360 Kinect).
I presume it's to force PC users to pay extra for a Kinect for PC , even if they already have an xbox360 Kinect, I know MS are entitled to try
to squeeze their users if they want to, but I find that unreasonable, along with the fact that as a developer they want to limit the market
for my app to the few Kinect-PC users and exclude me from the millions of users that already have an XBOX Kinect.

I can see an argument for keeping tight control of the Kinect eco-system, the last thing Microsoft would want is an all-in-one entertainment
system based on a cheap x86 HTPC connected to everyones TV , based on XBMC and using peoples existing XBOX Kinect for voice and gesture control.
Too much like an Xbox one! (without the limitations etc).

Steve.

barnabas1969

Posts: 5738
Joined: Tue Jun 21, 2011 7:23 pm
Location: Titusville, Florida, USA

HTPC Specs: Show details

#34

Post by barnabas1969 » Tue May 28, 2013 1:49 pm

Well, that's disappointing. In your first post of this thread, you said that it would work with either the Kinect for XBox or PC. Was that incorrect, or did Microsoft change the runtime library after you initially posted it?

I understand why Microsoft would want a user to pay more for Kinect-PC. With the XBox, they sell the console (and I assume the Kinect) at a loss or break-even. They hope to make a profit on the sale of games and XBox Live. With the PC version of Kinect, they don't have a possibility to sell you anything, because the software will be purchased from someone other than Microsoft.

When you say that you "gave away the software", are you saying that the source code is available somewhere? If so, please tell me where to find it.

barnabas1969

Posts: 5738
Joined: Tue Jun 21, 2011 7:23 pm
Location: Titusville, Florida, USA

HTPC Specs: Show details

#35

Post by barnabas1969 » Tue May 28, 2013 7:44 pm

I've been reading the Amulet forums and found that there are a couple of people who have managed to use custom commands to make Amulet Kinect control Media Center and Media Browser. I think I'll give this a try. A question though...

It appears that they have written a program called Voice Watcher, that creates a custom command file that contains the title of every movie and TV show. If I have 700+ recordings, and this program creates a custom command file containing more than 700 commands... will this be a problem?

jachin99

Posts: 1294
Joined: Wed Feb 24, 2016 3:36 pm
Location:

HTPC Specs: Show details

#36

Post by jachin99 » Mon Sep 24, 2018 2:48 pm

Bump, I just set this up with XB360 Kinect on W10 build 1511, and everything went fine. I plan to implement some custom commands but if anyone has successfully gotten the kinect application to index their movies or guide data, then please let me know!! I'll post more as I am able to work on this.

Edit: After running it for a little bit, I came to the conclusion that this slowed down the WMC interface a little bit too much. Remote navigation didn't seem effected too much but at times, things like Live TV would seem to load slower via voice commands. For the record, I tried the Kinect for Xbox, and the Kinect sdk, which comes with a lot of extra libraries which aren't likely needed for the Kinect for WIndows version. Kinect for windows only requires the Kinect runtime so that might be worth a look but unless I get a really good deal on a Kinect for windows, I won't be trying this out. Overall the music commands seemed to work really well, and page navigation wasn't too bad but it wasn't quite quick enough to make it easier than using a remote.

Post Reply