Discussion:
Supporting two users
(too old to reply)
Daniel Bigham
2009-05-20 03:07:09 UTC
Permalink
Something that I've thought about a little bit is how to create a system that
is trained to recognize either one of two users. ie. A standard speech
profile is trained to recognize the voice of a single user, so how might one
go about creating a system that was good at recognizing two different people.

The general case is creating a speech recognition system that could
recognize any speaker, but that's not what I'm interested in here -- just two
people, which seems reasonable to me.

Any thoughts? Has this already been done?

Is it possible to have two recognizers running, one for User A's profile,
and another recognizer for User B's profile, and then respond to recognitions
events for either recognizer? etc etc.

Any help would be appreciated.

Thanks,
Daniel
Steve Meyer [MSFT]
2009-06-01 20:16:32 UTC
Permalink
Hi Daniel,

I'm unclear on exactly what you've got in mind, but, hopefully, I can give
you some ideas that can help you achieve what you want to do. SAPI supports
having multiple recognition profiles on the same computer. In fact, each
user account can have multiple recognition profiles associated with it.

If User A is logged on and has created a speech recognition profile, then
that's the profile that will be used when that speaker uses a SAPI
application. Likewise, if User B has a speech recognition profile, then it
will be used when he/she uses a SAPI application. This assumes that the SAPI
application will be loading the default profile for each user.

If a user has more than one recognition profile, one of them would be
considered the default; this can be viewed and changed through the speech
control panel. Using SAPI an application could query for the reco profiles
belonging to a user and after these are found the program could display a
dialog allowing the user to choose which one to use.

Here are some of the helper functions and methods to use for manipulating
recognition profile tokens:

SpEnumTokens
SpGetDescription
ISpObjectTokenCategory::SetId
ISpObjectTokenCategory::SetDefaultTokenId

-- Steve Meyer

This posting is provided "AS IS" with no warranties, and confers no rights.
Post by Daniel Bigham
Something that I've thought about a little bit is how to create a system that
is trained to recognize either one of two users. ie. A standard speech
profile is trained to recognize the voice of a single user, so how might one
go about creating a system that was good at recognizing two different people.
The general case is creating a speech recognition system that could
recognize any speaker, but that's not what I'm interested in here -- just two
people, which seems reasonable to me.
Any thoughts? Has this already been done?
Is it possible to have two recognizers running, one for User A's profile,
and another recognizer for User B's profile, and then respond to recognitions
events for either recognizer? etc etc.
Any help would be appreciated.
Thanks,
Daniel
Daniel Bigham
2009-06-24 17:25:01 UTC
Permalink
Hi Steve,

Thanks for your reply.

I understand what you're saying here, but perhaps I didn't describe my
requirements very well.

I'm wondering how one might go about creating a system that would
automatically switch to the right person's profile when it heard them say a
known activation keyword. So if I came up to the computer and said
"Computer", it would switch to my recognition profile, or if my wife came up
to the computer and said "Computer", it would use hers.

This avoids the annoyance of the person having to use the mouse to select
their voice recognition profile each time they want to give the computer a
voice command.
Post by Steve Meyer [MSFT]
Hi Daniel,
I'm unclear on exactly what you've got in mind, but, hopefully, I can give
you some ideas that can help you achieve what you want to do. SAPI supports
having multiple recognition profiles on the same computer. In fact, each
user account can have multiple recognition profiles associated with it.
If User A is logged on and has created a speech recognition profile, then
that's the profile that will be used when that speaker uses a SAPI
application. Likewise, if User B has a speech recognition profile, then it
will be used when he/she uses a SAPI application. This assumes that the SAPI
application will be loading the default profile for each user.
If a user has more than one recognition profile, one of them would be
considered the default; this can be viewed and changed through the speech
control panel. Using SAPI an application could query for the reco profiles
belonging to a user and after these are found the program could display a
dialog allowing the user to choose which one to use.
Here are some of the helper functions and methods to use for manipulating
SpEnumTokens
SpGetDescription
ISpObjectTokenCategory::SetId
ISpObjectTokenCategory::SetDefaultTokenId
-- Steve Meyer
This posting is provided "AS IS" with no warranties, and confers no rights.
Post by Daniel Bigham
Something that I've thought about a little bit is how to create a system that
is trained to recognize either one of two users. ie. A standard speech
profile is trained to recognize the voice of a single user, so how might one
go about creating a system that was good at recognizing two different people.
The general case is creating a speech recognition system that could
recognize any speaker, but that's not what I'm interested in here -- just two
people, which seems reasonable to me.
Any thoughts? Has this already been done?
Is it possible to have two recognizers running, one for User A's profile,
and another recognizer for User B's profile, and then respond to recognitions
events for either recognizer? etc etc.
Any help would be appreciated.
Thanks,
Daniel
Robert Carnegie
2009-07-21 22:42:11 UTC
Permalink
I don't quite have applicable expertise, but I gather there is now a
Microsoft macro tool which is speech-activated, as well as third-party
efforts to do that. I don't know what "macro" necessarily means in
terms of what it can do, but a program like AutoHotkey (which isn't a
speech macro tool when I last looked, but is a successor of AutoIt,
which one third party product uses) - a program like AutoHotkey can
make the Windows interface do circus tricks.

So maybe you'd want to have special reserved words - for English
speakers, the French "attends" and "ecoute" come to mind - so that if
user A speaks their word when user B's speech profile is active then a
macro is run which switches to user A's profile, and likewise if user
B speaks their word into user A's recogniser, then a macro runs to
open user A's profile.

Or you maybe could do something involving his 'n' hers microphones,
but I haven't decided how that would work.

Or... does it not work if one user logs out or switches Windows
session to another user? Well, apparently you've decided not to do
that, anyway.

Continue reading on narkive:
Loading...