VoxCommando

VoxNastics (User Guides and Mods) => Integration Ideas => Topic started by: JoshK on May 14, 2015, 11:38:56 AM

Title: apple watch integration with voxcommando
Post by: JoshK on May 14, 2015, 11:38:56 AM
Have recently been using an app called "home remote" on ios to enable common vc actions to be triggered from the "today" widget screen.

there's also a matching apple watch app that can be used to trigger any url command as well.

I've spoken with the developer and he's agreed to add functionality that allows the apple watch voice dictation to trigger URL commands.

This should enable voice activation of vc commands from your apple watch via VC's API

feature should be ready in the next week or so :)
Title: Re: apple watch integration with voxcommando
Post by: jitterjames on May 14, 2015, 12:50:56 PM
Sounds great!  ::banana
Title: Re: apple watch integration with voxcommando
Post by: Haddood on May 15, 2015, 02:33:13 AM
Coooooollllll

By the way I use launcher toward the same end :) (on iPhone and iPad)

I looked for "home remote" on App Store, could've find it ... Is it JBware?
Title: Re: apple watch integration with voxcommando
Post by: JoshK on May 16, 2015, 01:40:59 AM
Coooooollllll

By the way I use launcher toward the same end :) (on iPhone and iPad)

I looked for "home remote" on App Store, could've find it ... Is it JBware?

Yeah, i'd used launcher as well in the same way, but switched to home remote because of the apple watch app.

here's the app - https://itunes.apple.com/au/app/home-remote-home-automation/id926193671?mt=8

the update to the watch app has been submitted to apple for approval so I should receive an invite to test the beta in the next week.
Title: Re: apple watch integration with voxcommando
Post by: Gary_BBGames on May 16, 2015, 07:23:30 AM
Thanks Josh,

I just wanted to introduce myself, I've the dev of Home Remote and have put in a very basic implementation of the functionality for Josh to test. When it's approved by Apple for beta testing and I know it work, I'll make it a little nicer, add a couple of unrelated features I want to add and then put a build up for app store review.

The app supports Today Screen widgets, Beacons, Apple Watch and Pebble. The beacons are useful for triggering actions as you enter or leave rooms.

If you want to be on the beta when it's approved, leave your emails or email me at support@bouncingball.mobi and I'll add you.

That will give you a 30 day free trial of the app essentially too.
Title: Re: apple watch integration with voxcommando
Post by: jitterjames on May 16, 2015, 10:24:32 AM
Hi Gary,

Looks like a nice app you've got there.  I only have an old ipod touch so I can't test it personally, but hopefully you'll find a few new customers through integration with VoxCommando.

If you are able to send "any" recognized text similar to what Android can do that would have a lot of potential.  There is an action in our API that can accept a series of phrases and goes through them one at a time until a match with an existing voice command is found.  If it would be possible to implement this in your app that would be great.

The format of the action is as follows (can be sent by http GET, TCP, or UDP)

Code: [Select]
android.phrases&&RECOGNIZEDTEXT1&&RECOGNIZEDTEXT2&&RECOGNIZEDTEXT2&&RECOGNIZEDTEXT2
Where RECOGNIZEDTEXT1 is the text with the highest confidence (best guess).
Title: Re: apple watch integration with voxcommando
Post by: Gary_BBGames on May 16, 2015, 01:22:45 PM
Thanks.

The way it will work is you specify the base URL in the settings, eg: http://192.168.0.30/whatever.xxx?

When you use voice recognition and press "done" it would append all that was recognised, URL encoded, to the base URL. (Functionality for this is Apple Watch only)

You can launch the app directly from the Apple Watchwith a glance, going directly to voice recognition. You can see a video of the normal functionality here: http://youtu.be/poValYfohLg
Title: Re: apple watch integration with voxcommando
Post by: jitterjames on May 16, 2015, 01:36:56 PM
OK, So it sounds like getting backup (alternate) recognized phrases won't be supported.  Too bad, but not the end of the world.  :)
Title: Re: apple watch integration with voxcommando
Post by: Gary_BBGames on May 16, 2015, 05:49:15 PM
The voice recognition on the Apple Watch is very good. I'm working on a meter read submission app for an energy company that allows you to dictate the meter readings and it hasn't messed up once, even in a very noisy office.
Title: Re: apple watch integration with voxcommando
Post by: JoshK on May 24, 2015, 01:08:57 AM
I've been testing the last few days, and it works really well.

It obviously requires a bit of optimisation of your commands based on what words the watch picks up. for example i have a command "show weather" however spoken to the watch this is always interpreted as "show whether". I also have commands for lighting dimming like "dim living room lights to 20%" the watch's dictation regularly interprets the word "dim" as "diem" (probably due to my aussie accent). But after a couple of days of updating my voxcommando command's to allow for this it's working really nicely!!

I set the base url as http://myadress.com:port#/api/vc.tellvox&& and the app then appends the dictated text to the end.

I'll try and find time to post a video demo soon.
Title: Re: apple watch integration with voxcommando
Post by: Gary_BBGames on May 26, 2015, 08:20:58 AM
Thanks for the update and the feedback. I am still adding the native Belkin WeMo functionality to the app but will hopefully be submitting to Apple by the ned of the week.

Title: Re: apple watch integration with voxcommando
Post by: vulcanjedi on May 26, 2015, 11:05:25 AM
Thanks JoshK; would be very curious to see a video demo on this one.

I've been testing the last few days, and it works really well.

It obviously requires a bit of optimisation of your commands based on what words the watch picks up. for example i have a command "show weather" however spoken to the watch this is always interpreted as "show whether". I also have commands for lighting dimming like "dim living room lights to 20%" the watch's dictation regularly interprets the word "dim" as "diem" (probably due to my aussie accent). But after a couple of days of updating my voxcommando command's to allow for this it's working really nicely!!

I set the base url as http://myadress.com:port#/api/vc.tellvox&& and the app then appends the dictated text to the end.

I'll try and find time to post a video demo soon.
Title: Re: apple watch integration with voxcommando
Post by: Gary_BBGames on May 28, 2015, 11:15:43 AM
vulcanjedi, do you have an Apple Watch? I can add you to the beta team if you'd like to try it yourself?
Title: Re: apple watch integration with voxcommando
Post by: vulcanjedi on May 28, 2015, 11:48:41 AM
Hi Gary, I dont personally yet, but being able to use VC would certainly help sway me. My sister has one and I could use hers to demo
Title: Re: apple watch integration with voxcommando
Post by: vulcanjedi on May 28, 2015, 08:42:17 PM
I went ahead and got the Home Remote app for my phone.
So glad I got introduced to this API, thanks Josh!
From my web browser I can get
http://IP:PORT#/api/onkyo.setvoldecimal&&40 to work  and from the app.
However the below http://IP:PORT#/api/VC.TellVox&&onkyo set volume 40 or http://IP:PORT#/api/VC.TellVox&&onkyo set volume&&40 get url encoded and xml results say it worked but....it doesn't?, the Result tag says 'sending' when it truly works, even though 'success' says True on both
http://IP:PORT#/api/VC.TellVox&&onkyo%20set%20volume%2040
The wiki doesnt mention the url encoding if that is the issue and not sure if the Home Remote app is doing that as well?

<action>
  <actionString>VC.TellVox&&onkyo set volume 40</actionString>
  <Success>True</Success>
  <Result></Result>
</action>
Title: Re: apple watch integration with voxcommando
Post by: jitterjames on May 29, 2015, 09:50:15 AM
Unfortunately, I can't really parse that block of text but I can tell you a bit about the xml that is returned by the simple web server when it receives a get request containing an action string.

You posted this xml, although I don't know if it was from an action that worked for you (as expected) or not:

Code: [Select]
<action>
  <actionString>VC.TellVox&&onkyo set volume 40</actionString>
  <Success>True</Success>
  <Result></Result>
</action>

This XML corresponds to what you should see in the history panel on the main VC window.  If the <Success> tag is "True" this corresponds to an action that is not shown with a red background in the history.  Based on this particular XML it means that your action was processed successfully.  That doesn't necessarily mean that anything will happen though because you would need to have a corresponding voice command with the same spelling.  I don't think VC.TellVox is case sensitive though.  Remember that this text has nothing to do with the command name, it must match the phrases and payloads defined for the command.  The VC.TellVox action has no way of knowing whether or not a matching voice command will be found, it only knows that it successfully emulated the text that you sent it.  You'll need to look at your history window to see what entries follow the action that the web server generates.

Different actions will return different xml.  Here are some examples:
Code: [Select]
http://127.0.0.1:8095/api/TTS.Speak&&Isn't+this+fun?returns
Code: [Select]
<action>
  <actionString>TTS.Speak&&Isn't this fun?</actionString>
  <Success>True</Success>
  <Result>speaking (asynchronous): Isn't this fun?</Result>
</action>
In this case, this action returns a string for result.  This should correspond to what you see when you hover your mouse over this action in the history panel.  If you try it you'll see that it says:  info: speaking (asynchronous): Isn't this fun?
The word "info:" is to indicate that this result does not actually modify the {LastResult} variable.

Here is an example of a bad action string:
Code: [Select]
http://127.0.0.1:8095/api/TTS.Speaker&&Isn't+this+fun?this returns a value of "False" for "Success" because TTS.Speaker is not an valid action:
Code: [Select]
<action>
  <actionString>TTS.Speaker&&Isn't this fun?</actionString>
  <Success>False</Success>
  <Result>Error: unknown TTS action</Result>
</action>

And here is an example of an action that successfully returns a result that gets put into {LastResult}
Code: [Select]
http://127.0.0.1:8095/api/Gmail.GetCount
Code: [Select]
<action>
  <actionString>Gmail.GetCount</actionString>
  <Success>True</Success>
  <Result>9</Result>
</action>
Title: Re: apple watch integration with voxcommando
Post by: vulcanjedi on May 29, 2015, 11:41:38 AM
Thanks for the insight James.
I tried some other commands that do work.
Interesting I've been having issues getting this long used command to work, audibly and tellvox too is.
All it is is a
tts.speak
and a
onkyo.setvoldecimal

I get that cant compile into cfg error although I saw a previous post that you said it wasn't critical.
Will continue to investigate, dont want to 'jack this thread.
Title: Re: apple watch integration with voxcommando
Post by: Gary_BBGames on May 29, 2015, 01:46:12 PM
Hey Vulcan, having trouble understanding your post... is the Home Remote app working or not working?
Title: Re: apple watch integration with voxcommando
Post by: nime5ter on May 29, 2015, 03:29:32 PM
Thanks for the insight James.
I tried some other commands that do work.
Interesting I've been having issues getting this long used command to work, audibly and tellvox too is.
All it is is a
tts.speak
and a
onkyo.setvoldecimal

I get that cant compile into cfg error although I saw a previous post that you said it wasn't critical.
Will continue to investigate, dont want to 'jack this thread.

If you decide you want help with this command, you can create a new thread and follow the standard practice for getting support: post the xml for the problem command and a log. As James indicated earlier, it's probably a problem with your command phrasing, not the macro.
Title: Re: apple watch integration with voxcommando
Post by: Haddood on May 30, 2015, 04:09:17 AM
I got the app too ... Though no watch ... Testing with iPad and iPhone
Title: Re: apple watch integration with voxcommando
Post by: Gary_BBGames on May 31, 2015, 09:58:25 AM
Hey Haddood, the watch app allows direct pass through of voice, the iOS app doesn't so you'll need to add commands. The iOS app and Apple Watch app use different voice recognition APIs, the watches being better. If you need any help setting the app up then let me know.
Title: Re: apple watch integration with voxcommando
Post by: nime5ter on May 31, 2015, 10:36:11 AM
Thanks.

The way it will work is you specify the base URL in the settings, eg: http://192.168.0.30/whatever.xxx?

When you use voice recognition and press "done" it would append all that was recognised, URL encoded, to the base URL. (Functionality for this is Apple Watch only)

You can launch the app directly from the Apple Watch with a glance, going directly to voice recognition. You can see a video of the normal functionality here: http://youtu.be/poValYfohLg

Hi Gary,

Does Apple Watch's voice recognition API return just one result, no matter what?

I don't mean in terms of how your particular app is currently implementing it, but I am curious whether that API can, in theory, return a list of possible matches ranked according to likelihood.
Title: Re: apple watch integration with voxcommando
Post by: Gary_BBGames on June 01, 2015, 07:26:48 AM
Hey nime5ter,

The Apple watch will return the text it shows on the screen before you press done, there are no other "possible matches" or confidence rating.

The value it returns is an array, but it's an array of just one string - the other entries in the array are for storing data of any emojis.

The voice recognition is very good, but with homophones like "weather" and "whether" there will be a problem.

If the VoxCommando support is well received and actually generates some income then I will add a feature to allow words to be swapped out on the fly, such as if the watch sees "knew" then use "new".
Title: Re: apple watch integration with voxcommando
Post by: nime5ter on June 01, 2015, 08:37:25 AM
Thanks for the info, Gary. I was curious how it compared to Google's approach (which is as I described above -- as is Microsoft's).

For VC users, it's probably more efficient anyhow to edit all their commands in VoxCommando to contain alternate phrases in order to accommodate Apple's misinterpretations.

Title: Re: apple watch integration with voxcommando
Post by: jitterjames on June 01, 2015, 10:53:30 AM
If the VoxCommando support is well received and actually generates some income then I will add a feature to allow words to be swapped out on the fly, such as if the watch sees "knew" then use "new".

I think there are quite a few VC users who long for a solution similar to VoxWav for the iPhone.  Probably not enough yet with watches to be a significant source of income, at least in the near future.

Maybe we should start a poll.  It would not help us to measure total volume but might give us an idea of % of people who use   iPhone || iPhone + Apple Watch || Android.
Title: Re: apple watch integration with voxcommando
Post by: Gary_BBGames on June 01, 2015, 12:12:01 PM
I could add in the functionality for the Home Remote iOS app to do the same kind of thing that the Watch app does, although  due to the restrictions of iOS the app has to be open and in the foreground to listen in, limiting it's use compared to the VoxWav app (I checked it out online).

I could make it that if the voice recognition doesn't detect any inbuilt actions with the recognised name then I pass it through to the VoxCommando URL.

If you had a crappy iOS device you could leave it always on and listening, no data is sent online, it's all local recognition with the iOS app and, I believe, Apple Watch - I need to look in to what Apple's own APIs do.

[EDIT] THIS IS NOT POSSIBLE USING THE API I USE [/EDIT]
Title: Re: apple watch integration with voxcommando
Post by: vulcanjedi on June 01, 2015, 12:23:28 PM
I'd be happy to try, I have a new iphone and an older iphone with the crappy broke button.
Still haven't managed to connect with sister to try her watch yet

I agree if this functionality was more akin to VoxWav on droid that'd be the best outcome and would think most would like the watch form factor for this.

If it helps Gary, you can spin up a virtualbox vm and free win10 tech preview to test with.
Title: Re: apple watch integration with voxcommando
Post by: Gary_BBGames on June 01, 2015, 12:26:02 PM
Ah bugger, I've just been looking at the voice detection API docs for the API I use and you have to feed it a list of words to look for, this means I can't just let it loose listening to all and passing it on as it will try to match what it hears to the words in a sample dictionary.
Title: Re: apple watch integration with voxcommando
Post by: Kalle on June 01, 2015, 01:20:10 PM
Hi Gary,
I have a "old" iPhone 4 and you can add me also as beta tester.
Title: Re: apple watch integration with voxcommando
Post by: Gary_BBGames on June 01, 2015, 01:38:00 PM
Hey Kalle, not sure if you saw my later message, but using the voice recognition API that I currently use this isn;t possible :(
Title: Re: apple watch integration with voxcommando
Post by: Kalle on June 01, 2015, 01:45:58 PM
Ahhh, ok  :'(
Title: Re: apple watch integration with voxcommando
Post by: Gary_BBGames on July 03, 2015, 03:57:07 AM
Hey guys, the app got held by Apple for 32 days but it's out now.

The VoxCommando support is only for the Apple Watch, not the main iOS app. I hope some of you enjoy it.

http://www.bouncingball.mobi/homeremote

You can see the app here: http://www.bouncingball.mobi/homeremote

Ta,

G