A speaker identification system includes a speaker model generator 110 for generating a plurality of speaker models. To this end, the generator records training utterances from a plurality of speakers in the background, without prior knowledge of the speakers who spoke the utterances. The generator performs a blind clustering of the training utterances based on a predetermined criterion. For each of the clusters a corresponding speaker model is trained.
A speaker identifier 130 identifies a speaker determining a most likely one of the speaker models for an utterance received from the speaker. The speaker associated with the most likely speaker model is identified as the speaker of the test utterance.
|
1. A method of automatically identifying a speaker; the method including:
identifying a speaker by:
receiving a test utterance from the speaker;
determining a most likely one of a plurality of speaker models for the test utterance; and
identifying the speaker associated with the most likely speaker model as the speaker of the test utterance; wherein the method includes generating the plurality of speaker models in the background by:
receiving training utterances from a pool of utterances from the plurality of speakers in the background, without prior knowledge of the speakers who spoke the respective training utterances;
blind clustering of the training utterances from the pool of utterances based on a predetermined criterion, wherein the blind clustering includes calculating a likelihood vector for each training utterance; and
non-explicitly training for each of the clusters a corresponding speaker model, each of the models representing a speaker.
12. A method for automatically identifying based on speech, comprising:
receiving training utterances from a pool of utterances from the plurality of speakers;
performing blind clustering of the received training utterances from the pool of utterances based on a predetermined criterion to produce clusters, wherein the blind clustering includes calculating a likelihood vector for each training utterance;
non-explicitly training, for said clusters, corresponding speaker models representing associated speakers;
receiving a test utterance from a speaker;
determining a most likely one of said speaker models for the test utterance; and
identifying a speaker associated with the determined most likely speaker model as the speaker of the test utterance,
wherein said receiving training utterances occurs in the background, without prior knowledge of the speakers who respectively spoke said training utterances, and said speaker models are generated in the background.
11. A system for automatically identifying a speaker; the system includes:
a speaker identifier operative to identify a speaker by:
receiving a test utterance from the speaker;
determining a most likely one of a plurality of speaker models for the test utterance; and
identifying the speaker associated with the most likely speaker model as the speaker of the test utterance; and
a speaker model generator operative to generate the plurality of speaker models, wherein the speaker model generator is operative to generate the plurality of speaker models in the background by:
receiving training utterances from a pool of utterances from the plurality of speakers in the background, without prior knowledge of the speakers who spoke the respective training utterances;
blind clustering of the training utterances from the pool of utterances based on a predetermined criterion, wherein the blind clustering includes calculating a likelihood vector for each training utterance; and
non-explicitly training for each of the clusters a corresponding speaker model, each of the models representing a speaker.
2. A method as claimed in
modeling each respective one of the training utterances xi by a respective model λi;
calculating for each training utterance xi a corresponding likelihood vector Li, where each vector element Lij, 1≦j≦N represents a likelihood of the training utterance xi against a respective one of the models λj;
determining for each training utterance xi a corresponding ranking vector Fi, where each element Fij of the ranking vector Fi is assigned a ranking value representing a ranking of the corresponding likelihood Lij compared to the other elements of the likelihood vector Li such that a higher likelihood value of Lij is reflected by a higher ranking value of Fij;
clustering the training utterances xi based on a criterion that a minimum in a distance measure between Fi and Fj indicates that the training utterances xi and Xj originate from a same speaker.
3. A method as claimed in
4. A method as claimed in
receiving an enrolment utterance from a speaker,
determining a most likely one of a plurality of speaker models for the enrolment utterance;
receiving identifying information of the speaker; and
storing the identifying information in association with the most likely speaker model.
5. A method as claimed in
verifying whether a likelihood of the most likely speaker model is above a predetermined threshold; and
if the likelihood is below the predetermined threshold, requesting a further utterance from the speaker, and iteratively
receiving the further utterance;
adapting the most likely speaker model with the further utterance; and
determining the likelihood of the adapted speaker model;
until the likelihood is above the predetermined threshold.
6. A method as claimed in
7. A method as claimed in
8. A method as claimed in
9. A method as claimed in
10. A computer program product comprising a computer readable medium into which is embodied a computer program operative to cause a processor to perform the method as claimed in
13. A method as claimed in
the generating of the speaker models for respective ones of said received training utterances;
calculating, for said received training utterances, corresponding likelihood vectors, whose elements individually represent likelihood of a respective one of the training utterances based on a multiple ones of the models;
forming, for the training utterances, corresponding ranking vectors,, whose elements are assigned corresponding ranking values representing relative ranking of likelihood compared to other elements of a respective one of the likelihood vectors; and
clustering the training utterances based on a criterion that judges training utterances to have originated from the same speaker based on distance between ones of said corresponding ranking vectors.
14. A method as claimed in
15. The method of
16. The method of
17. The method of
18. A method as claimed in
19. A method as claimed in
20. A computer program product comprising a computer readable medium into which is embodied a computer program operative to cause a processor to perform the method as claimed in
|
The invention relates to automatic identification of speakers by receiving a test utterance; determining a most likely one of a plurality of speaker models for the test utterance; and identifying the speaker associated with the most likely speech model as the speaker of the test utterance.
Speaker identification is getting increasingly important. Traditionally speaker identification has been used for security purposes, for example to verify the identity of a speaker based on voice characteristics. As more and more applications of voice control are developed for CE (consumer electronics) equipment, speaker identification can also play an important role in further simplifying the interaction with CE equipment.
In conventional speaker-identification (speaker-ID) tasks, models for specific speakers are trained using enrollment data of clients. Usually, Hidden Markov Models (HMMs) are used to model sub-word units, such as phonemes or diphones. To achieve good performance, a reliable system needs a large amount of enrollment data to characterize the speakers' voices. In particular, data from a number of different sessions is desirable, because speakers' voice characteristics change significantly from session to session. Each speaker trains its own model. As such the speaker must have enrolled to the system before actual training takes place.
Once the models are trained, an utterance of a speaker to be identified or verified is compared against all speaker models. The identity of the speaker is determined by locating the model with the highest likelihood for the utterance, and retrieving the identity of the speaker associated with the model.
Since it is annoying for users to spend much time training the system, there is a need to minimize the demands on the speaker and the amount of training data. In itself, various approaches have been proposed, which aim at producing better parameter estimates of speaker modeling when only sparse enrollment data is available. These systems neverthereless require the user to enroll and train the system. For CE systems this may still be a too high barrier for users and hinder acceptance of the system. It aslo makes the system difficult to operate for casual users who are familiar with enrollment.
It is an object of the invention to provide a method and system capable of automatically identifying speakers without the speakers needing to enroll by explicitly training the system.
To meet the object of the invention, the plurality of speaker models are generated in the background by:
receiving training utterances from the plurality of speakers in the background, without prior knowledge of the speakers who spoke the respective training utterances;
blind clustering of the training utterances based on a predetermined criterion; and
training for each of the clusters a corresponding speaker model; each of the models representing a speaker.
In the approach according to the invention speaker-specific models can be trained without relying on the enrollment data, but instead using off-line collected speech of speakers. To achieve this, the system is designed with capability of collecting, classifying and learning distinct speaker voices on the fly without human intervention. Since the learning is a background or hidden procedure, it is referred to as background learning. In the description the background learning will focus on batch learning. Batch learning is performed at a time when enough speech data of all speakers to be identified has been collected in the background. The background learning is advantageously used in a voice control system. Most state of the art speaker-independent voice control systems can be used by a user without having to train the system first. While the user is using the voice control system the commands uttered by the user are recorded and used for the background learning according to the invention. For certain other applications it may even be possible that when the user obtains a new system equipped with the background learning according to the invention, the system automatically starts collecting utterances from users, for instance by recording all speech received via a microphone. To this end the system may be equipped with software to distinguish between speech and other sounds. The system may start the recording without any user intervention or after having been activated by a user. In either case the system is initially not provided with information on who is actually speaking the utterances. For the invention it is also not required that the users speak predetermined phrases, like passwords. It is assumed that each of the collected utterances contains speech segments from a single speaker. In other words, attributes of each utterance can be exclusively judged as originating from only one speaker.
Once the system has collected enough data, according to a predetermined criterion, the batch learning includes blind clustering of the speech data according to speaker characteristics, defined by a predetermined criterion. This is optionally followed by training speaker-specific models using self-tagged data. This batch learning technique is employed when a system needs to be initiated in an unsupervised way. Alternatively, the background learning technique according to the invention can be used in an ‘incremental learning’ form. This involves adding new users to the current system or collecting new speech data for adapting prior speaker models. The system performs pre-verification to determine whether the new collect data are of already identified speakers. If so, the data is optionally used to adapt the prior speaker models. Otherwise the data is clustered blindly and thereby new speaker models are generated.
In this way the troublesome accuracy/enrollment trade-off is circumvented and thus user efforts are reduced.
It should be noted that U.S. Pat. No. 5,862,519 describes a method of blind clustering of speech for a speaker identification/verification system. In this system the blind clustering is used for automatically segmenting utterances, typically passwords, into sub-word units. In the known system, the blind segmentation is used to segment an unknown password phrase into sub-word units based on a homogeneity property, where the segmentation boundaries are unknown. The password phrase comes from a client speaker. It means the speaker is known to the system and is actually training the system. In the system according to the invention blind clustering is used to group together utterances from the same-speaker, where the utterances are part of a pool of utterances from several speakers. A collection of utterances is blindly split into several speaker-related clusters. There is no prior knowledge about speakers during the clustering.
According to an aspect of the present invention, a model is created of each utterance received in the background. Each of the utterances is also compared against all such models. This gives for each utterance a vector of likelihoods. The discrimination is increased by replacing the likelihoods by a ranking based on the likelihoods. The distance between the ranking vectors forms the general criterion for distinguishing between different speakers' utterances, since it has been found that the distance between ranking vectors is smaller if the ranking vectors relate to utterances of the same speaker than if the ranking vectors relate to utterances from different speakers. Based on this criterion the utterances are clustered. For each of the clusters a model is created. This model is assumed to be specific for one speaker. It will be appreciated that if the ranking is such that a high likelihood gives a high ranking value, same speaker utterances show up as a minimum distance between the ranking vectors. A suitable ranking of the elements of the likelihood vector results in a good discriminative power.
According to an aspect of the present invention, a threshold is used in the ranking based on the expected number of utterances per cluster. This helps the clustering process.
According to an aspect of the present invention, the user can enroll using his/her voice. Automatically, the most likely model is determined and the identity of the user is stored for this model, making enrolment fast and easy.
According to an aspect of the present invention, during the enrolment it is tested whether the model has already been trained sufficiently. If not, some further utterances are received and the partially completed model is adapted to the new utterances. In this way enrolment is also quick compared to having to start from scratch.
According to an aspect of the present invention, blind clustering is stopped if a model is trained sufficiently in the sense that a speaker can be identified with sufficient confidence.
According to an aspect of the present invention, once a model has been trained sufficiently, the speaker is automatically approached to specify its identity, so that the speaker can be identified automatically from that moment on. In this way, the speaker does not even need to take any initiative for enrolling.
As defined in an aspect of the present invention, identification of a speaker results in automatically retrieving a personal profile for interacting with a CE device. This makes personalized use of CE equipment possible in a very user friendly way.
These and other aspects of the invention will be elucidated with reference to the drawings.
Since the background learning is completed in an unsupervised way, initially no information is present regarding which model is associated with which speaker. To perform subsequent speaker identification that really identifies the actual speaker, it is desired to tag each of the models with its corresponding speaker identity as is shown in block 122. This can be done when the speaker performs a formal registration. In this phase, the system will ask each of the speakers to provide few enrollment data, for example, only one arbitrary utterance y. The system assigns the most adequate model to the speaker based on this enrollment utterance. In other words, the speaker “adopts” one of the speaker models by means of his/her voice. To achieve this, preferably a maximum likelihood decision rule is employed, resulting in selecting the most likely speaker model. The system decides in favor of the model for speaker Si satisfying
It will be appreciated that for certain applications it is not necessary to know the exact identity of a speaker. It may be sufficient to be able to distinguish between speakers. As such, block 120 is optional. If no enrolment has taken place, a speaker can simply be identified by a number associated with each respective speaker model.
During identification shown in block 130, the system in block 132 takes as input an unknown test utterance, say, z, and produces as output the identity of the hypothesized speaker satisfying
where Q is the number of users. This means that the identity of the speaker associated with the most likely speaker model is retrieved.
The Utterance Clustering Cues
Let {x1, x2, . . . , xN} denote a set of N speech utterances from P surrounding speakers {S1, S2, . . . , SP}, where N>P, and P may be unknown in advance. The objective of the utterance clustering is to produce a partitioning of the utterances into a set of M clusters such that all the utterances in a cluster are, preferably, from only one speaker. Ideally, M=P such that all the utterances from a specific speaker can be grouped into a single cluster. Toward this end, it is a prerequisite to identify relevant aspects of speaker characteristics carried by each of the utterances and thereby produce some measurements with small difference between utterances of the same speaker and with larger difference between utterances of different speakers. In line with the success of Gaussian mixture classifier in the text-independent speaker identification, the inventors have realized that a Gaussian Mixture Model (GMM) formed from an utterance can also be used to characterize acoustic space corresponding to a speaker identity rather than a spoken message. To advance with this, speech utterances are first converted from their digital waveform representations into streams of feature vectors, and each of these utterances is in turn modeled by a Gaussian mixture density. Such a modeling is well-known and not described in detail here. Let {λ1U,λ2U, . . . ,λNU} denote the parameter set of GMMs formed from the N utterances. Next, the likelihood of each utterance xi is computed against each model λjU as Lij=log p(xi|λjU), 1≦i, j≦N. Experiments have indicated that the likelihoods are generally large when utterances and test models are associated the same speaker and small otherwise, i.e.,
Lij>Lik, if S(xi)=S(xj), and S(xi)≠S(xk), (3)
where S(xi) is the speaker attribute of xi. However, this criterion is not always valid. To obtain a more reliable cue in partitioning speech utterances, it is preferred to use a ranking mechanism as defined further below.
Let Li=[Li1 Li2 . . . LiN]T be an N-dimensional vector. It has been found that that Li and Lj are much more “similar” in some sense when xi and xj are of the same speaker and “dissimilar” otherwise. To illustrate this, a gray scale representation of the model likelihoods is depicted in
As shown in
L1 = [ L11 L12 L13 ]T = [ −1000
−1111
−3222]T
L2 = [ L21 L22 L23 ]T = [ −5111
−4000
−8222]T
L3 = [ L31 L32 L33 ]T = [ −900
−800
−300]T
Although L12>L13 and L21>L23, ∥L1−L2∥>∥L1−L3∥. The preferred approach to cluster speech utterances described in more detail below overcomes these problems.
The Utterance Clustering Procedure
First, for each utterance xi, its model likelihoods Lij, 1≦j≦N are ranked according to the rule of that a larger ranking value is assigned for a higher priority. The ranking of the likelihood Lij is relative to the likelihoods of the other elements of the likelihood vector Li. As such the likelihood vector Li for training utterance xi results in a corresponding ranking vector Fi. In a preferred embodiment, an intermediate ranking vector Ri is calculated, where the vector element values Rij are chosen from the integers 1 to N in dependence on the likelihood Lij relative to the likelihoods of the other elements of the likelihood vector Li. In the preferred embodiment, Rik=1, if k=arg maxj Lij, and Rik=N, if k=arg minj Lij. Each ranking value is normally only used once, and assigned from 1 to N. Based on this intermediate ranking vector, the actual ranking vector Fi=[Fi1, Fi2 . . . , FiN]T for each utterance xi, is defined as Fij=1/Rij.
A further improvement is achieved by increasing the discrimination:
where η is an integer that represents the expected number of utterances per cluster. Proceeding in this way, a general criterion for distinguishing from different speakers' utterances can be derived,
D(Fi, Fj)<D(Fi, Fk), if S(xi)=S(xj), and S(xi)≠S(xk) (5)
where D(Fi, Fj) is a suitable distance measure for Fi and Fj.
Referring to the example given above, the corresponding ranking vectors are:
F1 = [ 1
½
⅓]T
F2 = [ ½
1
⅓]T
F3 = [ ⅓
½
1]T
In this example, η=3. This gives ∥F1−F2∥=0.5, ∥F1−F3∥=0.89, and ∥F2−F3∥=0.72.
Obviously, y1 and y2 are the closest pair.
The use of thresholding illuminates the fact that only larger model likelihoods are useful to clarify the relation between one utterance and its companions with the same true speaker identities. To illustrate this, the example shown in
x1
1
4
2
9
6
8
7
3
5
x2
2
1
3
9
8
6
7
4
5
x3
2
4
1
9
7
8
6
3
5
x4
5
9
8
1
3
2
7
4
6
x5
5
9
6
4
1
2
8
3
7
x6
5
9
8
3
2
1
7
4
6
x7
4
8
5
9
6
7
1
3
2
x8
4
8
5
9
6
7
3
1
2
x9
4
8
5
9
6
7
2
3
1
Creating the ranking matrix Fij (η=3) gives
x1
1
0
½
0
0
0
0
⅓
0
x2
½
1
⅓
0
0
0
0
0
0
x3
½
0
1
0
0
0
0
⅓
0
x4
0
0
0
1
⅓
½
0
0
0
x5
0
0
0
0
1
½
0
⅓
0
x6
0
0
0
⅓
½
1
0
0
0
x7
0
0
0
0
0
0
1
⅓
½
x8
0
0
0
0
0
0
⅓
1
½
x9
0
0
0
0
0
0
½
⅓
1
Computing the pairwise distances ∥Fi−Fj∥ gives:
x1
x2
x3
x4
x5
x6
x7
x8
x9
x1
1.39
0.5
2.72
2.5
2.72
2.5
3.05
2.58
x2
1.56
2.72
2.61
2.72
2.72
2.72
2.72
x3
2.72
2.61
2.72
2.61
2.05
2.5
x4
1.56
0.72
2.72
2.72
2.72
x5
0.72
2.5
2.05
2.5
x6
2.72
2.72
2.72
x7
0.89
0.5
x8
0.72
x9
The property that ∥Fi−Fj∥<∥Fi−Fk∥, if Speaker(xi)=Speaker(xj), and Speaker(xi)≠Speaker(xk), is clearly demonstrated again. The actual value for η may be determined empirically, depending on the amount of data collected.
Based on the criterion of the distance between the ranking vectors, the blind clustering of utterances by speaker can be formulated as a problem of conventional vector clustering. The persons skilled in the art may use any suitable clustering algorithm. For example, the well-developed k-means clustering algorithm can be employed to solve it. However, to prevent the embarrassment of null partition that will probably happen in this application, it is preferred to use the k-means algorithm modified as follows:
Speech Database
The database used for testing the system according to the invention consisted of 5000 utterances produced by 100 speakers (50 males and 50 females). Each speaker gave 50 utterances, recorded in three sessions. These utterances range in duration from 2 to 5 seconds. The entire 100 speakers were served as clients, that is P=Q=100. The database was further divided into three subsets, respectively denoted as DB-1, DB-2, and DB-3. The first subset DB-1 consisted of 20 utterances per speaker (roughly corresponding to 80-second overall duration) and served as off-line collected data. The second subset DB-2 consisted of distinct 10 utterances that did not include the speech segments in DB-1. Each of the utterances in DB-2 was used as the enrollment data of clients. The third subset DB-3 consisted of remainder 20 utterances and served as test set for speaker-ID experiments. All of the utterances were recorded in a relatively quiet environment and sampled at 22.05 kHz with 16-bit precision. Speech features including 21 MFCCs (the zero-th coefficient is not used) were then extracted for every 20-ms Hamming-windowed frame with 10-ms frame shifts.
Cluster Evaluation
Because the effectiveness of the speaker identification (ID) system crucially depends on how well the off-line collected utterances are clustered, it is necessary to evaluate the efficiency of the utterance clustering method prior to performing speaker-ID experiments. The quality of the partitioning was measured by means of cluster purity. The purity is a quantity which describes the extent that all utterances in a cluster are from the same speaker. For cluster m, the purity is defined as
where nm is the number of utterances in the cluster m, and nmk is the number of utterances in the cluster m that were spoken by speaker Sk. Calculation of this measurement requires knowledge of the true attribute of each utterance. The overall efficiency of the clustering method is evaluated in terms of average purity
Computer simulations were conducted on DB-1 to examine the blind utterance clustering. The number of Gaussian mixtures per utterance varied from 2 to 8 were run, and the parameter η was set to (N/M) throughout the experiments.
Speaker-ID Experiments
First, a baseline system that operates in conventional supervised way was evaluated for performance comparisons. Two sets of experiments were conducted here to investigate the system performance with respect to different amount of training data. In the first set of experiments, models for specific speakers were trained using 20 utterances/speaker in DB-1 along with true speaker attributes. After that, 20 utterances/speaker in DB-3 were in turn used to test the system, and the speaker-ID accuracy was then computed as the percentage of correctly identified utterances over all test utterances. The speaker-ID accuracy was also measured with respect to different number of Gaussian mixture densities per speaker model varied from 2 to 32. In the second set of experiments, each speaker model is trained using one utterance chosen from DB-2.
This experimental setting can be considered as using sparse data in training speaker models. Additionally, to obtain statistically significant results, each distinct utterance from DB-2 was chosen once, and similar experiments were run for ten trials. The average speaker-ID accuracy was finally computed. The following table gives the speaker-ID accuracy using results for the two sets of experiments. It can be seen that the conventional speaker-ID system based on supervised training of GMMs performs very well when a large amount of enrollment data was used, while the performance drops drastically when only sparse enrollment data was used. Tabulate data also indicates an upper bound and lower bound performance of the speaker ID based on our proposed unsupervised learning.
Number of mixtures
Training data
2
4
8
16
32
20 utterances per speaker
94.1%
97.6%
99.4%
99.9%
99.8%
1 utterance per speaker
55.6%
57.1%
51.4%
43.3%
40.1%
Next, experiments were conducted to test the validity of the speaker-ID system according to the invention. Determining adequate number of clusters needed to represent different speakers is the first step in applying background learning to the speaker-ID problem. As mentioned previously, the higher number of clusters are used, the higher purity can be achieved. However, large amount of clusters will run the risk of using sparse data in training speaker models. For this reason, the following experiments were conducted to investigate the effect of speaker-ID performance with respect to the number of clusters and the number of mixtures per speaker model used. Additionally, to obtain statistically significant results, ten trials with distinct enrollment utterance per speaker chosen from DB2 were run, and the average speaker-ID accuracy was then computed.
The background learning method simplifies the use of speaker identification and as such opens the way to use speaker identification in more CE systems. Unlike the conventional speaker ID, the background learning method according to the invention does not rely on a user explicitly enrolling and training the system for constructing speaker-specific models, but instead attempts to learn speakers' voices via clustering and parametric modeling of off-line collected speech signal in an unsupervised manner. This eliminates the necessity of enrolling a large amount of speech data from users. As described above, to prepare a system for use, the following two steps are required:
The blind clustering for off-line speech utterances is performed according to the described algorithm
Speaker tagging is performed as described above for block 122 of
Apart from the conventional enrollment for speaker recognition, the system according to the invention enables two new ways of enrollment, depending on the amount of collected speaker data collected. The first one is an automatic enrollment procedure generated by system. It might be called “old-friend greeting enrollment”. The scenario is as follows:
While the system has been active for a period of time (for example, using speaker independent voice control or only collecting speaker data in the background), the system automatically has collected utterances of the user and has constructed speaker models using the described background learning method.
If at a certain moment one of speakers passes the confidence measure (i.e. the likelihood of an utterance (e.g. a voice command used to control the system) compared to one of the models has passed a predetermined threshold), the system provides an automatic enrollment. This may take the form of an old-friend greeting, where the system may say “Hello, my dear friend. I hear a familiar sound from you again, could you provide me your name?” using prerecorded messages or speech synthesis.
After the enrollment, the system can identify the speaker by his/her voice.
The system may store the personal information in any suitable form in association with the speech model identified for the speaker. For example, the speaker may have supplied personal information by speaking his/her name. The system may store this name in a form representing the speech. A next time, the same speaker speaks to the system, the system may regenerate the recorded speech, if desired by using speech synthesis techniques to let the recorded name sound in a way as is normal for the system. The system may also recognize the name using speech recognition techniques and store a recognized representation, such as a textual form. The system may also ask the user to type in the name and store this textual representation.
A second form of enrollment is performed if not enough training data is available at the moment speaker identification is required for the first time. The system will ask the user to speak more utterances. The number of input utterances required depends on the data that has already been collected. Once a sufficient level of confidence has been achieved, a speaker model adaptation is performed using any suitable model adaptation algorithm. This form of enrollment can be seen as “easy enrollment via adaptation”. The user needs only to speak a few adaptation data to construct a speaker model. Compared to conventional approaches, this form of enrollment takes less time.
Personalized and Interactive Voice-Controlled System
In traditional voice-controlled systems, personalized and interactive features are not well integrated with the voice control functionality. Normally, users can control the device via voice, while the person at the same time may be busy doing other things. For example, the television can be activated using a voice command “ON”. In conventional voice control systems there is no provision to automatically tune the TV set to a personal default program or other personal settings while turning on the device. For an effective personal user-interface it is desired that the speaker is automatically identified. The speaker identification technology according to the invention can effectively be used to this end and as such enables new features for voice-controlled systems. For example, when the father David turns on the TV, the channel is defaulted to “sport” which is the favorite channel according to his profile. When a 2-year old child Tom activates the TV via voice the Disney channel may be selected automatically. This feature makes the devices friendlier. Particularly for very young children it also makes it possible to control the device unassisted. Preferably, the parent is able to influence the profile of the child. Incorporating speaker identification technology, voice-controlled systems can response in different manners for different users. A block diagram of a combined speech/speaker recognition system is shown in
Speaker identification can also advantageously be used to verify whether a person is allowed to operate a device (e.g. use a mobile phone) or perform certain operation, like watching adult channels. In personalized and interactive voice-controlled system, personal profiles and content can be built automatically by analyzing the program records of voice-controlled devices. The profile represents the user's habit to the voice-controlled system. The system can use the profile to default user's programs/settings or provide kind suggestions like a friend knowing the user's habit.
The application of speaker identification as described above can be used in combination with the background training of the identification system according to the invention, making the system more user friendly. It will be understood that the same applications can also be used if the system is trained in a different way.
Chu, Ya-Cherng, Huang, Chao-Shih, Tsai, Wei-Ho, Cheng, Jyh-Min
Patent | Priority | Assignee | Title |
10043516, | Sep 23 2016 | Apple Inc | Intelligent automated assistant |
10049663, | Jun 08 2016 | Apple Inc | Intelligent automated assistant for media exploration |
10049668, | Dec 02 2015 | Apple Inc | Applying neural network language models to weighted finite state transducers for automatic speech recognition |
10049675, | Feb 25 2010 | Apple Inc. | User profiling for voice input processing |
10057736, | Jun 03 2011 | Apple Inc | Active transport based notifications |
10067938, | Jun 10 2016 | Apple Inc | Multilingual word prediction |
10074360, | Sep 30 2014 | Apple Inc. | Providing an indication of the suitability of speech recognition |
10078631, | May 30 2014 | Apple Inc. | Entropy-guided text prediction using combined word and character n-gram language models |
10079014, | Jun 08 2012 | Apple Inc. | Name recognition system |
10083688, | May 27 2015 | Apple Inc | Device voice control for selecting a displayed affordance |
10083690, | May 30 2014 | Apple Inc. | Better resolution when referencing to concepts |
10089072, | Jun 11 2016 | Apple Inc | Intelligent device arbitration and control |
10101822, | Jun 05 2015 | Apple Inc. | Language input correction |
10102359, | Mar 21 2011 | Apple Inc. | Device access using voice authentication |
10108612, | Jul 31 2008 | Apple Inc. | Mobile device having human language translation capability with positional feedback |
10127220, | Jun 04 2015 | Apple Inc | Language identification from short strings |
10127911, | Sep 30 2014 | Apple Inc. | Speaker identification and unsupervised speaker adaptation techniques |
10134385, | Mar 02 2012 | Apple Inc.; Apple Inc | Systems and methods for name pronunciation |
10169329, | May 30 2014 | Apple Inc. | Exemplar-based natural language processing |
10170123, | May 30 2014 | Apple Inc | Intelligent assistant for home automation |
10176167, | Jun 09 2013 | Apple Inc | System and method for inferring user intent from speech inputs |
10185542, | Jun 09 2013 | Apple Inc | Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant |
10186254, | Jun 07 2015 | Apple Inc | Context-based endpoint detection |
10192552, | Jun 10 2016 | Apple Inc | Digital assistant providing whispered speech |
10199051, | Feb 07 2013 | Apple Inc | Voice trigger for a digital assistant |
10223066, | Dec 23 2015 | Apple Inc | Proactive assistance based on dialog communication between devices |
10241644, | Jun 03 2011 | Apple Inc | Actionable reminder entries |
10241752, | Sep 30 2011 | Apple Inc | Interface for a virtual digital assistant |
10249300, | Jun 06 2016 | Apple Inc | Intelligent list reading |
10255907, | Jun 07 2015 | Apple Inc. | Automatic accent detection using acoustic models |
10269345, | Jun 11 2016 | Apple Inc | Intelligent task discovery |
10276170, | Jan 18 2010 | Apple Inc. | Intelligent automated assistant |
10283110, | Jul 02 2009 | Apple Inc. | Methods and apparatuses for automatic speech recognition |
10289433, | May 30 2014 | Apple Inc | Domain specific language for encoding assistant dialog |
10297253, | Jun 11 2016 | Apple Inc | Application integration with a digital assistant |
10304458, | Mar 06 2014 | Board of Trustees of the University of Alabama and the University of Alabama in Huntsville | Systems and methods for transcribing videos using speaker identification |
10311871, | Mar 08 2015 | Apple Inc. | Competing devices responding to voice triggers |
10318871, | Sep 08 2005 | Apple Inc. | Method and apparatus for building an intelligent automated assistant |
10332518, | May 09 2017 | Apple Inc | User interface for correcting recognition errors |
10354011, | Jun 09 2016 | Apple Inc | Intelligent automated assistant in a home environment |
10356243, | Jun 05 2015 | Apple Inc. | Virtual assistant aided communication with 3rd party service in a communication session |
10366158, | Sep 29 2015 | Apple Inc | Efficient word encoding for recurrent neural network language models |
10381016, | Jan 03 2008 | Apple Inc. | Methods and apparatus for altering audio output signals |
10410637, | May 12 2017 | Apple Inc | User-specific acoustic models |
10431204, | Sep 11 2014 | Apple Inc. | Method and apparatus for discovering trending terms in speech requests |
10446141, | Aug 28 2014 | Apple Inc. | Automatic speech recognition based on user feedback |
10446143, | Mar 14 2016 | Apple Inc | Identification of voice inputs providing credentials |
10475446, | Jun 05 2009 | Apple Inc. | Using context information to facilitate processing of commands in a virtual assistant |
10482874, | May 15 2017 | Apple Inc | Hierarchical belief states for digital assistants |
10490187, | Jun 10 2016 | Apple Inc | Digital assistant providing automated status report |
10496753, | Jan 18 2010 | Apple Inc.; Apple Inc | Automatically adapting user interfaces for hands-free interaction |
10497365, | May 30 2014 | Apple Inc. | Multi-command single utterance input method |
10509862, | Jun 10 2016 | Apple Inc | Dynamic phrase expansion of language input |
10521466, | Jun 11 2016 | Apple Inc | Data driven natural language event detection and classification |
10552013, | Dec 02 2014 | Apple Inc. | Data detection |
10553209, | Jan 18 2010 | Apple Inc. | Systems and methods for hands-free notification summaries |
10553215, | Sep 23 2016 | Apple Inc. | Intelligent automated assistant |
10567477, | Mar 08 2015 | Apple Inc | Virtual assistant continuity |
10568032, | Apr 03 2007 | Apple Inc. | Method and system for operating a multi-function portable electronic device using voice-activation |
10592095, | May 23 2014 | Apple Inc. | Instantaneous speaking of content on touch devices |
10593346, | Dec 22 2016 | Apple Inc | Rank-reduced token representation for automatic speech recognition |
10607140, | Jan 25 2010 | NEWVALUEXCHANGE LTD. | Apparatuses, methods and systems for a digital conversation management platform |
10607141, | Jan 25 2010 | NEWVALUEXCHANGE LTD. | Apparatuses, methods and systems for a digital conversation management platform |
10657961, | Jun 08 2013 | Apple Inc. | Interpreting and acting upon commands that involve sharing information with remote devices |
10659851, | Jun 30 2014 | Apple Inc. | Real-time digital assistant knowledge updates |
10671428, | Sep 08 2015 | Apple Inc | Distributed personal assistant |
10679605, | Jan 18 2010 | Apple Inc | Hands-free list-reading by intelligent automated assistant |
10691473, | Nov 06 2015 | Apple Inc | Intelligent automated assistant in a messaging environment |
10705794, | Jan 18 2010 | Apple Inc | Automatically adapting user interfaces for hands-free interaction |
10706373, | Jun 03 2011 | Apple Inc. | Performing actions associated with task items that represent tasks to perform |
10706841, | Jan 18 2010 | Apple Inc. | Task flow identification based on user intent |
10733993, | Jun 10 2016 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
10741185, | Jan 18 2010 | Apple Inc. | Intelligent automated assistant |
10747498, | Sep 08 2015 | Apple Inc | Zero latency digital assistant |
10755703, | May 11 2017 | Apple Inc | Offline personal assistant |
10762293, | Dec 22 2010 | Apple Inc.; Apple Inc | Using parts-of-speech tagging and named entity recognition for spelling correction |
10789041, | Sep 12 2014 | Apple Inc. | Dynamic thresholds for always listening speech trigger |
10789945, | May 12 2017 | Apple Inc | Low-latency intelligent automated assistant |
10791176, | May 12 2017 | Apple Inc | Synchronization and task delegation of a digital assistant |
10795541, | Jun 03 2011 | Apple Inc. | Intelligent organization of tasks items |
10810274, | May 15 2017 | Apple Inc | Optimizing dialogue policy decisions for digital assistants using implicit feedback |
10904611, | Jun 30 2014 | Apple Inc. | Intelligent automated assistant for TV user interactions |
10978090, | Feb 07 2013 | Apple Inc. | Voice trigger for a digital assistant |
10984326, | Jan 25 2010 | NEWVALUEXCHANGE LTD. | Apparatuses, methods and systems for a digital conversation management platform |
10984327, | Jan 25 2010 | NEW VALUEXCHANGE LTD. | Apparatuses, methods and systems for a digital conversation management platform |
11010550, | Sep 29 2015 | Apple Inc | Unified language modeling framework for word prediction, auto-completion and auto-correction |
11025565, | Jun 07 2015 | Apple Inc | Personalized prediction of responses for instant messaging |
11037565, | Jun 10 2016 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
11069347, | Jun 08 2016 | Apple Inc. | Intelligent automated assistant for media exploration |
11080012, | Jun 05 2009 | Apple Inc. | Interface for a virtual digital assistant |
11087759, | Mar 08 2015 | Apple Inc. | Virtual assistant activation |
11120372, | Jun 03 2011 | Apple Inc. | Performing actions associated with task items that represent tasks to perform |
11133008, | May 30 2014 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
11152002, | Jun 11 2016 | Apple Inc. | Application integration with a digital assistant |
11217255, | May 16 2017 | Apple Inc | Far-field extension for digital assistant services |
11257504, | May 30 2014 | Apple Inc. | Intelligent assistant for home automation |
11281993, | Dec 05 2016 | Apple Inc | Model and ensemble compression for metric learning |
11405466, | May 12 2017 | Apple Inc. | Synchronization and task delegation of a digital assistant |
11410053, | Jan 25 2010 | NEWVALUEXCHANGE LTD. | Apparatuses, methods and systems for a digital conversation management platform |
11423886, | Jan 18 2010 | Apple Inc. | Task flow identification based on user intent |
11430448, | Nov 22 2018 | Samsung Electronics Co., Ltd. | Apparatus for classifying speakers using a feature map and method for operating the same |
11500672, | Sep 08 2015 | Apple Inc. | Distributed personal assistant |
11526368, | Nov 06 2015 | Apple Inc. | Intelligent automated assistant in a messaging environment |
11556230, | Dec 02 2014 | Apple Inc. | Data detection |
11587559, | Sep 30 2015 | Apple Inc | Intelligent device identification |
11804228, | Sep 10 2018 | SAMSUNG ELECTRONICS CO , LTD | Phoneme-based speaker model adaptation method and device |
12087308, | Jan 18 2010 | Apple Inc. | Intelligent automated assistant |
7389229, | Oct 17 2002 | RAMP HOLDINGS, INC F K A EVERYZING, INC | Unified clustering tree |
7447633, | Nov 22 2004 | Microsoft Technology Licensing, LLC | Method and apparatus for training a text independent speaker recognition system using speech data with text labels |
7509257, | Dec 24 2002 | CAVIUM INTERNATIONAL; MARVELL ASIA PTE, LTD | Method and apparatus for adapting reference templates |
7590537, | Feb 18 2004 | Samsung Electronics Co., Ltd. | Speaker clustering and adaptation method based on the HMM model variation information and its apparatus for speech recognition |
7725318, | Jul 30 2004 | NICE SYSTEMS INC | System and method for improving the accuracy of audio searching |
7739110, | Jun 07 2006 | Industrial Technology Research Institute | Multimedia data management by speech recognizer annotation |
7801838, | Jul 03 2002 | RAMP HOLDINGS, INC F K A EVERYZING, INC | Multimedia recognition system comprising a plurality of indexers configured to receive and analyze multimedia data based on training data and user augmentation relating to one or more of a plurality of generated documents |
7813927, | Nov 22 2004 | Microsoft Technology Licensing, LLC | Method and apparatus for training a text independent speaker recognition system using speech data with text labels |
8209174, | Apr 17 2009 | Saudi Arabian Oil Company | Speaker verification system |
8340974, | Dec 30 2008 | Google Technology Holdings LLC | Device, system and method for providing targeted advertisements and content based on user speech data |
8429103, | Jun 22 2012 | GOOGLE LLC | Native machine learning service for user adaptation on a mobile platform |
8510238, | Jun 22 2012 | GOOGLE LLC | Method to predict session duration on mobile devices using native machine learning |
8886576, | Jun 22 2012 | GOOGLE LLC | Automatic label suggestions for albums based on machine learning |
9262612, | Mar 21 2011 | Apple Inc.; Apple Inc | Device access using voice authentication |
9300784, | Jun 13 2013 | Apple Inc | System and method for emergency calls initiated by voice command |
9305553, | Apr 28 2010 | RPX Corporation | Speech recognition accuracy improvement through speaker categories |
9318108, | Jan 18 2010 | Apple Inc.; Apple Inc | Intelligent automated assistant |
9330720, | Jan 03 2008 | Apple Inc. | Methods and apparatus for altering audio output signals |
9338493, | Jun 30 2014 | Apple Inc | Intelligent automated assistant for TV user interactions |
9368114, | Mar 14 2013 | Apple Inc. | Context-sensitive handling of interruptions |
9430463, | May 30 2014 | Apple Inc | Exemplar-based natural language processing |
9483461, | Mar 06 2012 | Apple Inc.; Apple Inc | Handling speech synthesis of content for multiple languages |
9495129, | Jun 29 2012 | Apple Inc. | Device, method, and user interface for voice-activated navigation and browsing of a document |
9502031, | May 27 2014 | Apple Inc.; Apple Inc | Method for supporting dynamic grammars in WFST-based ASR |
9535906, | Jul 31 2008 | Apple Inc. | Mobile device having human language translation capability with positional feedback |
9548050, | Jan 18 2010 | Apple Inc. | Intelligent automated assistant |
9576574, | Sep 10 2012 | Apple Inc. | Context-sensitive handling of interruptions by intelligent digital assistant |
9582608, | Jun 07 2013 | Apple Inc | Unified ranking with entropy-weighted information for phrase-based semantic auto-completion |
9620104, | Jun 07 2013 | Apple Inc | System and method for user-specified pronunciation of words for speech synthesis and recognition |
9620105, | May 15 2014 | Apple Inc. | Analyzing audio input for efficient speech and music recognition |
9626955, | Apr 05 2008 | Apple Inc. | Intelligent text-to-speech conversion |
9633004, | May 30 2014 | Apple Inc.; Apple Inc | Better resolution when referencing to concepts |
9633660, | Feb 25 2010 | Apple Inc. | User profiling for voice input processing |
9633674, | Jun 07 2013 | Apple Inc.; Apple Inc | System and method for detecting errors in interactions with a voice-based digital assistant |
9646609, | Sep 30 2014 | Apple Inc. | Caching apparatus for serving phonetic pronunciations |
9646614, | Mar 16 2000 | Apple Inc. | Fast, language-independent method for user authentication by voice |
9668024, | Jun 30 2014 | Apple Inc. | Intelligent automated assistant for TV user interactions |
9668121, | Sep 30 2014 | Apple Inc. | Social reminders |
9697820, | Sep 24 2015 | Apple Inc. | Unit-selection text-to-speech synthesis using concatenation-sensitive neural networks |
9697822, | Mar 15 2013 | Apple Inc. | System and method for updating an adaptive speech recognition model |
9711141, | Dec 09 2014 | Apple Inc. | Disambiguating heteronyms in speech synthesis |
9715875, | May 30 2014 | Apple Inc | Reducing the need for manual start/end-pointing and trigger phrases |
9721566, | Mar 08 2015 | Apple Inc | Competing devices responding to voice triggers |
9734193, | May 30 2014 | Apple Inc. | Determining domain salience ranking from ambiguous words in natural speech |
9760559, | May 30 2014 | Apple Inc | Predictive text input |
9785630, | May 30 2014 | Apple Inc. | Text prediction using combined word N-gram and unigram language models |
9798393, | Aug 29 2011 | Apple Inc. | Text correction processing |
9818400, | Sep 11 2014 | Apple Inc.; Apple Inc | Method and apparatus for discovering trending terms in speech requests |
9842101, | May 30 2014 | Apple Inc | Predictive conversion of language input |
9842105, | Apr 16 2015 | Apple Inc | Parsimonious continuous-space phrase representations for natural language processing |
9858925, | Jun 05 2009 | Apple Inc | Using context information to facilitate processing of commands in a virtual assistant |
9865248, | Apr 05 2008 | Apple Inc. | Intelligent text-to-speech conversion |
9865280, | Mar 06 2015 | Apple Inc | Structured dictation using intelligent automated assistants |
9886432, | Sep 30 2014 | Apple Inc. | Parsimonious handling of word inflection via categorical stem + suffix N-gram language models |
9886953, | Mar 08 2015 | Apple Inc | Virtual assistant activation |
9899019, | Mar 18 2015 | Apple Inc | Systems and methods for structured stem and suffix language models |
9922642, | Mar 15 2013 | Apple Inc. | Training an at least partial voice command system |
9934775, | May 26 2016 | Apple Inc | Unit-selection text-to-speech synthesis based on predicted concatenation parameters |
9953088, | May 14 2012 | Apple Inc. | Crowd sourcing information to fulfill user requests |
9959870, | Dec 11 2008 | Apple Inc | Speech recognition involving a mobile device |
9966060, | Jun 07 2013 | Apple Inc. | System and method for user-specified pronunciation of words for speech synthesis and recognition |
9966065, | May 30 2014 | Apple Inc. | Multi-command single utterance input method |
9966068, | Jun 08 2013 | Apple Inc | Interpreting and acting upon commands that involve sharing information with remote devices |
9971774, | Sep 19 2012 | Apple Inc. | Voice-based media searching |
9972304, | Jun 03 2016 | Apple Inc | Privacy preserving distributed evaluation framework for embedded personalized systems |
9986419, | Sep 30 2014 | Apple Inc. | Social reminders |
Patent | Priority | Assignee | Title |
5167004, | Feb 28 1991 | Texas Instruments Incorporated; TEXAS INSTRUMENTS INCORPORATED, A CORP OF DE | Temporal decorrelation method for robust speaker verification |
5522012, | Feb 28 1994 | BANK ONE COLORADO, NA, AS AGENT | Speaker identification and verification system |
5774859, | Jan 03 1995 | Cisco Technology, Inc | Information system having a speech interface |
5862519, | Apr 01 1997 | SPEECHWORKS INTERNATIONAL, INC | Blind clustering of data with application to speech processing systems |
5895447, | Feb 02 1996 | International Business Machines Corporation; IBM Corporation | Speech recognition using thresholded speaker class model selection or model adaptation |
5983178, | Dec 10 1997 | ATR Interpreting Telecommunications Research Laboratories | Speaker clustering apparatus based on feature quantities of vocal-tract configuration and speech recognition apparatus therewith |
6073096, | Feb 04 1998 | International Business Machines Corporation | Speaker adaptation system and method based on class-specific pre-clustering training speakers |
6233555, | Nov 25 1997 | Nuance Communications, Inc | Method and apparatus for speaker identification using mixture discriminant analysis to develop speaker models |
6324512, | Aug 26 1999 | Sovereign Peak Ventures, LLC | System and method for allowing family members to access TV contents and program media recorder over telephone or internet |
6389392, | Oct 15 1997 | British Telecommunications public limited company | Method and apparatus for speaker recognition via comparing an unknown input to reference data |
6415257, | Aug 26 1999 | Sovereign Peak Ventures, LLC | System for identifying and adapting a TV-user profile by means of speech technology |
6480825, | Jan 31 1997 | SPEECHWORKS INTERNATIONAL, INC | System and method for detecting a recorded voice |
6519561, | Nov 03 1997 | SPEECHWORKS INTERNATIONAL, INC | Model adaptation of neural tree networks and other fused models for speaker verification |
6539352, | Nov 22 1996 | T-NETIX, INC ; EVERCOM SYSTEMS, INC ; SECURUS TECHNOLOGIES, INC | Subword-based speaker verification with multiple-classifier score fusion weight and threshold adaptation |
6618702, | Jun 14 2002 | THE GOVERNMENT OF THE UNITED STATES, AS REPRESENTED BY THE DIRECTOR, NATIONAL SECURITY AGENCY | Method of and device for phone-based speaker recognition |
6760701, | Nov 22 1996 | T-NETIX, INC ; EVERCOM SYSTEMS, INC ; SECURUS TECHNOLOGIES, INC | Subword-based speaker verification using multiple-classifier fusion, with channel, fusion, model and threshold adaptation |
20030009333, | |||
20060074657, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
May 07 2002 | Koninklijke Philips Electronics N.V. | (assignment on the face of the patent) | / | |||
May 22 2002 | HUANG, CHAO-SHIH | Koninklijke Philips Electronics N V | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 013175 | /0039 | |
May 22 2002 | CHU, YA-CHERNG | Koninklijke Philips Electronics N V | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 013175 | /0039 | |
May 22 2002 | TSAI, WEI-HO | Koninklijke Philips Electronics N V | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 013175 | /0039 | |
May 22 2002 | CHENG, JYH-MIN | Koninklijke Philips Electronics N V | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 013175 | /0039 | |
Sep 20 2023 | Nuance Communications, Inc | Microsoft Technology Licensing, LLC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 065552 | /0934 |
Date | Maintenance Fee Events |
Jul 23 2010 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Jul 02 2014 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Jul 24 2018 | M1553: Payment of Maintenance Fee, 12th Year, Large Entity. |
Date | Maintenance Schedule |
Jan 30 2010 | 4 years fee payment window open |
Jul 30 2010 | 6 months grace period start (w surcharge) |
Jan 30 2011 | patent expiry (for year 4) |
Jan 30 2013 | 2 years to revive unintentionally abandoned end. (for year 4) |
Jan 30 2014 | 8 years fee payment window open |
Jul 30 2014 | 6 months grace period start (w surcharge) |
Jan 30 2015 | patent expiry (for year 8) |
Jan 30 2017 | 2 years to revive unintentionally abandoned end. (for year 8) |
Jan 30 2018 | 12 years fee payment window open |
Jul 30 2018 | 6 months grace period start (w surcharge) |
Jan 30 2019 | patent expiry (for year 12) |
Jan 30 2021 | 2 years to revive unintentionally abandoned end. (for year 12) |