The present invention relates to speech processing and, more particularly, to automatic verification of speakers.
The goal of a speaker verification system is to determine if a test utterance is spoken by a speaker having an unknown or alleged identity (i.e., determining whether an unknown voice is from a particular enrolled speaker). The problem is typically formalized by defining a 2-class Hypothesis test:
H0: tested speaker is the target speaker,
H1: tested speaker is not the target speaker. (1)
Let xenr denote the total feature space of the enrolled (enr) speaker (large number of D dimensional feature vectors) available for offline training. Then one approach is to represent H0 by a model denoted λenr that characterizes the hypothesized speaker (statistics of the feature space xenr). The alternative hypothesis, H1, is represented by the model λubm that captures the statistics of the space of imposter speakers.
Let x=[x1,x2, . . . ,xN] be a sequence of N, D dimensional feature vectors, extracted from the test utterance. To perform verification, H0 and H1 are tested with the feature sequence x, extracted from the test utterance (test data is matched with the model to calculate a verification score). This is done by calculating the log-likelihoods of x, given the models λ to construct
Λ(x)=log(p(x|λenr))−log(p(x|λubm)) (2)
where λenr is a model characterizing the hypothesized enrolled speaker and λubm is a Universal Background Model (UBM) characterizing all enrolled speakers. The log-likelihood distance Λ measures how much better the enrolled speaker model scores for the test utterance compared to the UBM. The Hypothesis test can be resolved based on the following relationship:
if Λ(x)>θ accept H0,
if Λ(x)≤θ accept H1 (3)
where θ is an offline optimized threshold level.
Gaussian mixture models (GMMs) are the dominant approach for modeling distributions of feature space in text-independent speaker verification applications. So that λ denotes weights, mean vector and covariance matrix parameters of the GMM with K components λ: {uk, μk, Σk}k=1K
In other words, probability distributions are modeled as superposition of K components (Gaussian densities) Φk, with weights uk, based on the following equation:
where summation over n accumulates contributions from individual features vectors xn in the test sequence s. The components Φk are determined by set of means μk and covariances Σk based on the following equation:
In a more general sense, the λenr GMMs for the enrolled speakers can be considered to model the underlying broad phonetic sounds that characterize a person's voice, while the much larger λubm GMM for the space of imposter speakers captures underlying sound classes in speech. Enrolled speakers λenr are simply trained on the available audio data for each particular speaker. The λubm is trained by pooling speech from a large number of enrolled speakers to build a single model, UBM, which results in one complex model for the imposter space. The λubm GMM can have a large number of components, typically K>1024, compared to about 64 components for the enrolled GMM.
One can distinguish two major classes of speaker verification systems: 1) text-dependent system which assumes that a person to be recognized is speaking a previously defined text string; and 2) text-independent speaker verification which does not know what text string is being spoken by a person to be recognized.
Text-dependent systems are more accurate, but their usage is typically limited to security applications because the speaker must vocalize one or more words or phrases from an allowed set. Text-independent speaker verification systems have been used in more types of applications, but are less accurate because they have to model speakers for a large variety of possible phonemes and contexts. This means that a context independent model can have a relatively high probability assigned to a feature subspace that is not present in the test utterance, which can offset the speaker verification of that particular utterance and result in incorrect verification. This problem becomes particularly pronounced in cases where the feature space of the current test utterance is modeled unequally well by the UBM and the speaker model.
Some embodiments of the present invention are directed to a method by a speaker verification computer system for verifying a speaker, which is performed by at least one processor of the speaker verification computer system. The method includes obtaining a sequence of sampled speech data containing a sequence of words spoken by the speaker. A sequence of feature vectors is generated that characterizes spectral distribution of the sequence of sampled speech data. A textual transcript of the sequence of words spoken by the speaker is obtained. Data structures of a universal background model of a Gaussian mixture model (UBM-GMM) and of an Enrolled speaker Gaussian mixture model (ENR-GMM) are adapted responsive to the textual transcript, to generate an adapted UBM-GMM and an adapted ENR-GMM, respectively. An enrolled speaker probability is generated based on a combination of the sequence of feature vectors and the adapted ENR-GMM, and a universal speaker probability is generated based on a combination of the sequence of feature vectors and the adapted UBM-GMM. A speaker verification indication of whether the speaker is an enrolled speaker is generated based on a comparison of the enrolled speaker probability to the universal speaker probability. The method then selectively communicates an indication of the enrolled speaker based on whether the speaker verification indication satisfies a defined rule.
A potential advantage of this approach is that the speaker verification computer system operates as a text-independent system because the speaker is not restricted to speaking words in a defined library which are acceptable for verification purposes. Adapting the data structures of a UBM-GMM and of the ENR-GMM responsive to the textual transcript, to generate an adapted UBM-GMM and an adapted ENR-GMM, respectively, can achieve improved verification accuracy that approaches that of a text-dependent speaker verification computer system. Improved speaker verification accuracy can thereby be provided without restricting the particular words that can be spoken by the speaker during the verification operations.
Some other embodiments of the present invention are directed to a speaker verification computer system for verifying a speaker. The system includes at least one processor and at least one memory coupled to the at least one processor. The at least one memory embodies computer readable program code that when executed by the at least one processor causes the at least one processor to perform operations. The operations include obtaining a sequence of sampled speech data containing a sequence of words spoken by the speaker. A sequence of feature vectors is generated that characterizes spectral distribution of the sequence of sampled speech data. A textual transcript of the sequence of words spoken by the speaker is obtained. Data structures of a universal background model of a Gaussian mixture model (UBM-GMM) and of an Enrolled speaker Gaussian mixture model (ENR-GMM) are adapted responsive to the textual transcript, to generate an adapted UBM-GMM and an adapted ENR-GMM, respectively. An enrolled speaker probability is generated based on a combination of the sequence of feature vectors and the adapted ENR-GMM, and a universal speaker probability is generated based on a combination of the sequence of feature vectors and the adapted UBM-GMM. A speaker verification indication of whether the speaker is an enrolled speaker is generated based on a comparison of the enrolled speaker probability to the universal speaker probability. The operations then selectively communicate an indication of the enrolled speaker based on whether the speaker verification indication satisfies a defined rule.
Other methods and systems according to embodiments of the invention will be or become apparent to one with skill in the art upon review of the following drawings and detailed description. It is intended that all such additional methods and systems be included within this description, be within the scope of the present invention, and be protected by the accompanying claims. Moreover, it is intended that all embodiments disclosed herein can be implemented separately or combined in any way and/or combination.
The accompanying drawings, which are included to provide a further understanding of the disclosure and are incorporated in and constitute a part of this application, illustrate certain non-limiting embodiment(s) of the invention. In the drawings:
In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the invention. However, it will be understood by those skilled in the art that the present invention may be practiced without these specific details. In other instances, well-known methods, procedures, components and circuits have not been described in detail so as not to obscure the present invention.
Referring to the block diagram of
The speaker verification computer system 102 contains a speaker verification module 130 that is configured to verify if one or more speakers of the audio content is an enrolled speaker using the closed-captioned text strings to improve speaker verification accuracy. The speaker verification computer system 102 can also include a module 132 that adds identifier(s) for the one or more speakers to speaker identification metadata that has logical associations to defined locations in the closed-caption text string corresponding to where the identified speaker is speaking and/or adds identifier(s) for the one or more speakers to speaker identification metadata that has logical associations to defined locations in the audio content corresponding to where the identified speaker is speaking. The audio and video content 160, including the speaker identification metadata and possibly further including the closed-caption text strings, can be broadcast, streamed, and/or otherwise provided to client computer devices 150a, 150b, etc. through a data network 170 such as a public wide area network, e.g., Internet, and/or a private wide area network. The client computers 150a, 150b, etc. may display the identifiers of the recognized speakers as subtitles during playing of the video content through a corresponding display screen of the client computers 150a, 150b, etc. The speaker identifier may be displayed on the display screen synchronized in time with when the speaker's voice is present in the audio content being played through a speaker of the client computers 150a, 150b, etc.
The speaker verification computer system 102 may additionally or alternatively allow client computers to search the speaker identification metadata added to the audio-video repository 110 to identify one or more speakers. In the example of
Embodiments of the present disclosure can provide accuracy improvements in speaker verification by using a textual transcription of what was spoken. Text metadata contains at least a portion of the textual transcription that has been defined, e.g., typed by a human listener, or determined from computer processing of the speech, e.g., by speech-to-text recognition operations. Some embodiments are explained herein in the context of performing speaker verification using closed-caption text strings or other textual transcript that has been defined for audio and video content provided by a broadcast and/or streaming content server.
Various operations and methods that can be performed to recognize a speaker are now explained in the context of
The speaker verification computer system 102 contains a repository 120 of data structures of the UBM-GMM and of the ENR-GMM, a repository 122 of phonemes, and a repository 124 containing information that maps phonemes to Gaussian components in the UBM-GMM and the ENR-GMM. The data structures of the UBM-GMM and of the ENR-GMM in the repository 120 are adapted based on the textual transcript of the tested speech. Adapting the data structures of the UBM-GMM and of the ENR-GMM responsive to the textual transcript, to generate an adapted UBM-GMM and an adapted ENR-GMM, respectively, can achieve improved verification accuracy that approaches that of a text-dependent speaker verification computer system. Improved speaker verification accuracy can thereby be provided without restricting the particular words that can be spoken by the speaker during the verification operations.
Referring to
The speaker verification module 130 uses an audio transcript corresponding to the speech segment data to improve accuracy of the speaker verification. The speaker verification module 130 obtains (block 404) a textual transcript (T) of a sequence of words (W1 . . . WNW) spoken by the speaker. The textual transcript may be obtained by parsing closed-caption text strings, contained in the audio-video repository 110, that are time aligned with timing indicators spaced apart along the digital audio recording to generate audio transcript segments.
The speaker verification module 130 adapts (block 210 of
The speaker verification module 130 generates (block 220 of
The enrolled speaker probability P(X|λenr) may be generated as log (p(x|λ*enr)), which may be generated based on modeling superposition of K Gaussian densities components Φk1 with weights u*k1 trained based on feature vectors characterizing spectral distribution of voice of the candidate speaker speaking during a training, e.g., enrollment, phase. The enrolled speaker probability may be generated based on the following equation:
log(p(x|λ*enr))=Σn=1Nlog(Σk1=1Ku*k1Φk1(xn)) (6)
where summation over n accumulates contributions from individual features vectors xn in the sequence x. The components Φk are determined by set of means μk1 and covariances Σk1 based on the following equation:
The universal speaker probability P(X|λ*ubm) may be generated as log(p(x|λ*u ubm), which may be generated based on modeling superposition of K Gaussian densities components Φk2 with weights u*k2 trained based a combination of feature vectors characterizing spectral distributions of voices of a plurality, or all, of the candidate speakers of a set speaking during a training, e.g., enrollment, phase. The universal speaker probability may be generated based on the following equation:
where summation over n accumulates contributions from individual features vectors xn in the sequence x. The components Φk2 are determined by set of means μk2 and covariances Σk2
The speaker verification module 130 generates (block 230 of
Λ(x)=log (p(x|λ*enr))−log (p(x|λ*ubm)) (10)
The log-likelihood distance Λ measures how much better the transcript adapted enrolled speaker model (λ*enr) scores for the sampled speech compared to the transcript adapted universal background model (λ*ubm). Then the hypothesis test can be resolved as:
if Λ(x)>θ accept H0,
if Λ(x)≤θ accept H1 (11)
where H0 refers to the speaker being determined to be the enrolled speaker, and H1 refers to the speaker not being determined to be the enrolled speaker.
An indication of the enrolled speaker is selectively communicated (block 412 of
Referring to
Although
Referring again to
With continuing reference to
With continuing reference to
For each enrolled speaker in a set of enrolled speakers, the speaker verification module 130 can repeat (block 804) the adapting (block 210 of
Various embodiments of the present disclosure can therefore be performed by adaptation of equations (1)-(5) explained above. These embodiments can be based on steps that include:
For step 3), the GMM and UBM models can be pre-stored look-up tables that link each phoneme from a pronunciation dictionary to one or several data structures in the GMM and UBM models. Such look-up tables are calculated offline by clustering parametric representation of each phoneme into the UBM space and similar for the GMM speaker model. When verification scores are calculated in previous equation (2) the new speaker and UBM models λ*enr and λ*ubm are adapted to the content in the obtained speech segment, which makes the score influenced mainly by differences in the voice characteristics, thus improving the performance of the system. In practice the log-likelihood calculation, defined in equation (4), is modified from log(p(x|λ)) to log(p(x|λ*)), i.e., the GMM λ: {uk, μk, Σk}k∈π is replaced by λ*: {u*k, μk, Σk}k∈π*, where π* is the subset of GMM components in π={1, 2, . . . , K} as selected by the phone sequence in the currently obtained speech segment by means of the lookup tables.
Thus, the selected H* components are related to the content of the speech segments, which influences the feature sequence x. The weights u*k are a re-normalized version of uk that sum to one in the limited component set.
In situations where an audio transcript is not available, a textual transcript, from which text metadata can be parsed, can be generated using computer speech recognition operations. In one embodiment, the speaker verification module 130 uses a phoneme recognition algorithm to directly find the space of likely phonemes from step 2) of the above operations. Thus, in one embodiment, at least one processor of the speaker verification module 130 performs a voice recognition algorithm on a time interval of speech data that includes the speech segment data, to output a recognized word. The recognized word is parsed into a set of spoken phonemes.
The network interface 920 is configured to communicate with the audio-video repository 110 and client computers 150a, 150b, etc. The processor circuit 900 may include one or more data processing circuits, such as a general purpose and/or special purpose processor, e.g., microprocessor and/or digital signal processor. The processor circuit 900 is configured to execute the computer readable program code 912 in the memory circuit 910 to perform at least some of the operations described herein as being performed by a speaker verification computer system. The system 102 may include a microphone 940 that senses a speaker's voice and provides an analog or digital microphone signal to a component that provides the sampled speech data sequence (S) to the module 200 in
In the above-description of various embodiments of the present invention, it is to be understood that the terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. It will be further understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of this specification and the relevant art and will not be interpreted in an idealized or overly formal sense expressly so defined herein.
When a node is referred to as being “connected”, “coupled”, “responsive”, or variants thereof to another node, it can be directly connected, coupled, or responsive to the other node or intervening nodes may be present. In contrast, when an node is referred to as being “directly connected”, “directly coupled”, “directly responsive”, or variants thereof to another node, there are no intervening nodes present. Like numbers refer to like nodes throughout. Furthermore, “coupled”, “connected”, “responsive”, or variants thereof as used herein may include wirelessly coupled, connected, or responsive. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. Well-known functions or constructions may not be described in detail for brevity and/or clarity. The term “and/or” includes any and all combinations of one or more of the associated listed items.
As used herein, the terms “comprise”, “comprising”, “comprises”, “include”, “including”, “includes”, “have”, “has”, “having”, or variants thereof are open-ended, and include one or more stated features, integers, nodes, steps, components or functions but does not preclude the presence or addition of one or more other features, integers, nodes, steps, components, functions or groups thereof. Furthermore, as used herein, the common abbreviation “e.g.”, which derives from the Latin phrase “exempli gratia,” may be used to introduce or specify a general example or examples of a previously mentioned item, and is not intended to be limiting of such item. The common abbreviation “i.e.”, which derives from the Latin phrase “id est,” may be used to specify a particular item from a more general recitation.
Example embodiments are described herein with reference to block diagrams and/or flowchart illustrations of computer-implemented methods, apparatus (systems and/or devices) and/or computer program products. It is understood that a block of the block diagrams and/or flowchart illustrations, and combinations of blocks in the block diagrams and/or flowchart illustrations, can be implemented by computer program instructions that are performed by one or more computer circuits. These computer program instructions may be provided to a processor circuit of a general purpose computer circuit, special purpose computer circuit, and/or other programmable data processing circuit to produce a machine, such that the instructions, which execute via the processor of the computer and/or other programmable data processing apparatus, transform and control transistors, values stored in memory locations, and other hardware components within such circuitry to implement the functions/acts specified in the block diagrams and/or flowchart block or blocks, and thereby create means (functionality) and/or structure for implementing the functions/acts specified in the block diagrams and/or flowchart block(s).
These computer program instructions may also be stored in a tangible computer-readable medium that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable medium produce an article of manufacture including instructions which implement the functions/acts specified in the block diagrams and/or flowchart block or blocks.
A tangible, non-transitory computer-readable medium may include an electronic, magnetic, optical, electromagnetic, or semiconductor data storage system, apparatus, or device. More specific examples of the computer-readable medium would include the following: a portable computer diskette, a random access memory (RAM) circuit, a read-only memory (ROM) circuit, an erasable programmable read-only memory (EPROM or Flash memory) circuit, a portable compact disc read-only memory (CD-ROM), and a portable digital video disc read-only memory (DVD/BlueRay).
The computer program instructions may also be loaded onto a computer and/or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer and/or other programmable apparatus to produce a computer-implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions/acts specified in the block diagrams and/or flowchart block or blocks. Accordingly, embodiments of the present invention may be embodied in hardware and/or in software (including firmware, resident software, micro-code, etc.) that runs on a processor such as a digital signal processor, which may collectively be referred to as “circuitry,” “a module” or variants thereof.
It should also be noted that in some alternate implementations, the functions/acts noted in the blocks may occur out of the order noted in the flowcharts. For example, two blocks shown in succession may in fact be executed substantially concurrently or the blocks may sometimes be executed in the reverse order, depending upon the functionality/acts involved. Moreover, the functionality of a given block of the flowcharts and/or block diagrams may be separated into multiple blocks and/or the functionality of two or more blocks of the flowcharts and/or block diagrams may be at least partially integrated. Finally, other blocks may be added/inserted between the blocks that are illustrated. Moreover, although some of the diagrams include arrows on communication paths to show a primary direction of communication, it is to be understood that communication may occur in the opposite direction to the depicted arrows.
Many different embodiments have been disclosed herein, in connection with the above description and the drawings. It will be understood that it would be unduly repetitious and obfuscating to literally describe and illustrate every combination and subcombination of these embodiments. Accordingly, the present specification, including the drawings, shall be construed to constitute a complete written description of various example combinations and subcombinations of embodiments and of the manner and process of making and using them, and shall support claims to any such combination or subcombination.
Many variations and modifications can be made to the embodiments without substantially departing from the principles of the present invention. All such variations and modifications are intended to be included herein within the scope of the present invention.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/EP2016/056373 | 3/23/2016 | WO | 00 |