The present disclosure relates to transformation of scalars or vectors, for example, using a Gaussian Mixture Model (GMM) based technique for the generation of a voice conversion function. Voice conversion is the adaptation of characteristics of a source speaker's voice, (e.g., pitch, pronunciation) to those of a target speaker. In recent years, interest in voice conversion systems and applications for the efficient generation of other related conversion models has risen significantly. One application for such systems relates to the user of voice conversion in individualized text-to-speech (TTS) systems. Without voice conversion technology and efficient transformations of speech vectors from different speakers, new voices could only be created with time-consuming and expensive processes, such as extensive recordings and manual annotations.
Well-known GMM based vector transformation can be used in voice conversion and other transformation applications, by generating joint feature vectors based on the feature vectors of source and target speakers, then by using the joint vectors to train GMM parameters and ultimately create a conversion function between the source and target voices. Typical voice conversion systems include three major steps: feature extraction, alignment between the extracted feature vectors of source and target speakers, and GMM training on the aligned source and target vectors. In typical systems, the vector alignment between the source vector sequence and target vector sequence must be performed before training the GMM parameters or creating the conversion function. For example, if a set of equivalent utterances from two different speakers are recorded, the corresponding utterances must be identified in both recordings before attempting to build a conversion function. This concept is known as alignment of the source and target vectors.
Conventional techniques for vector alignment are typically either performed manually, for example, by human experts, or automatically by a dynamic time warping (DTW) process. However, both manual alignment and DTW have significant drawbacks that can negatively impact the overall quality and efficiency of the vector transformation. For example, both schemes rely on the notion of “hard alignment.” That is, each source vector is determined to be completely aligned with exactly one target vector, or is determined not to be aligned at all, and vice versa for each target vector.
Referring to
As an example of alignment error magnification resulting from a hard alignment scheme,
Accordingly, there remains a need for methods and systems of aligning data sequences for vector transformations, such as GMM based transformations for voice conversion.
In light of the foregoing background, the following presents a simplified summary of the present disclosure in order to provide a basic understanding of some aspects of the invention. This summary is not an extensive overview of the invention. It is not intended to identify key or critical elements of the invention or to delineate the scope of the invention. The following summary merely presents some concepts of the invention in a simplified form as a prelude to the more detailed description provided below.
According to one aspect of the present disclosure, alignment between source and target vectors may be performed during a transformation process, for example, a Gaussian Mixture Model (GMM) based transformation of speech vectors between a source speaker and a target speaker. Source and target vectors are aligned, prior to the generation of transformation models and conversion functions, using a soft alignment scheme such that each source-target vector pair need not be one-to-one completely aligned. Instead, multiple vector pairs including a single source or target vector may be identified, along with an alignment probability for each pairing. A sequence of joint feature vectors may be generated based on the vector pairs and associated probabilities.
According to another aspect of the present disclosure, a transformation model, such as a GMM model and vector conversion function may be computed based on the source and target vectors, and the estimated alignment probabilities. Transformation model parameters may be determined by estimation algorithms, for example, an Expectation-maximization algorithm. From these parameters, model training and conversion features may be generated, as well as a conversion function for transforming subsequent source and target vectors.
Thus, according to some aspects of the present disclosure, automatic vector alignment may be improved by using soft alignment, for example, in GMM based transformations used in voice conversion. Disclosed soft alignment techniques may reduce alignment errors and allow for increased efficiency and quality when performing vector transformations.
Having thus described the invention in general terms, reference will now be made to the accompanying drawings, which are not necessarily drawn to scale, and wherein:
In the following description of the various embodiments, reference is made to the accompanying drawings, which form a part hereof, and in which is shown by way of illustration various embodiments in which the invention may be practiced. It is to be understood that other embodiments may be utilized and structural and functional modifications may be made without departing from the scope and spirit of the present invention.
I/O 309 may include a microphone, keypad, touchscreen, and/or stylus through which a user of device 301 may provide input, and may also include one or more of a speaker for providing audio output and a video display device for providing textual, audiovisual and/or graphical output.
Memory 315 may store software used by device 301, such as an operating system 317, application programs 319, and associated data 321. For example, one application program 321 used by device 301 according to an illustrative embodiment of the invention may include computer executable instructions for performing vector alignment schemes and voice conversion algorithms as described herein.
Referring to
In step 401, source and target feature vectors are received. In this example, the feature vectors may correspond to equivalent utterances made by a source speaker and a target speaker, and recorded and segmented into digitally represented data vectors. More specifically, the source and target vectors may each be based on a certain characteristic of a speaker's voice, such as pitch or line spectral frequency (LSF). In this example, the feature vectors associated with the source speaker may be represented by the variable x=[x1, x2, x3 . . . xt . . . xm], while the feature vectors associated with the target speaker may be represented by the variable y=[y1, y2, y3 . . . yt . . . yn], where xt and yt are the speech vectors at the time t.
In step 402, alignment probabilities are estimated, for example, by computing device 301, for different source-target vector pairs. In this example, the alignment probabilities may be estimated using techniques related to Hidden Markov Models (HMM), statistical models related to extracting unknown, or hidden, parameters from observable parameters in a data distribution model. For example, each distinct vector in the source and target vector sequences may be generated by a left-to-right finite state machine that changes state once per time unit. Such finite state machines may be known as Markov Models. In addition, alignment probabilities may also be training weights, for example, values representing weights used to generate training parameters for a GMM based transformation. Thus, an alignment probability need not be represented as a value in a probability range (e.g., 0 to 1, or 0 to 100), but might be a value corresponding to some weight in the training weight scheme used in a conversion.
Smaller sets of vectors in the source and target vector sequences may represent, or belong to, a phoneme, or basic unit of speech. A phoneme may correspond to a minimal sound unit affecting the meaning of a word. For example, the phoneme ‘b’ in the word “book” contrasts with the phoneme ‘t’ in the word “took,” or the phoneme ‘h’ in the word “hook,” to affect the meaning of the spoken word. Thus, short sequences of vectors, or even individual vectors, from the source and target vector sequences, also known as feature vectors, may correspond to these ‘b’, ‘t’, and ‘h’ sounds, or to other basic speech sounds. Feature vectors may even represent sound units smaller than phonemes, such as sound frames, so that the time and pronunciation information captured in the transformation may be even more precise. In one example, an individual feature vector may represent a short segment of speech, for example, 10 milliseconds. Then, a set of feature vectors of similar size together may represent a phoneme. A feature vector may also represent a boundary segment of the speech, such as a transition between two phonemes in a larger speech segment.
Each HMM subword model may be represented by one or more states, and the entire set of HMM subword models may be concatenated to form the compound HMM model, consisting of the state sequence M of joint feature vectors, or states. For example, a compound HMM model may be generated by concatenating a set of speaker-independent phoneme based HMMs for intra-lingual language voice conversion. As another example, a compound HMM model might even be generated be concatenating a set of language-independent phoneme based HMMs for cross-lingual language voice conversion. In each state j of the state sequence M, the probability of j-th state occupation at time t of the source may be denoted as LSj(t), while the probability of target occupation of the same state j at the same time t may be denoted as LTj(t). Each of these values may be calculated, for example, by computing device 301, using a forward-backward algorithm, commonly known by those of ordinary skill in the art for computing the probability of a sequence of observed events, especially in the context of HMM models. In this example, the forward probability of j-th state occupation of the source may be computed using the following equation:
αj(t)=P(x1, . . . ,xt,x(t)=j|M)=[N−1Σi=2αi(t−1)*aij]*bj(xt) (Eq. 1)
While the backward probability of j-th state occupation of the source may be computed using the similar equation:
βj(t)=P(xt+1, . . . ,xn|x(t)=j,M)=N−1Σj=2aij*bj(xt+1)*βi(t+1) (Eq. 2)
Thus, the total probability of j-th state occupation at time t of the source may be computed with the following equation:
LSj(xt)=(αj(t)*βj(t))/P(x|M) (Eq. 3)
The probability of occupation at various times and states in the source and target sequence may be similarly computed. That is, equations corresponding to Eqs. 1-3 above may be applied to the feature vectors of target speaker. Additionally, these values may be used to compute a probability that a source-target vector pair is aligned. In this example, for a potentially aligned source-target vector pair (e.g., xpT and yqT, where xp is the feature vector from the source speaker at time p, and yq is the feature vector from the target speaker at time q), an alignment probability (PApq) representing the probability that the feature vectors xp and yq are aligned may be calculated using the following equation:
In step 403, joint feature vectors are generated based on the source-target vectors, and based on the alignment probabilities of the source and target vector pairs. In this example, the joint vectors may be defined as zk=zpq=[xpT, yqT, PApq]T. Since the joint feature vectors described in the present disclosure may be soft aligned, the alignment probability PApq need not simply be 0 or 1, as in other alignment schemes. Rather, in a soft alignment scheme, the alignment probability PApq might be any value, not just a Boolean value representing non-alignment or alignment (e.g., 0 or 1). Thus, non-Boolean probability values, for example, non-integer values in the continuous range between 0 and 1, may be used as well as Boolean values to represent a likelihood of alignment between the source and target vector pair. Additionally, as mentioned above, the alignment probability may also represent a weight, such as a training weight, rather than mapping to a specific probability.
In step 404, conversion model parameters are computed, for example, by computing device 301, based on the joint vector sequence determined in step 403. The determination of appropriate parameters for model functions, or conversion functions, is often known as estimation in the context of mixture models, or similar “missing data” problems. That is, the data points observed in the model (i.e., the source and target vector sequences) may be assumed to have membership in the distribution used to model the data. The membership is initially unknown, but may be calculated by selecting appropriate parameters for the chosen conversion functions, with connections to the data points being represented as their membership in the individual model distributions. The parameters may be, for example, training parameters for a GMM based transformation.
In this example, an Expectation-Maximization algorithm may be used to calculate the GMM training parameters. In this two-step algorithm, the prior probability may be measured in the Expectation step with the following equation:
Pl,pq=P(l|zpq)=(Ppq|l*P(l))/P(zpq)
P(zpq)=LΣl=1P(zpq|l)*P(l)
ˆPl,pq=PA(xp,yq)*Pl,pq (Eq. 5)
The Maximization step, in this example, may be calculated by the following equation:
ˆP(l)=(1/m*n)*nΣp=1mΣq=1ˆPl,pq
ˆul=nΣp=1mΣq=1ˆPl,pq*zpq/nΣp=1mΣq=1ˆPl,pq
ˆΣl=nΣp=1mΣq=1ˆPl,pq*(zpq−ˆul)*(zpq−ˆul)T/nΣp=1mΣq=1ˆPl,pq (Eq. 6)
Note that in certain embodiments, a distinct set of features may be generated for GMM training and conversion in step 404. That is, the soft alignment feature vectors need not be the same as the GMM training and conversion features.
Finally, in step 405, a transformation model, for example a conversion function, is generated that may convert a feature from a source model x into a target model y. The conversion function in this example may be represented by the following equation:
F(x)=E(y|x)=lΣl=1pl(x)*(ˆuly+ˆΣlyx(ˆΣlxx)−1(x−ˆulx)) (Eq. 7)
This conversion function, or model function, may now be used to transform further source vectors, for example, speech signal vectors from a source speaker, into target vectors. Soft aligned GMM based vector transformations when applied to voice conversion may be used to transform speech vectors to the corresponding individualized target speaker, for example, as part of a text-to-speech (TTS) application. Referring to
However, as described above, aspects of the present disclosure describe soft alignment of source and target vectors rather than requiring a hard one-to-one matching. In this example, state vector 530 contains three states 531-533. Each line connecting the source sequence vectors 511-515 to a state sequence 531 may represent the probability of occupation of the state 531 by that source vector 511-515 at time a t. When generating the state sequence according to the Hidden Markov Model (HMM) or similar modeling system, the state sequence 530 may have a state 531-533 corresponding to each time unit t. As shown in
Thus, although a state in state sequence 530 may be formed on a single aligned pair, such as [xpT, yqT, PApq]T, as described above in reference to
Referring to
Recall the conventional hard alignment described in reference to
Returning to
According to another aspect of the present disclosure, hard-aligned/soft-aligned GMM performance can compared using parallel test data such as that of
In addition to the potential advantages gained by using soft alignment in this example, further advantages may be realized in more complex real-world feature vector transformations. When using more complex vector data, for example, with greater initial alignment errors and differing numbers of source and target feature vectors, hard alignment techniques often require discarding, duplicating, or interpolation vectors during alignment. Such operations may increase the complexity and cost of the transformation, and may also have a negative affect on the quality of the transformation by magnifying the initial alignment errors. In contrast, soft alignment techniques that might not require discarding, duplicating, or interpolating vectors during alignment, may provide increased data transformation quality and efficiency.
While illustrative systems and methods as described herein embodying various aspects of the present invention are shown, it will be understood by those skilled in the art, that the invention is not limited to these embodiments. Modifications may be made by those skilled in the art, particularly in light of the foregoing teachings. For example, each of the elements of the aforementioned embodiments may be utilized alone or in combination or subcombination with elements of the other embodiments. It will also be appreciated and understood that modifications may be made without departing from the true spirit and scope of the present invention. The description is thus to be regarded as illustrative instead of restrictive on the present invention.