Predicting parametric vocoder parameters from prosodic features.
The two-stage speech synthesis method using a prosodic model and neural network vocoder predicts parametric vocoder parameters, addressing the lack of expressiveness in TTS models by generating speech with accurate prosody and naturalness.
Patent Information
- Application Number
- JP2023185526
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-09-26
- Filing Date
- 2023-10-30
- Publication Date
- 2024-12-10
- Estimated Expiration
- 2041-06-21
AI Technical Summary
Existing text-to-speech (TTS) models struggle to effectively model prosody, resulting in synthesized speech that lacks expressiveness due to insufficient prediction of parametric vocoder parameters, which are crucial for conveying intonation, stress, and rhythm accurately.
A method and system for predicting parametric vocoder parameters from prosodic features using a two-stage speech synthesis approach, combining a prosodic model to predict prosodic features and a neural network vocoder model to generate the remaining required parameters, leveraging a Clockwork Hierarchical Variational Autoencoder (CHiVE) and hierarchical LSTM structures to enhance prosodic representation.
The approach enables the generation of synthesized speech with improved prosody by providing all necessary vocoder parameters, ensuring the speech sounds natural and expressive, suitable for applications like conversation assistants and long-form readers.
Smart Images

Figure 0007597892000001 
Figure 0007597892000002 
Figure 0007597892000003
Abstract
Description
[Technical field]
[0001] This disclosure relates to predicting parametric vocoder parameters from prosodic features. [Background technology]
[0002] Speech synthesis systems use text-to-speech (TTS) models to generate speech from text input. The generated / synthesized speech should accurately convey the message (intelligibility) while sounding like human speech (naturalness) with the intended prosody (expressiveness). Although regular concatenative and parametric synthesis models can provide intelligible speech, and recent advances in neural modeling of speech have significantly improved the naturalness of synthesized speech, most existing TTS models are ineffective at modeling prosody, thereby causing the synthesized speech used by critical applications to lack expressiveness. For example, it is desirable for applications such as conversation assistants and long-form readers to generate lifelike speech by imputing prosodic features such as intonation, stress, and rhythm and style that are not conveyed in the text input. For example, a simple statement may be phrased many differently depending on whether the statement is a question, an answer to a question, whether there is uncertainty in the statement, or whether it should convey some other meaning about the environment or context that is not made explicit by the input text.
[0003] Recently, variational autoencoders have been developed to predict prosodic features of duration, pitch contour, and energy contour to effectively model the prosody of synthesized speech. These predicted prosodic features are sufficient to drive large-scale neural network-based acoustic models that operate on linguistic and prosodic features, such as the WaveNet or WaveRNN models, but are insufficient to drive parametric vocoders, which require many additional vocoder parameters. Summary of the Invention [Means for solving the problem]
[0004] One aspect of the present disclosure provides a method for predicting parametric vocoder parameters from prosodic features. The method includes receiving, in data processing hardware, a text utterance having one or more words, each word having one or more syllables, each syllable having one or more phonemes. The method further includes receiving, in the data processing hardware, prosodic features output from a prosodic model representing the intended prosody of the text utterance, and a linguistic specification of the text utterance as input to a vocoder model. The prosodic features include a duration, a pitch contour, and an energy contour of the text utterance, while the linguistic specification of the text utterance includes sentence-level linguistic features of the text utterance, word-level linguistic features of each word of the text utterance, syllable-level linguistic features of each syllable of the text utterance, and phoneme-level linguistic features of each phoneme of the text utterance. The method further includes predicting, by the data processing hardware, vocoder parameters based on the prosodic features output from the prosody model and a linguistic definition of the text utterance as output from the vocoder model. The method further includes providing, by the data processing hardware, the predicted vocoder parameters output from the vocoder model and the prosodic features output from the prosody model to a parametric vocoder. The parametric vocoder is configured to generate a synthetic speech representation of the text utterance having the intended prosody.
[0005] Implementations of the present disclosure may include one or more of any of the following features. In some implementations, the method further includes receiving, in the data processing hardware, linguistic feature alignment activations for a linguistic definition of the text utterance as an input to the vocoder model. In these implementations, predicting the vocoder parameters is further based on the linguistic feature alignment activations for the linguistic definition of the text utterance. In some examples, the linguistic feature alignment activations include word-level alignment activations and syllable-level alignment activations. The word-level alignment activations align the activations of each word with syllable-level linguistic features of each syllable of the word, respectively, and the syllable-level alignment activations align the activations of each syllable with phoneme-level linguistic features of each phoneme of the syllable, respectively. Here, the activation of each word may be based on the word-level linguistic features of the corresponding word and the sentence-level linguistic features of the text utterance. In some examples, the word-level linguistic features include word piece embeddings obtained from a sequence of word piece embeddings generated by a Bidirectional Encoder Representations from Transformers (BERT) model from text utterances.
[0006] In some implementations, the method further includes selecting, by the data processing hardware, an utterance embedding for the text utterance, the utterance embedding representing an intended prosody. For each syllable, using the selected utterance embedding, the method includes predicting, by the data processing hardware, a duration of the syllable by encoding, using a prosodic model, phoneme-level linguistic features of each phoneme in the syllable along with the syllable's corresponding prosodic syllable embedding, predicting, by the data processing hardware, a pitch of the syllable based on the predicted duration for the syllable, and generating, by the data processing hardware, a plurality of predicted fixed-length pitch frames based on the predicted duration for the syllable. Each fixed-length pitch frame represents a predicted pitch of the syllable, and the prosodic features received as input to the vocoder model include the plurality of predicted fixed-length pitch frames generated for each syllable of the text utterance. In some examples, the method further includes, for each syllable, predicting, by the data processing hardware, an energy level of each phoneme in the syllable based on a predicted duration for the syllable using the selected speech embedding, and, for each phoneme in the syllable, generating, by the data processing hardware, a plurality of predicted fixed-length energy frames based on the predicted duration for the syllable, each predicted fixed-length energy frame representing a predicted energy level of a corresponding phoneme, where the prosodic features received as input to the vocoder model further include the plurality of predicted fixed-length energy frames generated for each phoneme in each syllable of the text utterance.
[0007] In some implementations, the prosody model incorporates a hierarchical linguistic structure for representing the text utterance, the hierarchical linguistic structure including a first level including long short-term memory (LSTM) processing cells representing each word of the text utterance, a second level including LSTM processing cells representing each syllable of the text utterance, a third level including LSTM processing cells representing each phoneme of the text utterance, a fourth level including LSTM processing cells representing each predicted fixed-length pitch frame, and a fifth level including LSTM processing cells representing each predicted fixed-length energy frame. The second level LSTM processing cells clock faster relative to the first level LSTM processing cells than the first level LSTM processing cells, the third level LSTM processing cells clock faster relative to the second level LSTM processing cells than the second level LSTM processing cells, the fourth level LSTM processing cells clock faster relative to the third level LSTM processing cells than the third level LSTM processing cells, and the fifth level LSTM processing cells clock at the same rate as the fourth level LSTM processing cells but clock faster relative to the third level LSTM processing cells than the third level LSTM processing cells. In some implementations, a first level of the hierarchical linguistic structure generates activations for each word of the text utterance in a single first pass, a second level of the hierarchical linguistic structure generates activations for each syllable of the text utterance in a single second pass after the first pass, a third level of the hierarchical linguistic structure generates activations for each phoneme of the text utterance in a single third pass after the second pass, a fourth level of the hierarchical linguistic structure generates activations for each predicted fixed-length pitch frame in a single fourth pass after the third pass, and a fifth level of the hierarchical linguistic structure generates activations for each predicted fixed-length energy frame in a single fifth pass after the third pass.
[0008] In some examples, the vocoder model incorporates a hierarchical linguistic structure for representing the text utterance, the hierarchical linguistic structure including a first level including a long short-term memory (LSTM) processing cell representing each word of the text utterance, a second level including a LSTM processing cell representing each syllable of the text utterance, a third level including a LSTM processing cell representing each phoneme of the text utterance, and a fourth level including LSTM processing cells representing each of a plurality of fixed-length speech frames, where the LSTM processing cells of the fourth level clock faster relative to the LSTM processing cells of the third level than the LSTM processing cells of the third level. The second level LSTM processing cells clock faster relative to the first level LSTM processing cells than the first level LSTM processing cells, the third level LSTM processing cells clock faster relative to the second level LSTM processing cells than the second level LSTM processing cells, and the fourth level LSTM processing cells clock faster relative to the third level LSTM processing cells than the third level LSTM processing cells. In these examples, each of the multiple fixed length speech frames may represent a respective portion of the predicted vocoder parameters output from the vocoder model. Further, in these examples, a first level of the hierarchical linguistic structure may generate activations for each word of the text utterance in a single first pass, a second level of the hierarchical linguistic structure may generate activations for each syllable of the text utterance in a single second pass after the first pass, a third level of the hierarchical linguistic structure may generate activations for each phoneme of the text utterance in a single third pass after the second pass, and a fourth level of the hierarchical linguistic structure may generate activations for each fixed-length speech frame of the multiple fixed-length speech frames in a single fourth pass after the third pass.
[0009] The method may further include receiving, in the data processing hardware, training data including a plurality of reference audio signals and corresponding transcriptions, each reference audio signal including a speech mouth utterance and having a corresponding prosody, while each transcription includes a textual representation of the corresponding reference audio signal. For each reference audio signal and corresponding transcription pair, the method may include obtaining, by the data processing hardware, reference prosodic features representing a reference linguistic definition of the corresponding transcription and a corresponding prosody of the corresponding reference audio signal, and training, by the data processing hardware, using a deep neural network, a vocoder model to generate, from the reference linguistic definition and the reference prosodic features, a sequence of predicted fixed-length speech frames providing mel-cepstral coefficients, an aperiodicity component, and a voicing component. In some examples, the step of training the vocoder model further includes, for each reference audio signal, sampling a sequence of fixed-length reference speech frames from the corresponding reference audio signal providing reference mel-cepstral coefficients, a reference aperiodic component, and a reference voiced component of the reference audio signal, generating a gradient / loss between the sequence of predicted fixed-length speech frames generated by the vocoder model and the sequence of fixed-length reference speech frames sampled from the corresponding reference audio signal, and back-propagating the gradient / loss through the vocoder model.
[0010] In some implementations, the method further includes splitting, by the data processing hardware, the predicted vocoder parameters output from the vocoder model into mel-cepstral coefficients, an aperiodic component, and a voiced component. In these implementations, the method further includes separately denormalizing, by the data processing hardware, the mel-cepstral coefficients, the aperiodic component, and the voiced component. In these implementations, the method further includes concatenating, by the data processing hardware, the prosodic features output from the prosodic model, the denormalized mel-cepstral coefficients, the denormalized aperiodic component, and the denormalized voiced component into a vocoder vector. In these implementations, providing the predicted vocoder parameters output from the vocoder model and the prosodic features output from the prosodic model to a parametric vocoder includes providing the vocoder vector to the parametric vocoder as an input for generating a synthetic speech representation of the text utterance.
[0011] Another aspect of the present disclosure provides a system for predicting parametric vocoder parameters from prosodic features. The system includes data processing hardware and memory hardware in communication with the data processing hardware. The memory hardware stores instructions that, when executed on the data processing hardware, cause the data processing hardware to perform operations. The operations include receiving a text utterance having one or more words, each word having one or more syllables, each syllable having one or more phonemes. The operations further include receiving, as input to the vocoder model, prosodic features output from a prosodic model representing an intended prosody of the text utterance and a linguistic specification of the text utterance. The prosodic features include a duration, a pitch contour, and an energy contour of the text utterance, while the linguistic specification of the text utterance includes sentence-level linguistic features of the text utterance, word-level linguistic features of each word of the text utterance, syllable-level linguistic features of each syllable of the text utterance, and phoneme-level linguistic features of each phoneme of the text utterance. The operations further include predicting vocoder parameters based on the prosodic features output from the prosody model and a linguistic definition of the text utterance as output from the vocoder model. The operations further include providing the predicted vocoder parameters output from the vocoder model and the prosodic features output from the prosody model to a parametric vocoder. The parametric vocoder is configured to generate a synthetic speech representation of the text utterance having an intended prosody.
[0012] Implementations of the present disclosure may include one or more of any of the following features. In some implementations, the operations further include receiving linguistic feature alignment activations for a linguistic definition of the text utterance as an input to the vocoder model. In these implementations, predicting the vocoder parameters is further based on the linguistic feature alignment activations for the linguistic definition of the text utterance. In some examples, the linguistic feature alignment activations include word-level alignment activations and syllable-level alignment activations. The word-level alignment activations align the activation of each word with the syllable-level linguistic features of each syllable of the word, respectively, and the syllable-level alignment activations align the activation of each syllable with the phoneme-level linguistic features of each phoneme of the syllable, respectively. Here, the activation of each word may be based on the word-level linguistic features of the corresponding word and the sentence-level linguistic features of the text utterance. In some examples, the word-level linguistic features include word piece embeddings obtained from a sequence of word piece embeddings generated by a Bidirectional Encoder Representations from Text Utterances Transformer (BERT) model.
[0013] In some implementations, the operations further include selecting a speech embedding for the text utterance that represents the intended prosody. In these implementations, for each syllable, using the selected speech embedding, the operations further include predicting a duration of the syllable by encoding phoneme-level linguistic features of each phoneme in the syllable along with the syllable's corresponding prosodic syllable embedding using a prosodic model, predicting a pitch of the syllable based on the predicted duration for the syllable, and generating a plurality of predicted fixed-length pitch frames based on the predicted duration for the syllable. Each fixed-length pitch frame represents a predicted pitch of a syllable, and the prosodic features received as input to the vocoder model include the plurality of predicted fixed-length pitch frames generated for each syllable of the text utterance.
[0014] In some examples, the operations further include, for each syllable, predicting an energy level of each phoneme in the syllable based on a predicted duration for the syllable using the selected utterance embedding, and, for each phoneme in the syllable, generating a plurality of predicted fixed-length energy frames based on the predicted duration for the syllable, each predicted fixed-length energy frame representing a predicted energy level of a corresponding phoneme. The prosodic features received as input to the vocoder model further include the plurality of predicted fixed-length energy frames generated for each phoneme in each syllable of the text utterance.
[0015] In some implementations, the prosody model incorporates a hierarchical linguistic structure for representing the text utterance, the hierarchical linguistic structure including a first level including a long short-term memory (LSTM) processing cell representing each word of the text utterance, a second level including a LSTM processing cell representing each syllable of the text utterance, a third level including a LSTM processing cell representing each phoneme of the text utterance, a fourth level including a LSTM processing cell representing each predicted fixed-length pitch frame, and a fifth level including a LSTM processing cell representing each predicted fixed-length energy frame. The second level LSTM processing cells clock faster than the first level LSTM processing cells relative to the first level LSTM processing cells, the third level LSTM processing cells clock faster than the second level LSTM processing cells relative to the second level LSTM processing cells, the fourth level LSTM processing cells clock faster than the third level LSTM processing cells relative to the third level LSTM processing cells, and the fifth level LSTM processing cells clock at the same rate as the fourth level LSTM processing cells and clock faster than the third level LSTM processing cells relative to the third level LSTM processing cells. In some implementations, a first level of the hierarchical linguistic structure generates activations for each word of the text utterance in a single first pass, a second level of the hierarchical linguistic structure generates activations for each syllable of the text utterance in a single second pass after the first pass, a third level of the hierarchical linguistic structure generates activations for each phoneme of the text utterance in a single third pass after the second pass, a fourth level of the hierarchical linguistic structure generates activations for each predicted fixed-length pitch frame in a single fourth pass after the third pass, and a fifth level of the hierarchical linguistic structure generates activations for each predicted fixed-length energy frame in a single fifth pass after the third pass.
[0016] In some examples, the vocoder model incorporates a hierarchical linguistic structure for representing the text utterance, the hierarchical linguistic structure including a first level including a long short-term memory (LSTM) processing cell representing each word of the text utterance, a second level including a LSTM processing cell representing each syllable of the text utterance, a third level including a LSTM processing cell representing each phoneme of the text utterance, and a fourth level including LSTM processing cells representing each of a plurality of fixed-length speech frames, where the LSTM processing cells of the fourth level clock faster relative to the LSTM processing cells of the third level than the LSTM processing cells of the third level. The second level LSTM processing cells clock faster relative to the first level LSTM processing cells than the first level LSTM processing cells, the third level LSTM processing cells clock faster relative to the second level LSTM processing cells than the second level LSTM processing cells, and the fourth level LSTM processing cells clock faster relative to the third level LSTM processing cells than the third level LSTM processing cells. In these examples, each of the multiple fixed length speech frames may represent a respective portion of the predicted vocoder parameters output from the vocoder model. Further, in these examples, a first level of the hierarchical linguistic structure may generate activations for each word of the text utterance in a single first pass, a second level of the hierarchical linguistic structure may generate activations for each syllable of the text utterance in a single second pass after the first pass, a third level of the hierarchical linguistic structure may generate activations for each phoneme of the text utterance in a single third pass after the second pass, and a fourth level of the hierarchical linguistic structure may generate activations for each fixed-length speech frame of the multiple fixed-length speech frames in a single fourth pass after the third pass.
[0017] The operations may further include receiving training data including a plurality of reference audio signals and corresponding transcriptions, each of which includes a speech mouthed utterance and has a corresponding prosody, while each transcription includes a textual representation of the corresponding reference audio signal. For each reference audio signal and corresponding transcription pair, the operations may further include obtaining reference prosodic features representative of a reference linguistic definition of the corresponding transcription and a corresponding prosody of the corresponding reference audio signal, and training a vocoder model to generate, using a deep neural network, a sequence of predicted fixed-length speech frames providing mel-cepstral coefficients, an aperiodic component, and a voiced component from the reference linguistic definition and the reference prosodic features. In some examples, the operation of training the vocoder model further includes sampling a sequence of fixed-length reference speech frames from a corresponding reference audio signal to provide reference mel-cepstral coefficients, a reference aperiodic component, and a reference voiced component of the reference audio signal, generating a gradient / loss between the sequence of predicted fixed-length speech frames generated by the vocoder model and the sequence of fixed-length reference speech frames sampled from the corresponding reference audio signal, and back-propagating the gradient / loss through the vocoder model.
[0018] In some implementations, the operations further include splitting the predicted vocoder parameters output from the vocoder model into mel-cepstral coefficients, an aperiodic component, and a voiced component. In these implementations, the operations further include separately unnormalizing the mel-cepstral coefficients, the aperiodic component, and the voiced component. In these implementations, the operations further include concatenating the prosodic features output from the prosody model, the unnormalized mel-cepstral coefficients, the unnormalized aperiodic component, and the unnormalized voiced component into a vocoder vector. In these implementations, providing the predicted vocoder parameters output from the vocoder model and the prosodic features output from the prosody model to a parametric vocoder includes providing the vocoder vector to the parametric vocoder as an input for generating a synthetic speech representation of the text utterance. [Brief description of the drawings]
[0019] [Figure 1] FIG. 1 is a schematic diagram of an example system for training a deep neural network to provide a vocoder model for use in predicting vocoder parameters from prosodic features representing the intended prosody of a text utterance. [Diagram 2] FIG. 2 is a schematic diagram of the vocoder model of FIG. 1 incorporating a hierarchical linguistic structure for representing text utterances. [Figure 3A] FIG. 2 is a schematic diagram of an exemplary autoencoder for predicting the duration and pitch contour of each syllable of a text utterance. [Figure 3B] FIG. 2 is a schematic diagram of an exemplary autoencoder for predicting the duration and energy contour of each phoneme of a text utterance. [Figure 4] FIG. 1 is a schematic diagram of an exemplary deep neural network for predicting vocoder parameters from prosodic features to drive a parametric vocoder. [Diagram 5] FIG. 2 is a schematic diagram of updating parameters of a vocoder model. [Figure 6]4 is a flow diagram of an example sequence of operations for predicting vocoder parameters for a text utterance based on prosodic features output from a prosodic model and a linguistic specification of the text utterance. [Figure 7] FIG. 1 is a schematic diagram of an example computing device that may be used to implement the systems and methods described herein. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0020] Like reference numbers in the various drawings indicate like elements.
[0021] Text-to-speech (TTS) models, often used in speech synthesis systems, are generally given only text input without any reference acoustic representation at run time and must impart many linguistic factors not provided by the text input in order to generate a realistic-sounding synthesized voice. A subset of these linguistic factors, collectively referred to as prosody, may include speech intonation (changes in pitch), stress (stressed vs. unstressed syllables), duration, loudness, tone, rhythm, and style, etc. Prosody may indicate the emotional state of the speech, the form of the speech (e.g., statement, question, command, etc.), the presence of sarcasm or sarcasm in the speech, uncertainty of knowledge of the speech, or other linguistic elements that cannot be encoded by the grammar or lexical choices of the input text. Thus, a given text input associated with a large degree of prosodic variation may produce synthesized speech with local variations in pitch and speech duration to convey different semantic meanings, as well as global variations in the overall pitch trajectory to convey different moods and emotions.
[0022] Neural network models offer the potential to robustly synthesize speech by predicting linguistic factors corresponding to prosody not provided by the text input. As a result, many applications such as audiobook narration, news readers, voice design software, and conversation assistants can generate realistic-sounding synthesized speech that does not sound monotonous. Recent advances in variational autoencoders (VACs) allow prediction of prosodic features of duration, pitch contour, and energy contour to effectively model the prosody of synthesized speech. These predicted prosodic features are sufficient to drive large-scale state-of-the-art neural network-based acoustic models that operate on linguistic and prosodic features, such as WaveNet or WaveRNN models, but are insufficient to drive parametric vocoders that require many additional vocoder parameters. That is, in addition to the prosodic features of pitch, energy, and phoneme duration, parametric vocoders require a number of additional vocoder parameters, including Mel-Cepstral Coefficients (MCEPs), aperiodic components, and voice components for each speech unit, typically a fixed-length frame (e.g., 5 ms). As a result, parametric vocoders could not benefit from the improvements in prosody modeling by VAC. However, compared to large-scale state-of-the-art neural network-based acoustic models that run on servers, parametric vocoders are associated with lower processing and memory requirements that make parametric vocoder models a preferred choice for use in on-device environments where processing and memory constraints are relaxed.
[0023] The implementations herein are directed to a two-stage speech synthesis system incorporating a prosody model and a neural network vocoder model. During a first stage, the prosody model is configured to predict prosodic features representing the intended prosody of the text utterance. The prosodic features represent acoustic information about the text utterance in terms of pitch (F0), phoneme duration, and energy (C0). However, the prosodic features predicted by the prosodic model include only a portion of the many vocoder parameters required to drive a parametric vocoder. During a second stage, the neural network vocoder model is configured to receive as input the prosodic features predicted by the prosodic model and generate as output the remaining portion of the vocoder parameters for use in driving the parametric vocoder to generate a synthetic speech representation of the text utterance having the intended prosody. The prosodic model may incorporate a variational autoencoder (VAE) optimized to predict the prosodic features to provide a higher quality prosodic representation of the text utterance than a typical statistical parametric model can generate. These conventional statistical parametric models are tasked with generating all vocoder parameters, including MCEP, aperiodic components, and vocal components, in addition to prosodic features of pitch, energy, and phoneme duration.
[0024] Advantageously, the neural network vocoder model may utilize the capabilities of the prosody model to accurately predict prosodic features representative of the intended prosody of the text utterance, and use these predicted prosodic features for a dual purpose: as input to the vocoder model to predict the remaining vocoder parameters required to drive the parametric vocoder, and as a pass-through of the vocoder model to drive the parametric vocoder in combination with the remaining vocoder parameters predicted by the vocoder model. That is, the prosodic features predicted by the prosody model and the remaining vocoder parameters predicted by the vocoder model may collectively provide all the required vocoder parameters required to drive the parametric vocoder to generate a synthetic speech representation of the text utterance with the intended prosody. Thus, by utilizing an optimized prosody model to model the prosody and incorporating a neural network vocoder model to predict the remaining vocoder parameters, an on-device parametric vocoder may be employed to generate a synthetic speech representation with improved prosody.
[0025] The VAE-based prosody model of the present disclosure includes a Clockwork Hierarchical Variational Autoencoder (CHiVE) having an encoder portion and a decoder portion. The encoder portion of CHiVE may train speech embeddings representing prosody by encoding multiple reference audio signals conditioned on prosodic features and linguistic prescriptions associated with each reference audio signal. As mentioned above, the prosodic features represent acoustic information about the reference audio signals in terms of pitch (F0), phoneme duration, and energy (C0). For example, the prosodic features may include fixed-length frames of phoneme durations and pitches and energies sampled from the reference audio signals. The linguistic prescription may include, without limitation, phoneme-level linguistic features including information about the position of a phoneme within a syllable, the identity of the phoneme, and the number of phonemes within a syllable; syllable-level linguistic features including information such as the identity of the syllable and whether the syllable is stressed or unstressed; word-level linguistic features including information such as the part of speech of the word indicating whether the word is a noun / adjective / verb; and sentence-level linguistic features including information about the speaker, the gender of the speaker, and / or whether the utterance is a question or a phrase. In some examples, the prosody model includes a Bidirectional Encoder Representation from Transformer (BERT) model configured to output word-piece embeddings. In these examples, the word-piece embeddings may replace word-level linguistic features that would otherwise explicitly encode syntactic information about each word.
[0026] Each utterance embedding encoded by the encoder portion may be represented by a fixed-length numeric vector. In some implementations, the fixed-length numeric vector includes a value equal to 256. However, other implementations may use fixed-length numeric vectors with values greater than or less than 256. The decoder portion may decode the fixed-length utterance embedding by a first decoder into a sequence of phoneme durations and use the phoneme durations to decode into a sequence of fixed-length frames of pitch and energy (e.g., 5 milliseconds). The fixed-length utterance embedding may represent the intended prosody of the input text to be synthesized into speech. The sequence of phoneme durations and the fixed-length frames of pitch and energy correspond to the prosodic features predicted by the decoder portion. During training, the prosodic features of the phoneme durations and the fixed-length frames of pitch and energy predicted by the decoder portion match well with the prosodic features of the phoneme durations and the fixed-length frames of pitch and energy sampled from a reference audio signal associated with the fixed-length utterance embedding.
[0027] The neural network vocoder model of the present disclosure is trained to predict vocoder parameters conditional on prosodic features and linguistic prescriptions of the training text utterance reference. That is, the vocoder model receives as input prosodic features representing the intended prosody of the training text utterance and the linguistic prescription of the training text utterance, and as output predicts vocoder parameters based on the prosodic features and linguistic prescription of the text utterance reference. The vocoder parameters include the MCEP, aperiodic component, and voice component of each speech unit, e.g., typically a fixed-length frame (e.g., 5 ms). The prosodic features of the energy contour / level C0 are the 0th MCEP required to drive the parametric vocoder. Thus, the vocoder model may be configured to predict the remaining MCEPs C[1-nth] for driving the parametric vocoder. Each training text utterance may have one or more words, each having one or more syllables, and each syllable having one or more phonemes. Thus, the linguistic specification of each training text utterance includes sentence-level linguistic features of the text utterance, word-level linguistic features of each word of the text utterance, syllable-level linguistic features of each syllable of the text utterance, and phoneme-level linguistic features of each phoneme of the text utterance.
[0028] The CHiVE-based prosody model and the neural network vocoder model may each incorporate a hierarchical stacked layer hierarchy of long short-term memory (LSTM) cells, where each layer of LSTM cells incorporates the structure of a text utterance such that one layer represents a fixed-length frame, the next layer represents a phoneme, the next layer represents a syllable, and another layer represents a word. Furthermore, the stacked layer hierarchy of LSTM cells is variably clocked to match the length of the hierarchical input data. For example, if the input data (e.g., a text utterance) includes a three-syllable word followed by a four-syllable word, the syllable layer of the hierarchy will clock three times for the first input word versus one clock of the word layer, and then the syllable layer will clock four times for the second word versus the next one clock of the word layer.
[0029] During inference, the CHiVE-based prosody model is configured to receive a text utterance and select speech embeddings for the text utterance. The speech embeddings may be classified with respect to different prosodic domains, including, without limitation, newsreader, sports broadcaster, speaker, or story reading. The speech embeddings may be more fine-grained to include subdomains. For example, the domain of story reading may include speech embeddings for conveying the suspense of a thriller novel and speech embeddings for conveying different emotions in the context of a given chapter of an e-book. A user may select a speech embedding that conveys an intended prosody, or a speech embedding may be selected as a speech embedding that pairs with a text utterance that closely matches the received text utterance to be synthesized into speech. The received text utterance has at least one word, each word has at least one syllable, and each syllable has at least one phoneme. Since the text utterance lacks context, semantic, and pragmatic information to derive an appropriate prosody for generating synthesized speech from the utterance, the CHiVE-based prosody model uses the selected speech embeddings as latent variables to represent the intended prosody. The CHiVE-based prosody model then concatenates the selected speech embeddings with sentence-level, word-level, and syllable-level linguistic features obtained from the text utterance to predict the duration of each syllable, and predicts the pitch of each syllable based on the predicted duration of the syllable. Finally, the CHiVE-based prosody model is configured to generate a plurality of fixed-length pitch frames based on the predicted duration of each syllable, such that each fixed-length pitch frame represents a predicted pitch of the syllable. The plurality of fixed-length pitch frames may provide a log f0 to represent the fundamental frequency of the text utterance on a logarithmic scale. The CHiVE-based prosody model may similarly predict the energy (e.g., loudness) of each syllable based on the syllable's predicted duration and generate multiple fixed-length energy frames, each representing the syllable's predicted energy c0, where c0 is the 0th MCEP.
[0030] The linguistic definition of the text utterance (e.g., sentence-level, word-level, syllable-level, and phoneme-level linguistic features) and the fixed-length pitch and / or energy frames output from the prosody model may be provided as input to a neural network vocoder model for generating predicted vocoder parameters including, as output, the MCEP(c[1-nth]), aperiodic component, and voiced component of each speech unit. That is, the neural network vocoder model is configured to predict multiple fixed-length speech frames (e.g., 5 ms frames), each of which represents a respective portion of the predicted vocoder parameters. Furthermore, the vocoder model may insert the prosodic features of pitch f0, energy c0, and phoneme duration predicted by the prosody model into the appropriate fixed-length speech frames to drive a parametric vocoder with all the required vocoder parameters. Here, the portion of the vocoder parameters that drive the parametric vocoder that describes the prosody is obtained from a prosody model that is optimized to model the prosody, and the remaining portion of the vocoder parameters are obtained from the vocoder model based on prosodic features.
[0031] 1 illustrates an exemplary system 100 for training a deep neural network 200 to provide a vocoder model 400 and for predicting vocoder parameters 450 for a text utterance 320 to drive a parametric vocoder 155 using the trained vocoder model 400. During training, the system 100 incorporates a computing system 120 having data processing hardware 122 and memory hardware 124 in communication with the data processing hardware 122 and storing instructions that cause the data processing hardware 122 to perform operations. In some implementations, the computing system 120 (e.g., the data processing hardware 122) provides the trained prosody model 300 and the trained vocoder model 400 based on the trained deep neural network 200 to a text-to-speech (TTS) system 150 to control the prosody of a synthesized speech 152 from an input text utterance 320. That is, the trained prosody model 300 and the trained vocoder model 400 work together to generate all the required vocoder parameters 322, 450 needed to drive the parametric vocoder 155 of the TTS system 150 to generate the synthesized speech 152 with the intended prosody. In the illustrated example, the TTS system 150 resides on a user device 110, such as a smartphone, a smart watch, a smart speaker / display, a smart appliance, a laptop, a desktop computer, a tablet, or other computing device associated with a user. In other examples, a computing system 120 implements the TTS system 150. The computing system 120 used to train the vocoder model 400 and optionally the prosody model 300 may include a distributed system (e.g., a cloud computing environment).The user device 110 has data processing hardware 112 and memory hardware 114 in communication with the data processing hardware 112 and storing instructions that cause the data processing hardware 112 to perform operations such as executing the prosody and vocoder models 300, 400 to generate vocoder parameters 322, 450 from an input text utterance 320, and driving a parametric vocoder 155 with the vocoder parameters 322, 450 to generate a synthesized speech 152. The synthesized speech 152 may be audibly output by a speaker in communication with the user device 110. For example, the speaker may be present in the user device 110 or may be a separate component in communication with the user device 110 via a wired or wireless connection.
[0032] Because the input text utterance 320 has no way of conveying the context, semantics, and pragmatics to derive the appropriate prosody of the synthesized speech 152, the prosodic model 300 may predict a prosodic representation 322 for the input text utterance 320 by conditioning the model 300 with linguistic prescriptions 402 extracted from the text utterance 320 and using the fixed-length speech embeddings 204 as latent variables representing the intended prosody of the text utterance 320. That is, during inference, the prosodic model 300 may use the selected speech embeddings 204 to predict a prosodic representation 322 for the text utterance 320. The prosodic representation 322 may include the prosodic features of the text utterance 320: predicted pitch, predicted timing, and predicted loudness (e.g., energy). Thus, the terms “prosodic representation” and “prosodic features” may be used interchangeably. The prosodic features 322 predicted by the prosodic model 300 are then provided as input to the vocoder model 400 to predict the remaining vocoder parameters 450 required to drive the parametric vocoder 155. That is, the parametric vocoder 155 cannot generate the synthesized speech 152 for the input text utterance 322 from only the prosodic features 322 predicted by the prosodic model 300, but still requires a number of additional vocoder parameters 450 to generate the synthesized speech 152. The additional vocoder parameters 450 predicted by the vocoder model 400 include the MCEP(c[1-nth]), aperiodic component, and voiced component of each speech unit. As described in more detail below with reference to Figures 2 and 4, the neural network vocoder model 400 is configured to predict a number of fixed-length speech frames 280V0 (e.g., 5 ms frames), each representing a respective portion of the predicted vocoder parameters 450.Finally, the vocoder model 400 is configured to provide the predicted vocoder parameters 450 output from the vocoder model 400 and the prosodic features 322 output from the prosody model 300 to the parametric vocoder 155, which is configured to generate a synthetic speech representation 152 of the text utterance 320 having the intended prosody. The vocoder parameters 450 and the prosodic features 322 may be concatenated into a single output vector to drive the parametric vocoder 155.
[0033] In some implementations, the deep neural network 200 incorporating the vocoder model 400 is trained on a large set of training data 201 stored in the data storage 180 (e.g., memory hardware 124). The training data 201 includes a plurality of reference audio signals 202 and corresponding transcriptions 206. Each reference audio signal 202 may include a mouthed utterance of speech (e.g., human speech recorded by a microphone) having a prosodic representation. Each transcription 206 may include a textual representation of the corresponding reference audio signal 202. For each reference audio signal 204 and corresponding transcription 206 pair, the deep neural network 200 obtains a reference linguistic definition 402R of the corresponding transcription 206 and a reference prosodic feature 322R representing the corresponding prosody of the corresponding reference audio signal 202. Then, the deep neural network 200 trains the vocoder model 400 to generate additional vocoder parameters 450 from the reference linguistic definition 402R and the reference prosodic features 322R as a sequence of fixed-length predicted speech frames providing the MCEP(c[1-nth]), aperiodic components, and voiced components of each frame. The voiced components of each frame (e.g., speech unit) may indicate whether the corresponding frame is voiced or unvoiced. Ground-truth values of the vocoder parameters 450 may be sampled from the reference audio signal 202 as a sequence of fixed-length predicted speech frames. In some examples, the reference prosodic features 322R of pitch, energy, and phoneme duration are sampled from the corresponding reference audio signal 202. In other examples, the reference prosodic features 322R correspond to the prosodic features 322 predicted by a fully trained prosody model 300 that takes as input the reference linguistic specification 402R and the corresponding transcription 206, and uses the utterance embeddings 204 representing the intended prosody. In some implementations (not shown), the prosody model 300 and the vocoder model 400 are jointly trained on the training data 201.Here, the prosody model 300 may be trained to encode speech embeddings 204, each of which represents the prosody of a corresponding reference audio signal 202, and to decode each speech embedding 204 conditional on a reference linguistic definition 402R to predict prosodic features 322. In these implementations, the prosodic features 322 predicted by the prosody model 300 during joint training serve as reference prosodic features 322R that are provided together with the reference linguistic definition 402R as training inputs to the vocoder model 400 for predicting additional vocoder parameters 450R.
[0034] In the illustrated example, the computing system 120 stores the trained prosody and vocoder models 300, 400 in the data storage 180. The user device 110 may retrieve the trained prosody and vocoder models 300, 400 from the data storage 180, or the computing system 120 may push the models 300, 400 to the user device 110 immediately after training and / or retraining either or both of the models 300, 400. The TTS system 150 running on the user device 110 may employ a parametric vocoder 155 configured to receive as input the prosodic features 322 and remaining vocoder parameters 450, and to generate as output a synthetic speech representation 152 of the text utterance 320 having the intended prosody.
[0035] When predicting prosodic features 322 that convey the intended prosody of the text utterance 320, the prosodic model 300 may select speech embeddings 204 for the text utterance 320 that represent the intended prosody. As described in more detail below with reference to Figures 3A and 3B, the prosodic model 300 may use the selected speech embeddings 204 to predict prosodic expressions 322 for the text utterance 320.
[0036] 2 illustrates a hierarchical linguistic structure (e.g., the deep neural network of FIG. 1) 200 for representing a textual utterance 320 to be synthesized that a prosody model 300 (i.e., a Clockwork Hierarchical Variational Autoencoder (CHiVE) or simply "autoencoder") and a vocoder model 400 may each incorporate. The prosody model 300 incorporates the hierarchical linguistic structure 200 to provide a controllable model of prosody to jointly predict, for each syllable of a given input text, the syllable duration (and / or the duration of each phoneme within a syllable) and the syllable's pitch (F0) and energy (C0) contour, without relying on any inherent mapping or other linguistic prescriptions from the given input text to generate a synthesized speech 152 with an intended / selected prosody. With respect to the prosody model 300, the hierarchical linguistic structure 200 is configured to decode (e.g., predict pitch (F0), energy (C0)) a fixed-length speech embedding 204 representing the intended prosody of a given input text into a plurality of fixed-length predicted frames 280. With respect to the vocoder model 400, the hierarchical linguistic structure 200 is configured to predict a plurality of fixed-length speech frames 280, 280V from a linguistic specification 402 of a text utterance 320 and a plurality of fixed-length predicted frames 280F0, 280C0 output from the prosody model 300 as prosodic features 322 representing the intended prosody of the input text. Each fixed-length speech frame 280V may include a respective portion of the remaining vocoder parameters 450 of the MCEP(c[1-nth]), aperiodic component, and voiced component of each speech input (e.g., each frame) predicted by the vocoder model 400.
[0037] The hierarchical language structure 200 represents a text utterance 322 as hierarchical levels of sentences 250, words 240, syllables 230, phonemes 220, and fixed-length frames 280. More specifically, each of the stacked hierarchical levels contains long short-term memory (LSTM) processing cells that are variably clocked to match the length of the hierarchical input data. For example, the syllable level 230 clocks faster than the word level 240 and slower than the phoneme level 220. The rectangular blocks at each level correspond to LSTM processing cells for the respective words, syllables, phonemes, or frames. Advantageously, the hierarchical language structure 200 provides LSTM processing cells at the word level 240 with a memory spanning the last 100 words, LSTM cells at the syllable level 230 with a memory spanning the last 100 syllables, LSTM cells at the phoneme level 220 with a memory spanning the last 100 phonemes, and LSTM cells at the fixed length pitch and / or energy frames 280 with a memory spanning the last 100 fixed length frames 280. When the fixed length frames 280 each include a duration (e.g., frame rate) of 5 milliseconds, the corresponding LSTM processing cells provide a memory spanning the last 500 milliseconds (e.g., ½ second).
[0038] In the illustrated example, the hierarchical linguistic structure 200 represents the text utterance 322 as a sequence of three words 240A-240C at the word level 240, a sequence of five syllables 230Aa-230Cb at the syllable level 230, and a sequence of nine phonemes 220Aa1-220Cb2 at the phoneme level 220 to generate a sequence of predicted fixed-length frames 280 at the frame level 280. In some implementations, a prosody model 300 and / or a vocoder model 400 incorporating the hierarchical linguistic structure 200 receives linguistic feature alignment activations 221, 231, 241 for a linguistic definition 402 of the text utterance 320. For example, before any processing occurs, an unroll broadcaster 270 may provide the linguistic feature alignment activations 221, 231, 241 as inputs to the prosody model 300 and / or the vocoder model 400. For simplicity, each of the prosody model 300 and the vocoder model 400 receives the linguistic feature alignment activations 221, 231, 241. However, only one of the models 300, 400 may receive the alignment activations 221, 231, 241.
[0039] In some examples, the unroll broadcaster 270 broadcasts word level alignment activations 241 to the word level 240 of the hierarchical linguistic structure 200, syllable level alignment activations 231 to the syllable level 230 of the hierarchical linguistic structure 200, and phoneme level alignment activations 221 to the phoneme level 220 of the hierarchical linguistic structure 200. Each word level alignment activation 241 aligns the activation 245 of each word 240 with the syllable level linguistic features 236 of each syllable 230 of the word 240. Each syllable level alignment activation 231 aligns the activation 235 of each syllable 230 with the phoneme level linguistic features 222 of each phoneme 220 of the syllable 230. In these examples, the activation 245 of each word 240 is based on the word level linguistic features 242 and sentence level linguistic features 252 of the corresponding word 240.
[0040] In some implementations, the models 300, 400 use the received linguistic feature alignment activations 221, 231, 241 of the variable-rate stacked hierarchical levels of the hierarchical linguistic structure 200 in a single pass, i.e., as a single time-sequential batch, respectively. Here, the unroll broadcaster 270 may broadcast the alignment activations 221, 231, 241 by converting the difference between the loop start index and the loop end index into a sequence of gather indexes in order to correctly broadcast the corresponding activations 225, 235, 245 between layers / levels of the hierarchical linguistic structure 200. In these implementations, the word level 240 of the hierarchical linguistic structure generates activations 245 for each word 240 of the text utterance 322 in a single first pass, the syllable level 230 of the hierarchical linguistic structure generates activations for each syllable of the text utterance in a single second pass after the first pass, the phoneme level 220 of the hierarchical linguistic structure generates activations for each phoneme of the text utterance in a single third pass after the second pass, and the frame level 280 of the hierarchical linguistic structure generates activations for each fixed-length frame in a single fourth pass after the third pass. For the prosodic model, the frame level 280 may generate activations for a fixed-length pitch frame 280F0 and a fixed-length energy frame 280C0 in a single pass in parallel. These implementations involve a four-pass inference that allows each layer 240, 230, 220, 280 of the hierarchical linguistic structure 200 representing the entire text utterance 320 to be unrolled in a single pass before moving on to the next level in the hierarchy. On the other hand, two-pass inference splits the word level, syllable level, and phoneme level 240, 230, 220 in a first pass by generating a variable number of syllables for each word, which may further generate a variable number of phonemes. Then, a second pass is performed on the output of the phonemes to form the frame level to generate the output frame 280 for the word. This two-pass is repeated for each word in the text utterance 320 associated with the sentence.This division of two-pass inference improves the speed for running the prosody model 300 and the vocoder model 400 on a server (e.g., computing system 120 of FIG. 1) where processing and memory resources are not constrained, while four-pass inference optimizes the processing speed for running the prosody model 300 and the vocoder model 400 on-device (e.g., user device 110 of FIG. 1). That is, two-pass inference has been shown to be thirty percent (30%) faster than four-pass inference when implementing the prosody and vocoder models 300, 400 on-device.
[0041] 3A and 3B, in some implementations, an autoencoder (i.e., prosody model) 300 predicts prosodic representations 322 for a given text utterance 320 during inference by using the hierarchical linguistic structure 200 to jointly predict the duration and pitch and / or energy contours of phonemes 220 for each syllable 230 of the given text utterance 320. Because the text utterance 320 does not provide any context, semantic, or pragmatic information that indicates the appropriate prosody of the text utterance, the autoencoder 300 selects utterance embeddings 206 as latent variables that represent the intended prosody of the text utterance 320.
[0042] The speech embeddings 204 may be selected from a speech embedding data storage 180 (FIG. 1). Each speech embedding 204 in the storage 180 may be encoded from a corresponding variable-length reference audio signal 202 (FIG. 1) during training. In particular, the autoencoder 300 may include an encoder portion (not shown) that compresses the prosody of the variable-length reference audio signal 202 into a fixed-length speech embedding 204 during training and stores each speech embedding 204 together with a transcription 206 of the corresponding reference audio signal 202 in the data storage 180 for use during inference. In the illustrated example, the autoencoder 300 may first find a speech embedding 204 with a transcription 206 that closely matches a text utterance 320, and then select one of the speech embeddings 204 to predict a prosodic representation 322 (FIG. 1) for a given text utterance 320. In some examples, the fixed-length speech embeddings 204 are selected by picking specific points in the latent space of embeddings 204 that are likely to represent the particular semantics and pragmatics of the target prosody. In other examples, the latent space is sampled to select random speech embeddings 204 to represent the intended prosody of the text utterance 320. In yet another example, the autoencoder 300 models the latent space as a multidimensional unit Gaussian by selecting the average of the speech embeddings 204 with closely matching transcriptions 206 to represent the most likely prosody for the linguistic convention 402 associated with the text utterance 320. The last example of selecting the average of the speech embeddings 204 is a reasonable choice if the prosodic variation in the training data is reasonably neutral. In some additional examples, the user of the user device 110 selects the intended prosody, such as a particular prosodic domain (e.g., newsreader, speaker, sports broadcaster), using an interface executable on the user device 110. Based on the intended prosody selected by the user, the autoencoder 300 may select the most suitable speech embeddings 204.
[0043] 3A shows a text utterance 320 having three words 240A, 240B, 240C represented at the word level 240 of the hierarchical linguistic structure 200. The first word 240A contains syllables 230Aa, 230Ab, the second word 240B contains one syllable 230Ba, and the third word 240C contains syllables 230Ca, 230Cb. Thus, the syllable level 230 of the hierarchical linguistic structure 200 contains the sequence of five syllables 230Aa-230Cb of the text utterance 320. At the syllable level 230 of the LTSM processing cell, the autoencoder 300 is configured to generate / output corresponding syllable embeddings (e.g., syllable-level activations 235) 235Aa, 235Ab, 235Ba, 235Ca, 235Cb for each syllable 230 from the following inputs: fixed-length utterance embeddings 204, sentence-level linguistic features 252 associated with the text utterance 320, word-level linguistic features 242 associated with the words 240 that contain the syllable 230 (which may correspond to wordpiece embeddings generated by the BERT model 270), and syllable-level linguistic features 236 of the syllable 230. The sentence-level linguistic features 252 may include, without limitation, whether the text utterance 320 is a question, an answer to a question, a phrase, a sentence, the gender of the speaker, etc. The word-level linguistic features 242 may include, without limitation, whether the word is a noun, an adjective, a verb, or other part of speech. Syllable-level linguistic features 236 may include, without limitation, whether the syllable 230 is stressed or unstressed.
[0044] In the illustrated example, each syllable 230Aa, 230Ab, 230Ba, 230Ca, 230Cb at the syllable level 230 may be associated with a corresponding LTSM processing cell that outputs a corresponding syllable embedding 235Aa, 235Ab, 235Ba, 235Ca, 235Cb to the phoneme level 220, which clocks faster to decode individual fixed-length predicted pitch (F0) frames 280, 280F0 (FIG. 3A) and in parallel to decode individual fixed-length predicted energy (C0) frames 280, 280C0 (FIG. 3B). FIG. 3A shows that each syllable at the syllable level 230 includes multiple fixed-length predicted pitch (F0) frames 280F0 that indicate the duration (timing and pauses) and pitch contour of the syllable 230. Here, the duration and pitch contour correspond to the prosodic representation of the syllable 230. FIG. 3B shows that each phoneme at the phoneme level 220 includes multiple fixed-length predicted energy (C0) frames 280C0 that indicate the duration and energy contour of the phoneme.
[0045] The first syllable 230Aa (i.e., LTSM processing cell Aa) of the syllable level 230 receives the fixed length utterance embedding 204, the sentence level linguistic features 252 associated with the text utterance 320, the word level linguistic features 242A associated with the first word 240A, and the syllable level linguistic features 236Aa of the syllable 236Aa as inputs for generating a corresponding syllable embedding 235Aa. The second syllable 230Ab of the syllable level 230 receives the fixed length utterance embedding 204, the sentence level linguistic features 252 associated with the text utterance 320, the word level linguistic features 242A associated with the first word 240A, and the corresponding syllable level linguistic features 236 (not shown) of the syllable 230Ab as inputs for generating a corresponding syllable embedding 235Ab. The example shows only the syllable-level linguistic features 232 associated with the first syllable 230Aa, while the corresponding syllable-level linguistic features 232 associated with each of the other syllables 230Ab-230Cb at the syllable level 230 have been omitted from the diagrams of Figures 3A and 3B for clarity only.
[0046] For simplicity, the corresponding syllable-level linguistic features 236 input to the processing block for syllable 230Ab are not shown. The LTSM processing cell (e.g., rectangle Ab) associated with the second syllable 230Ab also receives the state of the previous first syllable 230Aa. The remaining sequence of syllables 230Ba, 230Ca, 230Cb at the syllable level 230 similarly generates corresponding syllable embeddings 235Ba, 235Ca, 235Cb, respectively. For simplicity, the corresponding syllable-level linguistic features 236 input to the processing block for each of syllables 230Ba, 230Ca, 230Cb are not shown. Furthermore, each LTSM processing cell at the syllable level 230 receives the state of the previous LTSM processing cell at the syllable level 230.
[0047] 3A, the phoneme level 220 of the hierarchical linguistic structure 200 includes a sequence of nine phonemes 220Aa1-220Cb2, each associated with a corresponding predicted phoneme duration 234. Furthermore, the autoencoder 300 encodes phoneme-level linguistic features 222 associated with each phoneme 220Aa1-220Cb2 together with a corresponding syllable embedding 235 for predicting the corresponding predicted phoneme duration 234 and for predicting the corresponding pitch (f0) contour of a syllable that includes the phoneme. The phoneme-level linguistic features 222 may include, without limitation, the phonetic identity of the corresponding phoneme 220 and / or the position of the corresponding phoneme 220 within a syllable that includes the phoneme. The example shows only the phoneme-level linguistic features 222 associated with the first phoneme 220Aa1, while the phoneme-level linguistic features 222 associated with the other phonemes 220Aa2-220Cb2 at the phoneme level 220 have been omitted from the illustrations of Figures 3A and 3B for clarity.
[0048] The first syllable 230Aa includes phonemes 220Aa1, 220Aa2 and a predicted syllable duration equal to the sum of the predicted phoneme durations 234 of the phonemes 220Aa1, 220Aa2, where the predicted syllable duration of the first syllable 230Aa determines the number of fixed-length predicted pitch (F0) frames 280F0 to decode for the first syllable 230Aa. In the illustrated example, the autoencoder 300 decodes a total of seven fixed-length predicted pitch (F0) frames 280F0 for the first syllable 230Aa based on the sum of the predicted phoneme durations 234 of the phonemes 220Aa1, 220Aa2. Thus, the faster clocked syllable layer 230 distributes the first syllable embedding 235Aa as an input to each phoneme 220Aa1, 220Aa2 contained in the first syllable 230Aa. A timing signal may be added to the first syllable embedding 235Aa. The syllable level 230 also passes the state of the first syllable 230Aa to the second syllable 230Ab.
[0049] The second syllable 230Ab contains a single phoneme 220Ab1 and therefore a predicted syllable duration equal to the predicted phoneme duration 234 of the phoneme 220Ab1. Based on the predicted syllable duration of the second syllable 230Ab, the autoencoder 300 decodes a total of four fixed-length predicted pitch (F0) frames 280F0 for the second syllable 230Ab. Thus, the faster-clocking syllable layer 230 distributes the second syllable embedding 235Ab as input to the phoneme 220Ab1. A timing signal may be added to the second syllable embedding 235Ab. The syllable level 230 also passes the state of the second syllable 230Ab to the third syllable 230Ba.
[0050] The third syllable 230Ba includes phonemes 220Ba1, 220Ba2, 220Ba3 and includes a predicted syllable duration equal to the sum of the predicted phoneme durations 234 of the phonemes 220Ba1, 220Ba2, 220Ba3. In the illustrated example, the autoencoder 300 decodes a total of eleven fixed-length predicted pitch (F0) frames 280F0 for the third syllable 230Ba based on the sum of the predicted phoneme durations 234 of the phonemes 220Ba1, 220Ba2, 220Ba3. Thus, the faster-clocked syllable layer 230 distributes the third syllable embedding 235Ba as an input to each phoneme 220Ba1, 220Ba2, 220Ba3 included in the third syllable 230Ba. A timing signal may be added to the third syllable embedding 235Ba. The syllable level 230 also passes the state of the third syllable 230Ba to the fourth syllable 230Ca.
[0051] The fourth syllable 230Ca includes a single phoneme 220Ca1 and therefore includes a predicted syllable duration equal to the predicted phoneme duration 234 of the phoneme 220Ca1. Based on the predicted syllable duration of the fourth syllable 230Ca, the autoencoder 300 decodes a total of three fixed-length predicted pitch (F0) frames 280F0 for the fourth syllable 230Ca. Thus, the faster-clocking syllable layer 230 distributes the fourth syllable embedding 235Ca as an input to the phoneme 220Ca1. A timing signal may be added to the fourth syllable embedding 235Ca. The syllable level 230 also passes the state of the fourth syllable 230Ca to the fifth syllable 230Cb.
[0052] Finally, the fifth syllable 230Cb includes the phonemes 220Cb1, 220Cb2 and includes a predicted syllable duration equal to the sum of the predicted phoneme durations 234 of the phonemes 220Cb1, 220Cb2. In the illustrated example, the autoencoder 300 decodes a total of six fixed-length predicted pitch (F0) frames 280F0 for the fifth syllable 230Cb based on the sum of the predicted phoneme durations 234 of the phonemes 220Cb1, 220Cb2. Thus, the faster-clocked syllable layer 230 distributes the fifth syllable embedding 235Cb as an input to each phoneme 220Cb1, 220Cb2 included in the fifth syllable 230Cb. A timing signal may be added to the fifth syllable embedding 235Cb.
[0053] 3A , the autoencoder 300 similarly decodes each of the remaining syllable embeddings 235Ab, 235Ba, 235Ca, 235Cb output from the syllable level 230 into individual fixed-length predicted pitch (F0) frames 280 for the respective corresponding syllables 230Ab, 230Ba, 230Ca, 230Cb. For example, the second syllable embedding 235Ab is further combined at the output of the phoneme level 220 with an encoding of the second syllable embedding 235Ab and the corresponding phoneme-level linguistic features 222 associated with the phoneme 220Ab1, while the third syllable embedding 235Ba is further combined at the output of the phoneme level 220 with an encoding of the third syllable embedding 235Ba and the corresponding phoneme-level linguistic features 222 associated with each of the phonemes 220Ba1, 220Ba2, 220Ba3. Additionally, the fourth syllable embedding 235Ca is further combined with the encoding of the corresponding phoneme-level linguistic features 222 associated with the fourth syllable embedding 235Ca and the phoneme 220Ca1 at the output of the phoneme level 220, while the fifth syllable embedding 235Cb is further combined with the encoding of the corresponding phoneme-level linguistic features 222 associated with each of the phonemes 220Cb1, 220Cb2 at the output of the phoneme level 220. Although the fixed-length predicted pitch (F0) frame 280F0 generated by the autoencoder 300 includes a frame-level LSTM, other configurations may replace the frame-level LSTM of the pitch (F0) frame 280F0 by a feed-forward layer such that the pitch (F0) of every frame of the corresponding syllable is predicted in one pass.
[0054] 3B, the autoencoder 300 is further configured to encode the phoneme-level linguistic features 222 associated with each phoneme 220Aa1-220Cb2 together with the corresponding syllable embedding 235 to predict the corresponding energy (C0) contour of each phoneme 220. The phoneme-level linguistic features 222 associated with the phonemes 220Aa2-220Cb2 of the phoneme level 220 are merely omitted from the diagram of FIG. 3B for clarity. The autoencoder 300 determines the number of fixed-length predicted energy (C0) frames 280, 280C0 to decode for each phoneme 220 based on the corresponding predicted phoneme duration 234. For example, the autoencoder 300 may generate four predicted energy (C0) frames 280C0 for the first phoneme 220Aa1, three predicted energy (C0) frames 280C0 for the second phoneme 220Aa2, four predicted energy (C0) frames 280C0 for the third phoneme 220Ab1, two predicted energy (C0) frames 280C0 for the fourth phoneme 220Ba1, and five predicted energy (C0) frames 280C0 for the fifth phoneme 220Ba2. 2, four predicted energy (C0) frames 280C0 for the sixth phoneme 220Ba3, three predicted energy (C0) frames 280C0 for the seventh phoneme 220Ca1, four predicted energy (C0) frames 280C0 for the eighth phoneme 220Cb1, and two predicted energy (C0) frames 280C0 for the ninth phoneme 220Cb2. Thus, the predicted energy contour of each phoneme at the phoneme level 220, as well as the predicted phoneme duration 234, is based on the encoding between the syllable embedding 235 input from the corresponding syllable at the slower clocking syllable level 230 that contains the phoneme, and the linguistic features 222 associated with the phoneme.
[0055] 4 illustrates an exemplary neural network vocoder model 400 that may be incorporated into the TTS system 150 of FIG. 1. The vocoder model 400 receives as input the prosodic features 322 output from the prosodic model 300, which represent the intended prosodic model for the text utterance 320, and a linguistic specification 402 of the text utterance 320. The prosodic features 322 output from the prosodic model may include the duration, pitch contour f0_log, energy contour c0, and duration of each phoneme in the text utterance. The pitch contour f0_log may be represented by a sequence of fixed-length predicted pitch frames 280F0 of FIG. 3A, and the energy contour c0 may be represented by a sequence of fixed-length predicted energy frames 280C0 of FIG. 3B. The linguistic definition 402 includes sentence-level linguistic features 252 of the text utterance 320, word-level linguistic features 242 of each word 240 of the text utterance 320, syllable-level linguistic features 236 of each syllable 230 of the text utterance 320, and phoneme-level linguistic features 222 of each phoneme 220 of the text utterance 320. In the illustrated example, a fully connected layer 410 receives the linguistic definition 402 and generates a fully connected output that is input to a gatherer 412. The linguistic definition 402 may be normalized before input to the fully connected layer 410. At the same time, an unroll broadcaster 270 receives the prosodic features 322 output from the prosodic model 300 and generates and provides to the gatherer 412 linguistic feature alignment activations 221, 231, 241 for the linguistic definition 402. In Gatherer, word-level alignment activations 241 align the activations 245 (FIG. 2) of each word 240 (FIG. 2) with the syllable-level linguistic features 236 (FIG. 2) of each syllable 230 (FIG. 2) of the word 240, syllable-level alignment activations 231 align the activations 235 (FIG. 2) of each syllable with the phoneme-level linguistic features 222 (FIG. 2) of each phoneme 220 (FIG. 2) of the syllable, and phoneme-level alignment activations 221 align the activations 225 (FIG. 2) of each phoneme 220 with the corresponding fixed-length frame 280 (FIG. 2) of the phoneme 220.
[0056] The output from the gatherer 412, which conveys the linguistic feature alignment activations 221, 231, 241 with respect to the linguistic prescription 402, is input to a concatenator 414 for concatenation with the prosodic features 322 output from the prosodic model. The prosodic features 322 may be normalized prior to concatenation with the output from the gatherer 412 in the concatenator 414. The concatenated output from the concatenator 414 is input to a first LSTM layer 420 of the vocoder model 400, and the output of the first LSTM layer 420 is input to a second LSTM layer 430 of the vocoder model 400. The output of the second LSTM layer 430 is then input to a recurrent neural network (RNN) layer 440 of the vocoder model 400, where a splitter 445 splits the output of the RNN layer 440 into predicted additional vocoder parameters 450. As described above with reference to FIG. 1, the additional vocoder parameters 450 split by the splitter 445 include the MCEP(c[1-nth]), aperiodic components, and voiced components of each speech unit, e.g., fixed-length speech frame 280V0. The neural network vocoder model 400 is configured to predict multiple fixed-length speech frames 280V0 (e.g., 5 ms frames), each representing a respective portion of the predicted vocoder parameters 450. Together, the prosodic features 322 predicted by the prosodic model 300 and the additional vocoder parameters 450 provide all the vocoder parameters required to drive the parametric vocoder 155 to generate the synthetic speech representation 152 of the text utterance 320 with the intended prosody. Thus, after splitting out the additional vocoder parameters 450, the vocoder model 400 inserts the prosodic features 322 of pitch f0 and energy c0 into the appropriate speech units to enable a concatenator 455 to concatenate the prosodic features 322 and the additional vocoder parameters 450 into a final vocoder vector 460 for each of the multiple fixed-length speech frames 280V0 for driving the parametric vocoder 155. Before concatenation, the additional vocoder parameters 450 may be de-normalized.
[0057] 5 is an exemplary process 500 for training the vocoder model 400. The process 500 may be described with reference to FIG. 1 and FIG. 5. As an example, the vocoder model 400 may be trained to learn to predict additional vocoder parameters 450 (e.g., MCEP(c[1-nth]), aperiodic components, and voiced components) for one input text (e.g., the reference transcription 206 of the reference audio signal 202) using the reference prosodic features 322R (e.g., pitch F0, energy C0, and phoneme duration) and the reference linguistic definition 402R as inputs. The vocoder parameters 450 may be represented as a sequence of fixed-length predicted speech frames 280V0, each providing the MCEP, aperiodic components, and voiced components for a respective portion of the transcription 206.
[0058] The process 500 executes a loss module 510 configured to generate a gradient / loss 520 between the predicted additional vocoder parameters 450 output by the vocoder model 400 and reference speech frames 502 sampled from a reference audio signal 202 (e.g., an utterance) associated with the transcription 206. The reference speech frames 502 sampled from the reference audio signal 202 may include fixed-length reference speech frames (e.g., 5 ms) each providing reference (e.g., ground truth) vocoder parameters sampled from a respective portion of the reference audio signal. Thus, the loss module 510 may generate a gradient / loss between a sequence of fixed-length predicted speech frames 280V0 (representing the predicted additional vocoder parameters 450) generated by the vocoder model 400 and a sequence of fixed-length reference speech frames 502 (representing the reference / ground truth vocoder parameters 450) sampled from a corresponding reference audio signal 202. Here, the gradient / loss 520 may be backpropagated through the vocoder model 400 to update the parameters until the vocoder model 400 is fully trained.
[0059] FIG. 6 is a flow diagram of an exemplary sequence of operations of a method 600 of using prosodic features 322 to predict additional vocoder parameters 450 for a text utterance 320. The additional vocoder parameters 450 and the prosodic features 322 constitute all required vocoder parameters for driving a parametric vocoder 155 to generate a synthetic speech representation 152 of the text utterance 320, having the intended prosody conveyed by the prosodic features 322. The method 600 may be described with reference to FIGS. 1-4. The memory hardware 114 present on the user device 110 may store instructions that cause the data processing hardware 112 present on the user device 110 to perform an exemplary sequence of operations of the method 600. At operation 602, the method 600 includes receiving a text utterance 320. The text utterance 320 has at least one word, each word having at least one syllable, and each syllable having at least one phoneme.
[0060] At operation 604, the method 600 includes receiving as input to the vocoder model 400 the prosodic features 322 output from the prosody model 300 and a linguistic definition 402 of the text utterance 320. The prosodic features 322 represent the intended prosody of the text utterance 320 and include the duration, pitch contour, and energy contour of the text utterance 320. The linguistic definition 402 includes sentence-level linguistic features 252 of the text utterance 320, word-level linguistic features 242 of each word 240 of the text utterance 320, syllable-level linguistic features 236 of each syllable 230 of the text utterance 320, and phoneme-level linguistic features 222 of each phoneme 220 of the text utterance 320.
[0061] At operation 606, the method 600 includes predicting (additional) vocoder parameters 450 based on the prosodic features 322 and the linguistic definitions 402 as output from the vocoder model 400. At operation 608, the method 600 includes providing the predicted vocoder parameters 450 output from the vocoder model 400 and the prosodic features 322 output from the prosodic model 300 to a parametric vocoder 155. The parametric vocoder 155 is configured to generate a synthetic speech representation 152 of the text utterance 320 having the intended prosody. In other words, the additional vocoder parameters 450 and the prosodic features 322 are configured to drive the parametric vocoder 155 to generate the synthetic speech representation 152. As described with reference to the vocoder model 400 of FIG. 4, the prosodic features 322 output from the prosodic model 300 and additional vocoder parameters 450 may be concatenated into a vocoder vector 460 for each speech unit (e.g., each of a plurality of fixed-length speech frames 280V0) to drive the parametric vocoder 155.
[0062] The text-to-speech (TTS) system 150 may incorporate a prosody model 300, a vocoder model 400, and a parametric vocoder 155. The TTS system 150 may reside on the user device 110, i.e., by executing on the data processing hardware 112 of the user device. In some configurations, the TTS system 150 may reside on a computing system (e.g., a server) 120, i.e., by executing on the data processing hardware 122. In some examples, some parts of the TTS system 150 execute on the computing system 120 and the remaining parts of the TTS system 150 execute on the user device 110. For example, at least one of the prosody model 300 or the vocoder model 400 may execute on the computing system 120, while the parametric vocoder 155 may execute on the user device.
[0063] 7 is a schematic diagram of an exemplary computing device 700 that may be used to implement the systems and methods described herein. The computing device 700 is intended to represent various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other suitable computers. The components shown herein, their connections and relationships, and their functionality are intended to be merely exemplary and are not intended to limit the implementation of the invention described and / or claimed herein.
[0064] Computing device 700 includes a processor 710, a memory 720, a storage device 730, a high-speed interface / controller 740 that connects to memory 720 and a high-speed expansion port 750, and a low-speed interface / controller 760 that connects to a low-speed bus 770 and storage device 730. Each of components 710, 720, 730, 740, 750, and 760 are interconnected using various buses and may be mounted on a common motherboard or otherwise as appropriate. Processor 710 can process instructions for execution within computing device 700, including instructions stored in memory 720 or on storage device 730, to display graphical information for a graphical user interface (GUI) on an external input / output device, such as a display 780 coupled to high-speed interface 740. In other implementations, multiple processors and / or multiple buses may be used, along with multiple memories and multiple types of memories, as appropriate. Also, multiple computing devices 700 may be connected together (eg, as a server bank, a collection of blade servers, or a multi-processor system) with each device providing a portion of the required operations.
[0065] The memory 720 stores information non-transiently within the computing device 700. The memory 720 may be a computer-readable medium, a volatile memory unit, or a non-volatile memory unit. The non-transient memory 720 may be a physical device used to temporarily or permanently store programs (e.g., sequences of instructions) or data (e.g., program state information) for use by the computing device 700. Examples of non-volatile memory include, but are not limited to, flash memory and read-only memory (ROM) / programmable read-only memory (PROM) / erasable programmable read-only memory (EPROM) / electronically erasable programmable read-only memory (EEPROM) (e.g., typically used for firmware such as boot programs). Examples of volatile memory include, but are not limited to, random access memory (RAM), dynamic random access memory (DRAM), static random access memory (SRAM), phase change memory (PCM), and disk or tape.
[0066] The storage device 730 can provide mass storage for the computing device 700. In some implementations, the storage device 730 is a computer-readable medium. In various different implementations, the storage device 730 can be a floppy disk device, a hard disk device, an optical disk device, or an array of devices including a tape device, a flash memory or other similar solid-state memory device, or a device in a storage area network or other configuration. In additional implementations, a computer program product is tangibly embodied in an information carrier. The computer program product includes instructions that, when executed, perform one or more methods, such as the methods described above. The information carrier is a computer-readable or machine-readable medium, such as the memory 720, the storage device 730, or a memory on the processor 710.
[0067] The high-speed controller 740 manages bandwidth-intensive operations for the computing device 700, while the low-speed controller 760 manages less bandwidth-intensive operations. Such assignment of roles is merely exemplary. In some implementations, the high-speed controller 740 is coupled to the memory 720, to the display 780 (e.g., through a graphics processor or accelerator), and to a high-speed expansion port 750 that may accept various expansion cards (not shown). In some implementations, the low-speed controller 760 is coupled to the storage device 730 and to a low-speed expansion port 790. The low-speed expansion port 790, which may include various communication ports (e.g., USB, Bluetooth, Ethernet, wireless Ethernet), may be coupled to one or more input / output devices, such as a keyboard, pointing device, scanner, or may be coupled to a network device, such as a switch or router, for example, via a network adapter.
[0068] Computing device 700 may be implemented in many different forms, as shown in the figure: For example, computing device 700 may be implemented as a standard server 700a, or multiple times within a group of such servers 700a, as a laptop computer 700b, or as part of a rack server system 700c.
[0069] Various implementations of the systems and techniques described herein may be realized in digital electronic and / or optical circuitry, integrated circuits, specially designed ASICs (application specific integrated circuits), computer hardware, firmware, software, and / or combinations thereof. These various implementations may include implementation in one or more computer programs executable and / or interpretable on a programmable system that includes at least one programmable processor, which may be special purpose or general purpose, coupled to receive data and instructions from and transmit data and instructions to a storage system, at least one input device, and at least one output device.
[0070] These computer programs (also known as programs, software, software applications, or codes) contain machine instructions for a programmable processor and may be implemented in high-level procedural and / or object-oriented programming languages, and / or assembly / machine languages. As used herein, the terms "machine-readable medium" and "computer-readable medium" refer to any computer program product, non-transitory computer-readable medium, apparatus, and / or device (e.g., magnetic disk, optical disk, memory, programmable logic device (PLD)) used to provide machine instructions and / or data to a programmable processor, including machine-readable media that receive machine instructions as machine-readable signals. The term "machine-readable signal" refers to any signal used to provide machine instructions and / or data to a programmable processor.
[0071] The processes and logic flows described herein may be executed by one or more programmable processors, also referred to as data processing hardware, executing one or more computer programs to perform functions by performing operations on input data and generating output. The processes and logic flows may also be executed by dedicated logic circuits, such as FPGAs (field programmable gate arrays) or ASICs (application-specific integrated circuits). Processors suitable for executing computer programs include, by way of example, both general-purpose and dedicated microprocessors, and any one or more processors of any type of digital computer. Generally, a processor receives instructions and data from a read-only memory, or a random access memory, or both. The essential elements of a computer are a processor for executing instructions, and one or more memory devices for storing instructions and data. Generally, a computer also includes one or more mass storage devices, such as magnetic disks, magneto-optical disks, or optical disks, for storing data, or is operatively coupled to receive data from or transfer data to the mass storage devices, or both. However, a computer may not have such devices. Computer-readable media suitable for storing computer program instructions and data include all forms of non-volatile memory, media, and memory devices, including, by way of example, semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices, magnetic disks, e.g., internal hard disks or removable disks, magneto-optical disks, and CD ROM and DVD-ROM disks. The processor and memory may be supplemented by, or incorporated in, dedicated logic circuitry.
[0072] To provide interaction with a user, one or more aspects of the present disclosure may be implemented on a computer having a display device, e.g., a CRT (cathode ray tube), LCD (liquid crystal display) monitor, or touch screen, for displaying information to the user, and optionally a keyboard and pointing device, e.g., a mouse or trackball, by which the user can provide input to the computer. Other types of devices may also be used to provide interaction with a user, e.g., feedback provided to the user may be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback, and input from the user may be received in any form, including acoustic, speech, or tactile input. In addition, the computer may interact with the user by sending documents to and receiving documents from a device used by the user, e.g., by sending a web page to a web browser on the user's client device in response to a request received from the web browser.
[0073] Several implementations have been described. However, it will be understood that various modifications may be made without departing from the spirit and scope of the disclosure. Accordingly, other implementations are within the scope of the following claims. [Explanation of symbols]
[0074] 100 Systems 110 User Devices 112 Data Processing Hardware 114 Memory Hardware 120 Computing Systems 122 Data Processing Hardware 124 Memory Hardware 150 Text-to-Speech (TTS) Systems 152 Synthesized Speech 155 Parametric Vocoder 180 Data Storage 200 Deep Neural Networks 201 Training Data 202 Reference Audio Signal 204 Utterance Embeddings 206 Transcription 220 phonemes, phoneme level 220Aa1~220Cb2 Phoneme 221 Linguistic feature alignment activation, phoneme-level alignment activation 222 Linguistic features at the phoneme level 230 syllables, syllable level 230Aa~230Cb syllables 231 Linguistic feature alignment activation, syllable-level alignment activation 232 Linguistic features at the syllable level 234 Predicted phoneme duration 235 Activation of each syllable 235Aa~235Cb Syllable embedding 236 Linguistic features at the syllable level 236Aa Linguistic features at the syllable level 240 words, word level 240A First Word 240B Second Word 240C Third Word 241 Linguistic feature alignment activation, word-level alignment activation 242 Word-level linguistic features 242A Word-level linguistic features 245 Activation of each word 250 sentences 252 Sentence-level linguistic features 270 Unroll Broadcaster, BERT model 280 Fixed length frames, Fixed length predicted frames, Fixed length speech frames, Fixed length pitch frames, Fixed length predicted pitch (F0) frames, Fixed length energy frames, Fixed length predicted energy (C0) frames, Frame levels, Output frames 280C0 Fixed-length predicted frame, fixed-length energy frame, fixed-length predicted energy (C0) frame 280F0 Fixed-length predicted frame, fixed-length pitch frame, fixed-length predicted pitch (F0) frame 280V fixed length speech frame 280V0 Fixed-length speech frames, fixed-length predicted speech frames 300 Prosody Model, Autoencoder 320 Text to speech 322 Vocoder parameters, prosodic representation, prosodic features, text utterances 322R Prosodic features of reference 400 Vocoder Models 402 Linguistic provisions Linguistic Provisions of References to 402R 410 Fully connected layer 412 Gatherer 414 Coupler 420 First LSTM layer 430 Second LSTM layer 440 Recurrent Neural Network (RNN) Layers 445 Splitter 450 Vocoder Parameters 455 Coupler 500 processes 502 Reference speech frame, predicted fixed length speech frame, fixed length reference speech frame 510 Loss Module 520 gradient / loss 600 ways 700 computing devices 700a Server 700b Laptop Computer 700c Rack Server System 710 Processor 720 Memory, Non-transient Memory 730 Storage Devices 740 High Speed Interface / Controller 750 High Speed Expansion Port 760 Low Speed Interface / Controller 770 Slow Bus 780 Display 790 Low Speed Expansion Port
Claims
1. When executed on data processing hardware, the data processing hardware An operation of receiving training data including a plurality of reference audio signals and corresponding transcriptions, each reference audio signal including spoken utterances of speech having corresponding prosody, and each transcription including a text representation of the corresponding reference audio signal; For each reference audio signal and corresponding transcription pair, obtaining a reference linguistic definition of the corresponding transcription and a reference prosodic feature representing the corresponding prosody of the corresponding reference audio signal; training a vocoder model using a deep neural network to generate a sequence of predicted fixed-length speech frames providing mel-cepstral coefficients, aperiodic components, and voicing components from a linguistic definition of the reference and prosodic features of the reference; A computer-implemented method for performing the operations comprising:
2. The operation of training the vocoder model comprises, for each reference audio signal: sampling from said corresponding reference audio signal a sequence of fixed length reference speech frames providing reference mel-cepstral coefficients, a reference aperiodic component and a reference voiced component of said reference audio signal; generating a gradient / loss between the sequence of predicted fixed length speech frames generated by the vocoder model and the sequence of fixed length reference speech frames sampled from the corresponding reference audio signal; backpropagating the gradient / loss through the vocoder model; The method of claim 1 further comprising:
3. The operation comprises:
1. An operation of receiving a text utterance having one or more words, each word having one or more syllables, each syllable having one or more phonemes; As input to the trained vocoder model, prosodic features output from a prosodic model representing the intended prosody of the text utterance, the prosodic features including duration, pitch contour, and energy contour of the text utterance; and a linguistic definition of the text utterance, the linguistic definition including sentence-level linguistic features of the text utterance, word-level linguistic features of each word of the text utterance, syllable-level linguistic features of each syllable of the text utterance, and phoneme-level linguistic features of each phoneme of the text utterance. The action of receiving predicting vocoder parameters based on the prosodic features output from the prosodic model and the linguistic definition of the text utterance as output from the trained vocoder model; and providing the predicted vocoder parameters output from the trained vocoder model and the prosodic features output from the prosody model to a parametric vocoder, the parametric vocoder configured to generate a synthetic speech representation of the text utterance having the intended prosody. The method of claim 1, further comprising:
4. The operation, further comprising the operation of receiving, as an input to the vocoder model, linguistic feature alignment activations for the linguistic definition of the text utterance; The method of claim 3 , wherein the operation of predicting vocoder parameters is further based on the linguistic feature alignment activations with respect to the linguistic definition of the text utterance.
5. The linguistic feature alignment activation comprises: word-level aligned activations, each aligning activations of each word with the syllable-level linguistic features of each syllable of the word; syllable-level aligned activations, each aligning the activations of each syllable with the phoneme-level linguistic features of each phoneme of the syllable; 5. The method of claim 4, comprising:
6. The method of claim 5 , wherein the activation of each word is based on the word-level linguistic features of a corresponding word and the sentence-level linguistic features of the text utterance.
7. 4. The method of claim 3, wherein the word-level linguistic features include word piece embeddings obtained from a sequence of word piece embeddings generated by a Bidirectional Encoder Representations from Transformer (BERT) model from the text utterance.
8. The operation, an operation of selecting a speech embedding for the text utterance, the speech embedding representing the intended prosody; and Using the selected utterance embeddings, for each syllable, using the prosodic model to predict the duration of the syllable by encoding the phoneme-level linguistic features of each phoneme in the syllable together with the corresponding prosodic syllable embedding of the syllable; predicting a pitch of the syllable based on a predicted duration for the syllable; generating a plurality of predicted fixed length pitch frames based on the predicted duration for the syllable, each fixed length pitch frame representing a predicted pitch of the syllable; Further comprising: The method of claim 3 , wherein the prosodic features received as input to the vocoder model include the plurality of predicted fixed-length pitch frames generated for each syllable of the text utterance.
9. the operation comprising: for each syllable, using the selected utterance embeddings: predicting an energy level of each phoneme within the syllable based on the predicted duration for the syllable; generating, for each phoneme in the syllable, a plurality of predicted fixed length energy frames based on the predicted duration for the syllable, each predicted fixed length energy frame representing the predicted energy level of a corresponding phoneme; Further comprising:
9. The method of claim 8, wherein the prosodic features received as input to the vocoder model further comprise the plurality of predicted fixed-length energy frames generated for each phoneme within each syllable of the text utterance.
10. The method described in claim 1, wherein the linguistic definition of the reference to the corresponding transcription includes sentence-level linguistic features of the text utterance, word-level linguistic features of each word of the text utterance, syllable-level linguistic features of each syllable of the text utterance, and phoneme-level linguistic features of each phoneme of the text utterance.
11. Data processing hardware; memory hardware in communication with the data processing hardware, the memory hardware, when executed on the data processing hardware, causing the data processing hardware to: An operation of receiving training data including a plurality of reference audio signals and corresponding transcriptions, each reference audio signal including spoken utterances of speech having corresponding prosody, and each transcription including a text representation of the corresponding reference audio signal; For each reference audio signal and corresponding transcription pair, obtaining a reference linguistic definition of the corresponding transcription and a reference prosodic feature representing the corresponding prosody of the corresponding reference audio signal; training a vocoder model using a deep neural network to generate a sequence of predicted fixed-length speech frames providing mel-cepstral coefficients, aperiodic components, and voicing components from a linguistic definition of the reference and prosodic features of the reference; and a memory hardware for storing instructions for performing operations including: A system including:
12. The method of claim 1, wherein the operation of training the vocoder model comprises, for each reference audio signal: sampling from said corresponding reference audio signal a sequence of fixed length reference speech frames providing reference mel-cepstral coefficients, a reference aperiodic component and a reference voiced component of said reference audio signal; generating a gradient / loss between the sequence of predicted fixed length speech frames generated by the vocoder model and the sequence of fixed length reference speech frames sampled from the corresponding reference audio signal; backpropagating the gradient / loss through the vocoder model; The system of claim 11 further comprising:
13. The operation comprises:
1. An operation of receiving a text utterance having one or more words, each word having one or more syllables, each syllable having one or more phonemes; As input to the trained vocoder model, prosodic features output from a prosodic model representing the intended prosody of the text utterance, the prosodic features including duration, pitch contour, and energy contour of the text utterance; and a linguistic definition of the text utterance, the linguistic definition including sentence-level linguistic features of the text utterance, word-level linguistic features of each word of the text utterance, syllable-level linguistic features of each syllable of the text utterance, and phoneme-level linguistic features of each phoneme of the text utterance. The action of receiving predicting vocoder parameters based on the prosodic features output from the prosodic model and the linguistic definition of the text utterance as output from the trained vocoder model; and providing the predicted vocoder parameters output from the trained vocoder model and the prosodic features output from the prosody model to a parametric vocoder, the parametric vocoder configured to generate a synthetic speech representation of the text utterance having the intended prosody. The system of claim 11 further comprising:
14. The operation further comprising the operation of receiving, as an input to the vocoder model, linguistic feature alignment activations for the linguistic definition of the text utterance; 14. The system of claim 13, wherein the operation of predicting the vocoder parameters is further based on the linguistic feature alignment activations with respect to the linguistic definition of the text utterance.
15. The linguistic feature alignment activation comprises: word-level aligned activations, each aligning activations of each word with the syllable-level linguistic features of each syllable of the word; syllable-level aligned activations, each aligning the activations of each syllable with the phoneme-level linguistic features of each phoneme of the syllable; 15. The system of claim 14, comprising:
16. The system of claim 15, wherein the activation of each word is based on the word-level linguistic features of the corresponding word and the sentence-level linguistic features of the text utterance.
17. The system described in claim 13, wherein the word-level linguistic features include word piece embeddings obtained from a sequence of word piece embeddings generated by a Bidirectional Encoder Representations from Transformer (BERT) model from the text utterance.
18. The operation an operation of selecting a speech embedding for the text utterance, the speech embedding representing the intended prosody; and Using the selected utterance embeddings, for each syllable, using the prosodic model to predict the duration of the syllable by encoding the phoneme-level linguistic features of each phoneme in the syllable together with the corresponding prosodic syllable embedding of the syllable; predicting a pitch of the syllable based on a predicted duration for the syllable; generating a plurality of predicted fixed length pitch frames based on the predicted duration for the syllable, each fixed length pitch frame representing a predicted pitch of the syllable; Further comprising:
14. The system of claim 13, wherein the prosodic features received as input to the vocoder model include the plurality of predicted fixed-length pitch frames generated for each syllable of the text utterance.
19. The method of claim 18, further comprising the steps of: for each syllable, using the selected utterance embeddings: predicting an energy level of each phoneme within the syllable based on the predicted duration for the syllable; generating, for each phoneme in the syllable, a plurality of predicted fixed length energy frames based on the predicted duration for the syllable, each predicted fixed length energy frame representing the predicted energy level of a corresponding phoneme; Further comprising:
20. The system of claim 18, wherein the prosodic features received as input to the vocoder model further comprise the plurality of predicted fixed-length energy frames generated for each phoneme within each syllable of the text utterance.
20. The system described in claim 11, wherein the linguistic definition of the reference to the corresponding transcription includes sentence-level linguistic features of the text utterance, word-level linguistic features of each word of the text utterance, syllable-level linguistic features of each syllable of the text utterance, and phoneme-level linguistic features of each phoneme of the text utterance.
Citation Information
Patent Citations
Speech synthesis system, speech synthesis program and speech synthesis method
JP2018141915A
Methods and apparatus for predicting prosody in speech synthesis
US20120191457A1
Clockwork Hierarchical Variational Encoder
US20190348020A1
Electronic apparatus and method for controlling thereof
US20200152194A1
