Author Topic: Google Voice = Duplicate trigger  (Read 1538 times)

0 Members and 1 Guest are viewing this topic.

LightsOn

  • Jr. Member
  • **
  • Posts: 18
  • Karma: 4
    • View Profile
Google Voice = Duplicate trigger
« on: June 20, 2019, 06:14:02 AM »
Hi All,

First off – thank you for Voxcommando – great kit.

Seeking a little help with my setup if possible?  I am using latest install with the google voice integration (version: 2.2.4.5b).  All works in terms of recognition etc.

The issue I am having is:

-> When google voice is turned on, commands are recognised once but get triggered twice.  If turned off (green microphone no longer green) then the command is recognised once and triggers once.

Can I set things up to only use google voice and nothing else? I am assuming it is recognised the command with Microsoft speech recognition and also google speech recognition?

jitterjames

  • Administrator
  • Hero Member
  • *****
  • Posts: 7713
  • Karma: 116
    • View Profile
    • VoxCommando
Re: Google Voice = Duplicate trigger
« Reply #1 on: June 20, 2019, 07:23:37 AM »
Just turn VoxCommando off.

LightsOn

  • Jr. Member
  • **
  • Posts: 18
  • Karma: 4
    • View Profile
Re: Google Voice = Duplicate trigger
« Reply #2 on: June 20, 2019, 07:50:05 AM »
Hi jitterjames,

Thank you – but I am a little confused?

There are three states, on, standby, and off.  You are staying to turn VC ‘OFF’, but surly in doing this I lose the option of ‘standby’ and ‘on’? And does turning VC ‘Off’ not stop everything from working?

Before I used google voice I had one command that was an always on command that set the state to on from standby.  Standby would initiate after 15 seconds of idle time so as to reduce triggers taking place when they are not needed.

So your answer raises a few questions:

1) Should ‘off’ be correct whenever using google voice?
2) Is is normal that if VC is not off the duplicate commands are identified?
3) Can I run VC and google voice but prevent duplication? As in this case surly I get best result?

Apologies for the added questions – just keen to ensure I have full understanding.

Thank you in advance.

jitterjames

  • Administrator
  • Hero Member
  • *****
  • Posts: 7713
  • Karma: 116
    • View Profile
    • VoxCommando
Re: Google Voice = Duplicate trigger
« Reply #3 on: June 20, 2019, 08:52:20 AM »

1) Should ‘off’ be correct whenever using google voice?
2) Is is normal that if VC is not off the duplicate commands are identified?
3) Can I run VC and google voice but prevent duplication? As in this case surly I get best result?


Maybe you should try it.

1) Yes.  This would be the normal way of doing it.  They are two separate inputs.  You don't need both.
2) Yes.  If there are two people in a room and you walk in and say "hi", it is normal that both of them think you are talking to them.  If you want to have both listening then you need to give them different prefixes.  "Vox hello" or "Google hello" so then they know if you are talking to them.
3) Yes.  Turn VC to Off position, or see my answer to #2 above if you want to have both running simultaneously for some reason.

Note that both VC and Google voice can be turned on and off using actions so you may decide to set up a more custom solution where you can alternate between the two engines.

LightsOn

  • Jr. Member
  • **
  • Posts: 18
  • Karma: 4
    • View Profile
Re: Google Voice = Duplicate trigger
« Reply #4 on: June 20, 2019, 09:04:38 AM »
Hi jitterjames,

Thank you for taking the time to help me.  Your reply is not only very helpful and informative – it has also made me chuckle a bit! Thank you.

So with the above in mind – I am keen to go exclusively with Google as I have had mixed luck with regards to windows based voice recognition over the years and Google seems more advanced in this area than Microsoft.  However this then poses one last issue for me and this is:

-> Before with no use of google I used a mix of VC.On and VC.standby, with this method I had a trigger that was “always on” and thus was easy to call, while all other triggers were ignored even if spoken.  The trigger that put VC into ON mode meant all other triggers could then be called – like a sort of wake up.  How then – with VC permanently OFF in order to use google do I get the same / similar set up?  E.G one trigger brings the system to life? Without that trigger it is less sensitive or does not work is the goal.

Thank you in advance.

jitterjames

  • Administrator
  • Hero Member
  • *****
  • Posts: 7713
  • Karma: 116
    • View Profile
    • VoxCommando
Re: Google Voice = Duplicate trigger
« Reply #5 on: June 20, 2019, 09:37:31 AM »
I aim to amuse. :)

Firstly I should point out that this is a bit of a "hack" so you should not necessarily expect it to be possible to make things work exactly as they did when you were using the built-in speech recognizer.

That said, you should be able to set up a similar configuration using the actions provided with the new TCP plugin.

In particular take a look at:
TCP.GS.On
TCP.GS.Off
TCP.GS.SetPrefix


With TCP.GS.Off, you are off and need to use some other method to turn recognition back on (like an event or the VC built-in speech engine)

With TCP.GS.On Google should be listening...
Then, if you set the prefix to something (using TCP.GS.SetPrefix) then you are essentially in standby mode, and if you set the prefix to "nothing" (blank) then you are in regular "on" mode.

It's not really possible to have an "always on" command in this case so you will just need to use the prefix with a command to turn it back "on".

If it's really that important to you to have a system with an always on command using Google speech recognition then it technically should be possible using the more advanced Event Patterns found in the Google Speech tab of the TCP plugin settings but you'll have to do some homework to get this working the way you want.
« Last Edit: June 20, 2019, 09:40:20 AM by jitterjames »

LightsOn

  • Jr. Member
  • **
  • Posts: 18
  • Karma: 4
    • View Profile
Re: Google Voice = Duplicate trigger
« Reply #6 on: June 20, 2019, 10:06:02 AM »
Bingo! I have caught up.

So – I have the below options in my eyes if I am to go the simpler route (not using the more advance event patterns):

1) Have TCP.GS.Off but have it turn on and turn off VC on one single command only – this would rely on the MS speech engine to be good at recognising the desired “wake up” type command. A command could reverse this.

2) Do away with the idea of the wake up type command and instead use a prefix permanently in VC with TCP.GS.SetPrefix.  as such each command given would need to be spoken with the “prefix” each time.

Thank you for the help – it’s really appreciated.

jitterjames

  • Administrator
  • Hero Member
  • *****
  • Posts: 7713
  • Karma: 116
    • View Profile
    • VoxCommando
Re: Google Voice = Duplicate trigger
« Reply #7 on: June 20, 2019, 10:15:56 AM »
You are most welcome.

Please note that if you want to use this plugin extensively you should use the updated version found here:

https://voxcommando.com/forum/index.php?topic=2876.msg24412#msg24412

I have been lax about releasing a new version of VC with the updated plugin in it.

LightsOn

  • Jr. Member
  • **
  • Posts: 18
  • Karma: 4
    • View Profile
Re: Google Voice = Duplicate trigger
« Reply #8 on: June 20, 2019, 10:54:55 AM »
Hi,

Thank you for this - will use this now.  Will also ensure I unblock if required.

Thanks again.

LightsOn

  • Jr. Member
  • **
  • Posts: 18
  • Karma: 4
    • View Profile
Re: Google Voice = Duplicate trigger
« Reply #9 on: June 20, 2019, 01:28:03 PM »
Hi again,

All working much better now knowing the above. Thank you.

Can I create a time based condition in VC? As if so I could call GS with the prefix, this action could remove the prefix allowing for me to chat away a load of commands, then I could – after a set idle time (or other command), put the prefix back.

I think I can set a prefix with “TCP.GS.SetPrefix” but can I set an ‘action’ based on idle time?

Would I need to restart VC after setting a prefix for it to take effect?

jitterjames

  • Administrator
  • Hero Member
  • *****
  • Posts: 7713
  • Karma: 116
    • View Profile
    • VoxCommando
Re: Google Voice = Duplicate trigger
« Reply #10 on: June 20, 2019, 04:21:15 PM »
Yes you can use the action SetEventTimer to reset the prefix after a certain amount of time.

https://voxcommando.com/mediawiki/index.php?title=Actions#SetEventTimer

No you don't need to restart VoxCommando after setting a prefix for it to take effect.  Did you ever watch my demo video for Google Speech?  If not, now would be a good time.

LightsOn

  • Jr. Member
  • **
  • Posts: 18
  • Karma: 4
    • View Profile
Re: Google Voice = Duplicate trigger
« Reply #11 on: June 21, 2019, 06:13:58 AM »
Thank you for this – and great video, thanks.

Just as a note – setting TCP.GS.SetPrefix and leaving it blank does not work for me but if you TCP.GS.SetPrefix with {Empty} it does work.

Some tweaks have been needed to my voice commands to make them work better but on the whole it is now working great as wanted – thank you.

jitterjames

  • Administrator
  • Hero Member
  • *****
  • Posts: 7713
  • Karma: 116
    • View Profile
    • VoxCommando
Re: Google Voice = Duplicate trigger
« Reply #12 on: June 21, 2019, 09:15:54 AM »
Thanks for bringing this to my attention. I'll add a note in the documentation.