Speech is the natural form of human communication, and it can enhance human machine communication. A text-to-speech system (TTS) is one of the human-machine interfaces using speech. TTSs, which can be implemented in software or hardware, convert normal language text into speech. TTSs are implemented in many applications such as car navigation systems, information retrieval over the telephone, voice mail, speech-to-speech translation systems, and comparable ones with a goal of synthesizing speech with natural human voice characteristics.
Synthesized speech can be created by concatenating pieces of recorded speech from a data store or generated by a synthesizer that incorporates a model of the vocal tract and other human voice characteristics to create a completely synthetic voice output. Hidden Markov Model (HMM) based synthesis is a synthesis method based on hidden Markov models. A frequency spectrum (vocal tract), a fundamental frequency (vocal source), and a duration (prosody) of speech are modeled simultaneously by HMMs. Speech waveforms are then generated from HMMs themselves based on the maximum likelihood criterion.
The increasingly popular HMM based text to speech systems (HTSs) generate a series of acoustic parameters and synthesize waves based on these parameters such as Line Frequency Spectrum (LFS). The acoustic parameters typically include constraints, but those constraints may be violated during the generation of the parameters from HMMs, which results in artifacts in the generated speech such as noise.
This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This summary is not intended to exclusively identify key features or essential features of the claimed subject matter, nor is it intended as an aid in determining the scope of the claimed subject matter.
Embodiments are directed to employing a rope-jumping algorithm to determine start and end models in a Hidden Markov Model based text to speech system and modify the start and end models by setting small co-variances. Through the modified start and end models disordered acoustic parameters and resulting unstable line frequency spectrum are avoided.
These and other features and advantages will be apparent from a reading of the following detailed description and a review of the associated drawings. It is to be understood that both the foregoing general description and the following detailed description are explanatory and do not restrict aspects as claimed.
As briefly described above, distortion in speech synthesized by an HTS may be reduced by modifying start and end models of LFS through setting a small co-variance for those models. In the following detailed description, references are made to the accompanying drawings that form a part hereof, and in which are shown by way of illustrations specific embodiments or examples. These aspects may be combined, other aspects may be utilized, and structural changes may be made without departing from the spirit or scope of the present disclosure. The following detailed description is therefore not to be taken in a limiting sense, and the scope of the present invention is defined by the appended claims and their equivalents.
While the embodiments will be described in the general context of program modules that execute in conjunction with an application program that runs on an operating system on a personal computer, those skilled in the art will recognize that aspects may also be implemented in combination with other program modules.
Generally, program modules include routines, programs, components, data structures, and other types of structures that perform particular tasks or implement particular abstract data types. Moreover, those skilled in the art will appreciate that embodiments may be practiced with other computer system configurations, including hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, minicomputers, mainframe computers, and comparable computing devices. Embodiments may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.
Embodiments may be implemented as a computer-implemented process (method), a computing system, or as an article of manufacture, such as a computer program product or computer readable media. The computer program product may be a computer storage medium readable by a computer system and encoding a computer program that comprises instructions for causing a computer or computing system to perform example process(es). The computer-readable storage medium can for example be implemented via one or more of a volatile computer memory, a non-volatile memory, a hard drive, a flash drive, a floppy disk, or a compact disk, and comparable media.
Throughout this specification, the term “server” generally refers to a computing device executing one or more software programs typically in a networked environment. However, a server may also be implemented as a virtual server (software programs) executed on one or more computing devices viewed as a server on the network. More detail on these technologies and example operations is provided below. The term “client” refers to client devices and/or applications.
Referring to
Text to speech system (TTS) 112 converts text 102 to speech 110 by performing an analysis on the text to be converted, an optional linguistic analysis, and a synthesis putting together the elements of the final product speech. The text to be converted may be analyzed by text analysis component 104 resulting in individual words, which are analyzed by the linguistic analysis component 106 resulting in phonemes. Waveform generation component 108 synthesizes output speech 110 based on the phonemes.
Depending on a type of TTS, the system may include additional components. The components may perform additional or fewer tasks and some of the tasks may be distributed among the components differently. For example, text normalization, pre-processing, or tokenization may be performed on the text as part of the analysis. Phonetic transcriptions are then assigned to each word, and the text divided and marked into prosodic units, like phrases, clauses, and sentences. This text-to-phoneme or grapheme-to-phoneme conversion is performed by the linguistic analysis component 106.
Two major types of generating synthetic speech waveforms are concatenative synthesis and formant synthesis. Concatenative synthesis is based on the concatenation (or stringing together) of segments of recorded speech. While producing close to natural-sounding synthesized speech, in this form of speech generation differences between natural variations in speech and the nature of the automated techniques for segmenting the waveforms may sometimes result in audible glitches in the output. Sub-types of concatenative synthesis include unit selection synthesis, which uses large databases of recorded speech. During database creation, each recorded utterance is segmented into some or all of individual phones, diphones, half-phones, syllables, morphemes, words, phrases, and sentences. An index of the units in the speech database is then created based on the segmentation and acoustic parameters like the fundamental frequency (pitch), duration, position in the syllable, and neighboring phones. At runtime, the desired target utterance is created by determining the best chain of candidate units from the database (unit selection).
Another sub-type of concatenative synthesis is diphone synthesis, which uses a minimal speech database containing all the diphones (sound-to-sound transitions) occurring in a language. A number of diphones depends on the phonotactics of the language. At runtime, the target prosody of a sentence is superimposed on these minimal units by means of digital signal processing techniques such as linear predictive coding. Yet another sub-type of concatenative synthesis is domain-specific synthesis, which concatenates prerecorded words and phrases to create complete utterances. This type is more compatible for applications where the variety of texts to be outputted by the system is limited to a particular domain.
In contrast to concatenative synthesis, formant synthesis does not use human speech samples at runtime. Instead, the synthesized speech output is created using an acoustic model. Parameters such as fundamental frequency, voicing, and noise levels are varied over time to create a waveform of artificial speech. While the speech generated by formant synthesis may not be as natural as one created by concatenative synthesis, formant-synthesized speech can be reliably intelligible, even at very high speeds, avoiding the acoustic glitches that are commonly found in concatenative systems. High-speed synthesized speech is, for example, used by the visually impaired to quickly navigate computers using a screen reader. Formant synthesizers can be implemented as smaller software programs and can, therefore, be used in embedded systems, where memory and microprocessor power are especially limited.
HMM-based speech synthesis is also an acoustic model based synthesis method employing Hidden Markov Models. Frequency spectrum (vocal tract), fundamental frequency (vocal source), and duration (prosody) of speech are commonly modeled simultaneously by HMMs. Speech waveforms are then generated from HMMs themselves based on a maximum likelihood criterion.
In a regular Markov model, the state is directly visible to the observer, and therefore the state transition probabilities are the only parameters. In a Hidden Markov model, the state is not directly visible, but an output dependent on the state is visible. Each state has a probability distribution over the possible output tokens. Therefore, the sequence of tokens generated by an HMM gives some information about the sequence of states. Thus, ‘Hidden’ refers to the state sequence through which the model passes, not to the parameters of the model.
HMM based text to speech systems (HTSs), which can be automatically trained, can generate natural and high quality synthetic speech and reproduce voice characteristics of the original speaker. HTSs utilize the flexibility of HMMs such as context-dependent modeling, dynamic feature parameters, mixture of Gaussian densities, tying mechanism, speaker and environment adaptation techniques.
HMM-based approaches to speech synthesis begin with transcription and segmentation of speech database 222 (through excitation parameter extraction 224 and spectral parameter extraction 226) and train the HMM based system (228) during training phase. The synthesis process may be divided into two phases (230): training phase and the synthesis phase. The segmentation of the speech database also includes construction of an inventory of speech segments such that multiple instances of speech segments can be selected at runtime.
In the synthesis phase, context dependent HMMs 232 are used to generate excitation and spectral parameters (234) based on text analysis (240) results. Excitation is generated (238) based on the excitation parameters, and speech is synthesized by synthesis filter 236 based on the excitation and spectral parameters from the HMMs. Voice characteristics of synthetic speech can be changed by transforming HMM parameters appropriately.
To obtain a more expressive text to speech result, a delta coefficient and an acceleration coefficient may be defined within the HTS. HMMs are then used to model the two coefficients via normal distribution. The coefficients are defined as (for x-value 348):
[1] Delta:
Acceleration: Δ2=(xi+1−xi)−(xi−xi−1)=xi+1−2xi+xi−1. [2]
If the original value is considered as a special case of the coefficients, the window coefficients matrix may be written as:
the process for generating the acoustic parameters may be summarized by the formula:
W
T
U
−1
M=W
T
U
−1
W C, [4b]where
W is the window coefficients matrix, U is the covariance diagonal matrix of the three HMMs (original value, delta coefficient, and acceleration coefficient), M is the mean vector of the three HMMs, and C is the vector of desired acoustic parameters. The window referred to herein is the window of parameterized acoustic waveform.
The overall LFS can be smoothed or otherwise modified by modifying the parameters (or their variances). However, by definition, the delta and acceleration coefficients do not exist at the beginning and end of the waveform. Thus, there are very weak constraints with the generated parameters at the beginning and end. During the process parameterizing the LFS, the parameters are computed iteratively from the beginning to the end (or vice versa), which means the beginning (or end) parameters may have almost random values since they have weak constraints. If the curves of an LFS pair intersect due to parameterization problems, unacceptable noise or distortion may result in the synthesized speech. LFS pair parameters are naturally ordered and continuous even across unvoiced sounds. However, the beginning and end values as discussed above may result in disordered parameters and thereby distortion in the end product.
Since the small co-variances provide strong constraints on the beginning and end parameters, respective pairs do no longer intersect and the distortion in the synthesized speech due to parameterization is avoided. The relatively small co-variances force the parameters to converge to their mean value (hence the similarity to rope-jumping game). While a range of values may be selected for the beginning and end co-variances depending on system parameters such as overall change in the LFS, desired speech quality, language, voice characteristics, and the like, a value of 0.01 has been found to satisfy most languages experimentally. The co-variance value may also be modified dynamically depending on the language, for example in the range of 0.01 to 0.05. These values are exemplary only and do not constitute a limitation on embodiments. As mentioned above, the co-variance values may be selected from a range based on system requirements, user preferences, and so on.
While the example systems and processes have been described with specific components and aspects such as particular synthesis system components and LFS, embodiments are not limited to the example components and configurations. An HTS employing a rope-jumping algorithm to smooth beginning and end models may be implemented in other systems and configurations using other aspects of speech synthesis using the principles described herein.
Client devices 711-714 may provide synthesized speech to user 715. Speech synthesis may be performed by generating acoustic parameters from a text analysis after the HMM based system is trained based on input from a speech database. Distortion in the synthesized speech may be reduced by determining start and end models of LFS and setting small co-variances for those models to prevent disordered parameters. Information associated with speech synthesis may be stored in one or more data stores (e.g. data stores 719), which may be managed by any one of the servers 716 or by database server 718.
Network(s) 710 may comprise any topology of servers, clients, Internet service providers, and communication media. A system according to embodiments may have a static or dynamic topology. Network(s) 710 may include a secure network such as an enterprise network, an unsecure network such as a wireless open network, or the Internet. Network(s) 710 may also coordinate communication over other networks such as PSTN or cellular networks. Network(s) 710 provides communication between the nodes described herein. By way of example, and not limitation, network(s) 710 may include wireless media such as acoustic, RF, infrared and other wireless media.
Many other configurations of computing devices, applications, data sources, and data distribution systems may be employed to implement an HTS employing a rope-jumping algorithm to prevent distortion due to disordered parameters. Furthermore, the networked environments discussed in
Speech synthesis application 822 may be part of a service or the operating system 805 of the computing device 800. Speech synthesis application 822 generates synthesized speech employing HMMs. As discussed previously, generated speech may include distortion due to violation of parameter constraints during the generation of HMMs. Waveform generation module 824 or speech synthesis application 822 itself may employ a rope-jumping algorithm to determine start and end models in LSF and smooth the curve by setting small co-variances for the start and end models. This basic configuration is illustrated in
Computing device 800 may have additional features or functionality. For example, the computing device 800 may also include additional data storage devices (removable and/or non-removable) such as, for example, magnetic disks, optical disks, or tape. Such additional storage is illustrated in
Computing device 800 may also contain communication connections 816 that allow the device to communicate with other devices 818, such as over a wireless network in a distributed computing environment, a satellite link, a cellular link, and comparable mechanisms. Other devices 818 may include computer device(s) that execute communication applications, other servers, and comparable devices. Communication connection(s) 816 is one example of communication media. Communication media can include therein computer readable instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave or other transport mechanism, and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media.
Example embodiments also include methods. These methods can be implemented in any number of ways, including the structures described in this document. One such way is by machine operations, of devices of the type described in this document.
Another optional way is for one or more of the individual operations of the methods to be performed in conjunction with one or more human operators performing some. These human operators need not be collocated with each other, but each can be only with a machine that performs a portion of the program.
Process 900 begins with operation 910, where Hidden Markov Models are extracted from features derived as a result of the analysis of the text to be converted to speech. At operation 920, the start and end models for the LSF are determined. Since the start and end models do not include delta or acceleration by definition, these models include weak constraints. Thus, at the beginning and end points LSFs may intersect resulting in distortion and/or noise in the generated speech.
To reduce the disorder of the parameters and the resulting distortion, the start and end models are modified at operation 930 by setting small co-variances for those as discussed previously. The co-variances for the start and end models may be the same or distinctly determined. Process 900 continues with the smoothing process at operation 940 and waveform generation (synthesized speech) without the noise caused by the disordered parameters of LSF at subsequent operation 950. The co-variance value for the start and the end segments may be determined based on a language of the generated speech, a shape of the overall LFS waveform, a desired speech quality, and/or a characteristic of a source vocal tract.
The operations included in process 900 are for illustration purposes. An HTS employing a rope-jumping algorithm to smooth LSF and, thereby, reduce distortion in generated speech may be implemented by similar processes with fewer or additional steps, as well as in different order of operations using the principles described herein.
The above specification, examples and data provide a complete description of the manufacture and use of the composition of the embodiments. Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims and embodiments.