Author Topic: Multiple Users  (Read 11307 times)

0 Members and 1 Guest are viewing this topic.

DHHJ

  • $upporter
  • Contributor
  • *****
  • Posts: 62
  • Karma: 1
    • View Profile
Multiple Users
« on: February 10, 2011, 10:12:43 PM »
I am on a quest to reduce/simplify the many remotes we currently use in our home and augment their operation with VC. As my command and payload lists lengthen, speech accuracy apparently decreases. I have a few questions:

1.What are the best ways to improve speech accuracy for multiple users ie. there are 4 people that will be using VC to control MM, XBMC and a satellite set top box (Bell ExpressVu/DishTV)? Can I do multi-user recognition training of some form?

2. Does command.xml and payload.xml size negtively impact performance?  Are there any suggestions to help?

3. I've tried different mics- USB wired, USB wireless and most recently a MXL 404 conference mic. Is noise cancellation the most important consideration for multi-user input?

jitterjames

  • Administrator
  • Hero Member
  • *****
  • Posts: 7714
  • Karma: 116
    • View Profile
    • VoxCommando
Re: Multiple Users
« Reply #1 on: February 10, 2011, 11:18:31 PM »
I haven't found the size of payloads or of the voicecommands.xml file to be an issue with performance.  Very large payloads of artist and albums etc. will obviously take longer to load, especially the fist time after an update.

One thing that is important as your commands grow, and especially important if you have multiple users is to choose your command syntax carefully.  I have noticed that the way you select channels, simply by saying the channel name, is a very poor choice.  You are creating a large number of single word commands.  In general, you should try to have no single word commands at all.  By using a simple word like channel, you group all those choices together and isolate them from all your other commands.  Also, when the computer hears the first word "channel" it is then listening specifically for the list of channels you have provided, and so it will be more likely to have a higher confidence when it hears a word like golf.  "channel golf" is MUCH easier to identify than just "golf", especially if you have a command like "go left".  Slur your words a bit and it sounds a bit like golf right?

Most systems that claim that you don't need to train them, are making this claim on the basis of a carefully chosen set of commands.

We use commands like "play artist <name>" and "play album <name>" for the same reason.  We could just use "play <name>" for both, and let the computer sort it out, but we increase the chances of something going wrong.  We could never create a command where you just say the artist's name.  That would lead to disaster!

Using the key word at the beginning of your commands also allows you to create just one command with a payload instead of having to create a separate command for each channel as you have done.

The other issues you are dealing with are.

1) multiple users
2) microphone

they are both pretty big topics, but everything I said above will address them both to some extent.  I can say that a busy home with a lot of people around probably is not a great place to try to use a very sensitive conference microphone that picks up everything.  In this case, something like the Amulet remote will probably work much better.  The conference mic would be better suited to a bachelor.  A headset obviously doesn't work for multiple users, but you do want something that is designed to be close to your mouth so as not to pick up background sounds.

In terms of user profiles, you can try 3 different things.

1- Use a single profile and don't train it at all.  If you train it to your voice, it won't like your wife's or your kids.

2 - Use a single profile and let everyone train it.  This might work, or it might end in tears...  :'(

3 - Set up separate profiles and let people train their own, and switch between them.  It is possible to create a command like "This is John" and have it switch to your profile.  It will take some time to reload each time you change to a new profile, but for me it is pretty quick (a couple seconds).

I don't know if you are all native English speakers.  Obviously accents are a problem.  In my testing, I have found that most English speaking men and women are understood quite well on my profile (which I have only trained a little).  My friend's wife (Russian) speaks perfect English but with a strong accent and the computer misunderstood most of what she said when she tried it.  I have also found that very young children are usually not well understood.  I'm not sure if it is the high pitch or something else.  Anyway, I only mention it because you might be able to use one profile for adults and one for children.

Ah the joy of experimentation!  Just remember that with great power comes great opportunity to really mess things up.  I want people to be able to do whatever they want with VoxCommando, but if you don't choose your commands carefully you will no doubt run into problems.  Also VoxCommando is a good way to remind ourselves to articulate!

DHHJ

  • $upporter
  • Contributor
  • *****
  • Posts: 62
  • Karma: 1
    • View Profile
Re: Multiple Users
« Reply #2 on: February 11, 2011, 09:34:27 AM »
Thanks for the input/suggestions. I'm offline for the next week but will try when I get back.

I will definitely look at my grammar and spend some time building a better command syntax.

How can I switch profiles, programatically? You stated "It is possible to create a command like "This is John" and have it switch to your profile."- how could I try this out?

jitterjames

  • Administrator
  • Hero Member
  • *****
  • Posts: 7714
  • Karma: 116
    • View Profile
    • VoxCommando
Re: Multiple Users
« Reply #3 on: February 11, 2011, 10:49:47 AM »
VC.SetProfile

the parameter should be the name of a windows speech profile defined in windows speech control panel.  I think it is case sensitive.  If you go this route, I recommend you create new profiles for everyone and use windows training once right away after you create each profile.

RickyD333

  • Contributor
  • ***
  • Posts: 71
  • Karma: 2
    • View Profile
Re: Multiple Users
« Reply #4 on: June 22, 2015, 11:47:05 PM »
In my testing, I have found that most English speaking men and women are understood quite well on my profile (which I have only trained a little).

So I just had one of my friends over and she wanted to see my automation work. I started talking to my computer and she was quite impressed, but when I let her have a go at it, Vox did not recognize the command she was giving (the command she was trying was "computer, tv on." I was wondering when you say you have only trained your system a little, does that mean you have used the "learn" function in Vox or if you used the MS Speech Training program? With my experience, having not used the MS Speech Training results in my commands not really working at all. And I've only used the "learn" function in Vox a little myself. I was thinking of having her do the MS Speech Training, but I don't know how that might affect my voice recognition.

Kalle

  • $upporter
  • Hero Member
  • *****
  • Posts: 2320
  • Karma: 47
    • View Profile
Re: Multiple Users
« Reply #5 on: June 23, 2015, 12:03:07 AM »
You can take a look here how the "learn" function works.
http://voxcommando.com/mediawiki/index.php?title=How_to_use_VoxCommando#.28G.29_Learn_Checkbox


Sometimes it is better you use longer phrases, for example "computer, switch TV on".
***********  get excited and make things  **********

RickyD333

  • Contributor
  • ***
  • Posts: 71
  • Karma: 2
    • View Profile
Re: Multiple Users
« Reply #6 on: June 23, 2015, 12:26:51 AM »
Hmm, okay so after figuring out the "learn" function is the same as the MS Speech Training I did some browsing on that and found I could train others under my speech profile, but the VR accuracy will drop. Kind of a bummer. So I guess the best option is to make different profiles for people that would be in my home, but will have to deal with training the system for a bit. Hmmm.

Isn't there a way to say a prefix word and have that tied to a different speech profile? So when I say "computer..." my profile is activated, but when the prefix "Jarvis..." is said, my friends speech profile becomes the active one? This might be a little more convenient over having to tell the computer which profile to activate.

Haddood

  • $upporter
  • Hero Member
  • *****
  • Posts: 688
  • Karma: 22
    • View Profile
Re: Multiple Users
« Reply #7 on: June 23, 2015, 04:23:42 AM »
Hmm, okay so after figuring out the "learn" function is the same as the MS Speech Training I did some browsing on that and found I could train others under my speech profile, but the VR accuracy will drop. Kind of a bummer. So I guess the best option is to make different profiles for people that would be in my home, but will have to deal with training the system for a bit. Hmmm.

Isn't there a way to say a prefix word and have that tied to a different speech profile? So when I say "computer..." my profile is activated, but when the prefix "Jarvis..." is said, my friends speech profile becomes the active one? This might be a little more convenient over having to tell the computer which profile to activate.

there is other ways to achieve the same thing ... search the forum for it ...
When Voice command gets tough, use hand gestures

jitterjames

  • Administrator
  • Hero Member
  • *****
  • Posts: 7714
  • Karma: 116
    • View Profile
    • VoxCommando
Re: Multiple Users
« Reply #8 on: June 23, 2015, 09:15:09 AM »
Don't use prefix to change profiles.

 Create a separate voice command for this.

jitterjames

  • Administrator
  • Hero Member
  • *****
  • Posts: 7714
  • Karma: 116
    • View Profile
    • VoxCommando
Re: Multiple Users
« Reply #9 on: June 23, 2015, 09:21:51 AM »
I recommend reviewing this http://voxcommando.com/mediawiki/index.php?title=FAQ#Why_doesn.27t_VC_understand_me_all_the_time.3F

Send us a video showing how you are both using it so we can give you proper advice.

I do not use any training at all on my setup.  It depends on many many factors,  and you need to know how to issue voice commands correctly. Many new users do not pause long enough before giving a command. Some women speak much more quietly than men etc.

You can always try out the SP engine which does not have training and is more user agnostic.