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.

Patent
   7171360
Priority
May 10 2001
Filed
May 07 2002
Issued
Jan 30 2007
Expiry
Sep 07 2024
Extension
854 days
Assg.orig
Entity
Large
173
18
all paid
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 claim 1, wherein the step of blind clustering of the training utterances xi, i<N based on the predetermined criterion includes:
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 claim 2, wherein the ranking is such that η lowest likelihood values of the elements Lij of the likelihood vector Li are represented by distinct values of the corresponding elements Fij of the ranking vector Fi, and that the remaining N-η elements Lij of the likelihood vector Li are represented by a same predetermined ranking value of the corresponding elements Fij of the ranking vector Fi, where η represents an expected number of training utterances per cluster, and the predetermined ranking value being lower than any of the η distinct ranking values.
4. A method as claimed in claim 1, wherein the method includes:
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 claim 4, wherein the method includes:
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 claim 1, wherein the steps of recording training utterances, blind clustering the utterances and training the speaker models is performed iteratively until a predetermined level of confidence has been achieved.
7. A method as claimed in claim 6, wherein in response to achieving the predetermined confidence level the speaker is automatically requested to provide information identifying the speaker, followed by receiving the identifying information and storing the identifying information in association with the most likely speaker model.
8. A method as claimed in claim 1, wherein the method includes, in response to having identified the speaker, automatically retrieving a personal profile for interacting with a CE (consumer electronics) device.
9. A method as claimed in claim 1, wherein the method includes recognizing the test utterance used for identifying the speaker as a voice command; and executing the recognized voice command in a speaker-dependent way.
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 claim 1.
13. A method as claimed in claim 12, wherein said blind clustering comprises:
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 claim 12, wherein said blind clustering comprises clustering the training utterances according to distance between ones of ranking vectors which respectively indicate likelihood of a particular one of said training utterances based on a plurality of said models.
15. The method of claim 14, wherein said clustering of training utterances is based on a criterion that a minimum in a distance measure between pairs of ranking vectors indicates that a respective pair of said training utterances originate from a same speaker.
16. The method of claim 14, wherein at least some of said ranking vectors utilized in said clustering the training utterances relate to utterances of a same speaker.
17. The method of claim 16, wherein said ranking vectors which respectively indicate likelihood are divided into groups, each group relating to utterances of a single speaker particular to that group.
18. A method as claimed in claim 12, wherein the method includes, in response to having identified the speaker, automatically retrieving a personal profile for interacting with a CE (consumer electronics) device.
19. A method as claimed in claim 12, wherein the method includes recognizing the test utterance used for identifying the speaker as a voice command; and executing the recognized voice command in a speaker-dependent way.
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 claim 12.

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.

FIG. 1 shows a block diagram of the speaker identification system according to the invention;

FIG. 2 illustrates the discriminative powers of the likelihood vectors;

FIG. 3 shows a block diagram of the blind clustering;

FIG. 4 illustrates the utterance clustering efficiency;

FIG. 5 shows the speaker identification performance of the system; and

FIG. 6 shows the use of speaker identification in a voice control system.

FIG. 1 shows a block diagram of the speaker identification system according to the invention. The system includes three major blocks operated sequentially in time: background learning 110, speaker registration 120, and speaker identification 130. The background learning includes speech data collection 112, followed by blind clustering 114 of speech utterances based on speaker characteristics. The blind utterance clustering aims at grouping unknown utterances when no prior information is available regarding the speaker identities or even the speaker population size. Detail of this component will be described below. Once the clusters are generated, speaker modeling 116 ensures that utterances in each of these clusters are used to train a respective model pertained to a possible speaker. Preferably, the models are trained using the traditional Gaussian mixture modeling (GMM) technique, in which a set of M clusters is represented by GMM's {λ1c2c, . . . ,λMc}. Persons skilled in the art will appreciate that also other models generally known in the field of speech processing may be used. No details of specific models are given since such models are generally known. In itself the hardware used to perform the invention is conventional, for instance a micro-processor or DSP loaded with suitable software and, optionally, an A/D converter and microphone for receiving the speech may be used. The software may be embedded, e.g. stored in ROM, or loaded from a background storage, such as a hard disk or CD-ROM, or via a network, such as the Internet.

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

λ i S = arg max 1 j M p ( y λ j C ) . ( 1 )

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

S ^ = arg max 1 k Q p ( z λ k S ) , ( 2 )
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 {λ1U2U, . . . ,λ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(xijU), 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 FIG. 2, in which nine utterances from three speakers (three utterances per speaker) were analyzed. The nine utterances are shown vertically and the nine models horizontally. The black region represents a higher likelihood and the white region a smaller one. Relative gray scale magnitudes in the representation are evident from comparing entries in the intermediate ranking matrix for FIG. 2 provided further below. It can be seen that the utterances from the same speaker have a more similar “likelihood pattern” than those of the utterances from different speakers. As such a measure of ‘dissimilarity’ between the likelihood vectors can be used as the criterion during clustering. Ideally, if the stochastic model λ can capture the most important characteristic features of speaker voices, the value of Lij is large when xi and λj are associated with the same speaker and is small otherwise. However, practically, it is difficult to guarantee that Lij>Lik for all Speaker(xi) =Speaker(xj) and Speaker(xi)≠Speaker(xk). As an example shown in FIG. 2, x1 and x2 are produced by the same speaker while x8 is originated from another speaker; unfortunately, L18>L12 in this case. Therefore, it is unreliable to determine if two utterances are of the same speaker simply based on a single model likelihood. To alleviate this problem, the similarity between two utterances is measured by taking out-of-pair utterances into account instead of single model likelihood. The basic principle is built upon visual inspection from the likelihood pattern.

As shown in FIG. 2, a general trait is that two vectors Li and Lj are much more “similar” in a sense when utterance xi and xj are of the same spoken language and are “dissimilar” otherwise. However, the question is how to characterize such visual trait. Due to the fact that the dynamic range of likelihood is quite large, it is inappropriate to measure the utterance-pair distance directly by using the Euclidean distance taken from two L-vectors. For example, assume that utterance y1 and y2 are produced by the same speaker and y3 another speaker. The resulting L-vectors are probably like this (using a log likelihood):

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:

F ij = { 1 / R ij , if R ij < η 0 , otherwise , ( 4 )
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 FIG. 2 is used. The intermediate ranking matrix Rij for this example is

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:

FIG. 3 shows a block diagram of the blind utterance clustering according to the invention. In the blocks 310, 312, . . . , 318 for each of the utterances xi a corresponding model λiU is created. In block 320, for each of the utterances xi the likelihoods of the utterances for each of the models is calculated. This gives for each of the utterances a likelihood vector Li=[Li1 Li2 . . . LiN]T. In the block 332, to 338 for each of the utterances xi,, a respective ranking vector Fi=[Fi1, Fi2 . . . , FiN]T is calculated based on the relative likelihood of the elements of its likelihood vector Li. In block 340 the utterances xi,are clustered based on a distance criterion between the ranking vectors of the utterances.

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

p m = 1 n m 2 k = 1 n m n mk 2 , ( 6 )
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

p _ = 1 N m = 1 P p m n m . ( 7 )
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. FIG. 4 shows the average purity versus the number of clusters used. When the number of clusters is equal to the speaker population size (M=P=100), an average purity of 0.86 is obtained. As the number of cluster increases, the purity increases. The utterances from different speakers could be perfectly separated when 700 clusters were used. The results also show that the clustering were insensitive to the number of mixtures per utterance used. In the sequel, the clustering results obtained by 4 mixtures/utterance were used to perform speaker-ID 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. FIG. 5 summarizes the speaker-ID results. The best speaker-ID accuracy of 95.6% was achieved by using 150 clusters along with 4 mixtures per speaker model. When the number of clusters increases, the speaker-ID accuracy decreases gradually. The results suggest that the adequate number of clusters can be chosen to be slightly larger than the speaker population size (if it is known in advance). It is preferred that utterances from the same speaker occupy more than one cluster rather than utterances from different speakers are grouped into the same clusters. Compared with the results in the table above, it is clear that the performance of speaker-ID using sparse enrollment data can be improved greatly through the background learning of speaker's voices. The results also demonstrate that the proposed unsupervised learning scheme can compete with the conventional supervised one for speaker ID.

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 FIG. 1. In the examples given below, a personal approach is used towards the user. As such, personal information of the user is required, like the name of the user. For certain applications it may be sufficient to distinguish between different users, making it not necessary to add personal information.

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 FIG. 6. The speech input 610 is sent to a speech recognizer 620, that may be optimized for recognizing voice commands, and to a speaker recognizer 630. The recognizers preferably operate in parallel, but a sequential operation may also be acceptable. The recognizers generate as output 640 the recognized content (e.g. a voice command) and the identity of the speaker. According to the invention, a same utterance is used for recognizing a voice command and identifying the speaker. The recognized command is then executed in a speaker-dependent way.

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 onAssignorAssigneeConveyanceFrameReelDoc
May 07 2002Koninklijke Philips Electronics N.V.(assignment on the face of the patent)
May 22 2002HUANG, CHAO-SHIHKoninklijke Philips Electronics N VASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0131750039 pdf
May 22 2002CHU, YA-CHERNGKoninklijke Philips Electronics N VASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0131750039 pdf
May 22 2002TSAI, WEI-HOKoninklijke Philips Electronics N VASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0131750039 pdf
May 22 2002CHENG, JYH-MINKoninklijke Philips Electronics N VASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0131750039 pdf
Sep 20 2023Nuance Communications, IncMicrosoft Technology Licensing, LLCASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0655520934 pdf
Date Maintenance Fee Events
Jul 23 2010M1551: Payment of Maintenance Fee, 4th Year, Large Entity.
Jul 02 2014M1552: Payment of Maintenance Fee, 8th Year, Large Entity.
Jul 24 2018M1553: Payment of Maintenance Fee, 12th Year, Large Entity.


Date Maintenance Schedule
Jan 30 20104 years fee payment window open
Jul 30 20106 months grace period start (w surcharge)
Jan 30 2011patent expiry (for year 4)
Jan 30 20132 years to revive unintentionally abandoned end. (for year 4)
Jan 30 20148 years fee payment window open
Jul 30 20146 months grace period start (w surcharge)
Jan 30 2015patent expiry (for year 8)
Jan 30 20172 years to revive unintentionally abandoned end. (for year 8)
Jan 30 201812 years fee payment window open
Jul 30 20186 months grace period start (w surcharge)
Jan 30 2019patent expiry (for year 12)
Jan 30 20212 years to revive unintentionally abandoned end. (for year 12)