US20040148171A1 - Method and apparatus for speech synthesis without prosody modification - Google Patents

Method and apparatus for speech synthesis without prosody modification Download PDF

Info

Publication number
US20040148171A1
US20040148171A1 US10/662,985 US66298503A US2004148171A1 US 20040148171 A1 US20040148171 A1 US 20040148171A1 US 66298503 A US66298503 A US 66298503A US 2004148171 A1 US2004148171 A1 US 2004148171A1
Authority
US
United States
Prior art keywords
speech
unit
indication
context
speech unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US10/662,985
Inventor
Min Chu
Hu Peng
Yong Zhao
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Priority to US10/662,985 priority Critical patent/US20040148171A1/en
Assigned to MICROSOFT CORPORATION reassignment MICROSOFT CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: PENG, HU, CHU, MIN, ZHAO, YONG
Publication of US20040148171A1 publication Critical patent/US20040148171A1/en
Assigned to MICROSOFT TECHNOLOGY LICENSING, LLC reassignment MICROSOFT TECHNOLOGY LICENSING, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MICROSOFT CORPORATION
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/06Elementary speech units used in speech synthesisers; Concatenation rules
    • G10L13/07Concatenation rules

Definitions

  • the present invention relates to speech synthesis.
  • the present invention relates to prosody in speech synthesis.
  • Text-to-speech technology allows computerized systems to communicate with users through synthesized speech.
  • the quality of these systems is typically measured by how natural or human-like the synthesized speech sounds.
  • a stored speech sample has a pitch and duration that is set by the context in which the sample was spoken. For example, in the sentence “Joe went to the store” the speech units associated with the word “store” have a lower pitch than in the question “Joe went to the store?” Because of this, if stored samples are simply retrieved without reference to their pitch or duration, some of the samples will have the wrong pitch and/or duration for the sentence resulting in unnatural sounding speech.
  • One technique for overcoming this is to identify the proper pitch and duration for each sample. Based on this prosody information, a particular sample may be selected and/or modified to match the target pitch and duration.
  • Identifying the proper pitch and duration is known as prosody prediction. Typically, it involves generating a model that describes the most likely pitch and duration for each speech unit given some text. The result of this prediction is a set of numerical targets for the pitch and duration of each speech segment.
  • targets can then be used to select and/or modify a stored speech segment.
  • the targets can be used to first select the speech segment that has the closest pitch and duration to the target pitch and duration. This segment can then be used directly or can be further modified to better match the target values.
  • TD-PSOLA Time-Domain Pitch-Synchronous Overlap-and-Add
  • the prior art copies a segment of the complex waveform that is as long as the pitch period. This copied segment is then shifted by some portion of the pitch period and reinserted into the waveform. For example, to double the pitch, the copied segment would be shifted by one-half the pitch period, thereby inserting a new peak half-way between two existing peaks and cutting the pitch period in half.
  • the prior art copies a section of the speech segment and inserts the copy into the complex waveform.
  • the entire portion of the speech segment after the copied segment is time-shifted by the length of the copied section so that the duration of the speech unit increases.
  • a speech synthesizer that concatenates stored samples of speech units without modifying the prosody of the samples.
  • the present invention is able to achieve a high level of naturalness in synthesized speech with a carefully designed speech corpus by storing samples based on the prosodic and phonetic context in which they occur.
  • some embodiments of the present invention limit the training text to those sentences that will produce the most frequent sets of prosodic contexts for each speech unit.
  • Further embodiments of the present invention also provide a multi-tier selection mechanism for selecting a set of samples that will produce the most natural sounding speech.
  • a set of candidate speech segments is identified for each speech unit by comparing the input context vector to the context vectors associated with the speech segments. A path through the candidate speech segments is then selected based on differences between the input context vectors and the stored context vectors as well as some cost function that indicates the prosodic smoothness of the resulting concatenated speech signal.
  • the cost function gives preference to selecting a series of speech segments that appeared next to each other in the training corpus.
  • the cost function cost function comprises linear, and/or, one or more higher order coordinates being combinations of at least two factors from a set of factors.
  • the set of factors include: an indication of a position of a speech unit in a phrase; an indication of a position of a speech unit in a word; an indication of a category for a phoneme preceding a speech unit; an indication of a category for a phoneme following a speech unit; an indication of a category for tonal identity of the current speech unit; an indication of a category for tonal identity of a preceding speech unit; an indication of a category for tonal identity of a following speech unit; an indication of a level of stress of a speech unit; an indication of a coupling degree of pitch, duration and/or energy with a neighboring unit; and an indication of a degree of spectral mismatch with a neighboring speech unit.
  • a technique for obtaining an optimized cost function which can be used in a speech synthesizer as the criterion for the unit selection, is also provided below.
  • FIG. 1 is a block diagram of a general computing environment in which the present invention may be practiced.
  • FIG. 2 is a block diagram of a mobile device in which the present invention may be practiced.
  • FIG. 3 is a block diagram of a speech synthesis system.
  • FIG. 4 is a block diagram of a system for selecting a training text subset from a very large training corpus.
  • FIG. 5 is a flow diagram for constructing a decision tree under one embodiment of the present invention.
  • FIG. 6 is a block diagram of a multi-tier selection system for selecting speech segments under embodiments of the present invention.
  • FIG. 7 is a flow diagram of a multi-tier selection system for selecting speech segments under embodiments of the present invention.
  • FIG. 8 is a flow diagram for estimating mean opinion score from a context vector or an objective measure.
  • FIG. 9 is a plot of a relationship between mean opinion score and the objective measure.
  • FIG. 10 is a flow diagram illustrating a method for optimizing the objective measure.
  • FIG. 11 is a flow diagram illustrating an exemplary method of optimizing the objective measure.
  • FIG. 1 illustrates an example of a suitable computing system environment 100 on which the invention may be implemented.
  • the computing system environment 100 is only one example of a suitable computing environment and is not intended to suggest any limitation as to the scope of use or functionality of the invention. Neither should the computing environment 100 be interpreted as having any dependency or requirement relating to any one or combination of components illustrated in the exemplary operating environment 100 .
  • the invention is operational with numerous other general purpose or special purpose computing system environments or configurations.
  • Examples of well known computing systems, environments, and/or configurations that may be suitable for use with the invention include, but are not limited to, personal computers, server computers, hand-held or laptop devices, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like.
  • the invention may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer.
  • program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types.
  • the invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network.
  • program modules may be located in both local and remote computer storage media including memory storage devices. Tasks performed by the programs and modules are described below and with the aid of figures.
  • processor executable instructions which can be written on any form of a computer readable media.
  • an exemplary system for implementing the invention includes a general-purpose computing device in the form of a computer 110 .
  • Components of computer 110 may include, but are not limited to, a processing unit 120 , a system memory 130 , and a system bus 121 that couples various system components including the system memory to the processing unit 120 .
  • the system bus 121 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures.
  • such architectures include Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI) bus also known as Mezzanine bus.
  • ISA Industry Standard Architecture
  • MCA Micro Channel Architecture
  • EISA Enhanced ISA
  • VESA Video Electronics Standards Association
  • PCI Peripheral Component Interconnect
  • Computer 110 typically includes a variety of computer readable media.
  • Computer readable media can be any available media that can be accessed by computer 110 and includes both volatile and nonvolatile media, removable and non-removable media.
  • Computer readable media may comprise computer storage media and communication media.
  • Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.
  • Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by computer 100 .
  • Communication media typically embodies 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.
  • 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.
  • communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, FR, infrared and other wireless media. Combinations of any of the above should also be included within the scope of computer readable media.
  • the system memory 130 includes computer storage media in the form of volatile and/or nonvolatile memory such as read only memory (ROM) 131 and random access memory (RAM) 132 .
  • ROM read only memory
  • RAM random access memory
  • BIOS basic input/output system
  • RAM 132 typically contains data and/or program modules that are immediately accessible to and/or presently being operated on by processing unit 120 .
  • FIG. 1 illustrates operating system 134 , application programs 135 , other program modules 136 , and program data 137 .
  • the computer 110 may also include other removable/non-removable volatile/nonvolatile computer storage media.
  • FIG. 1 illustrates a hard disk drive 141 that reads from or writes to non-removable, nonvolatile magnetic media, a magnetic disk drive 151 that reads from or writes to a removable, nonvolatile magnetic disk 152 , and an optical disk drive 155 that reads from or writes to a removable, nonvolatile optical disk 156 such as a CD ROM or other optical media.
  • removable/non-removable, volatile/nonvolatile computer storage media that can be used in the exemplary operating environment include, but are not limited to, magnetic tape cassettes, flash memory cards, digital versatile disks, digital video tape, solid state RAM, solid state ROM, and the like.
  • the hard disk drive 141 is typically connected to the system bus 121 through a non-removable memory interface such as interface 140
  • magnetic disk drive 151 and optical disk drive 155 are typically connected to the system bus 121 by a removable memory interface, such as interface 150 .
  • the drives and their associated computer storage media discussed above and illustrated in FIG. 1, provide storage of computer readable instructions, data structures, program modules and other data for the computer 110 .
  • hard disk drive 141 is illustrated as storing operating system 144 , application programs 145 , other program modules 146 , and program data 147 .
  • operating system 144 application programs 145 , other program modules 146 , and program data 147 are given different numbers here to illustrate that, at a minimum, they are different copies.
  • a user may enter commands and information into the computer 110 through input devices such as a keyboard 162 , a microphone 163 , and a pointing device 161 , such as a mouse, trackball or touch pad.
  • Other input devices may include a joystick, game pad, satellite dish, scanner, or the like.
  • These and other input devices are often connected to the processing unit 120 through a user input interface 160 that is coupled to the system bus, but may be connected by other interface and bus structures, such as a parallel port, game port or a universal serial bus (USB).
  • a monitor 191 or other type of display device is also connected to the system bus 121 via an interface, such as a video interface 190 .
  • computers may also include other peripheral output devices such as speakers 197 and printer 196 , which may be connected through an output peripheral interface 190 .
  • the computer 110 may operate in a networked environment using logical connections to one or more remote computers, such as a remote computer 180 .
  • the remote computer 180 may be a personal computer, a hand-held device, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to the computer 110 .
  • the logical connections depicted in FIG. 1 include a local area network (LAN) 171 and a wide area network (WAN) 173 , but may also include other networks.
  • LAN local area network
  • WAN wide area network
  • Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets and the Internet.
  • the computer 110 When used in a LAN networking environment, the computer 110 is connected to the LAN 171 through a network interface or adapter 170 .
  • the computer 110 When used in a WAN networking environment, the computer 110 typically includes a modem 172 or other means for establishing communications over the WAN 173 , such as the Internet.
  • the modem 172 which may be internal or external, may be connected to the system bus 121 via the user input interface 160 , or other appropriate mechanism.
  • program modules depicted relative to the computer 110 may be stored in the remote memory storage device.
  • FIG. 1 illustrates remote application programs 185 as residing on remote computer 180 . It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers may be used.
  • FIG. 2 is a block diagram of a mobile device 200 , which is an exemplary computing environment.
  • Mobile device 200 includes a microprocessor 202 , memory 204 , input/output (I/O) components 206 , and a communication interface 208 for communicating with remote computers or other mobile devices.
  • I/O input/output
  • the afore-mentioned components are coupled for communication with one another over a suitable bus 210 .
  • Memory 204 is implemented as non-volatile electronic memory such as random access memory (RAM) with a battery back-up module (not shown) such that information stored in memory 204 is not lost when the general power to mobile device 200 is shut down.
  • RAM random access memory
  • a portion of memory 204 is preferably allocated as addressable memory for program execution, while another portion of memory 204 is preferably used for storage, such as to simulate storage on a disk drive.
  • Memory 204 includes an operating system 212 , application programs 214 as well as an object store 216 .
  • operating system 212 is preferably executed by processor 202 from memory 204 .
  • Operating system 212 in one preferred embodiment, is a WINDOWS® CE brand operating system commercially available from Microsoft Corporation.
  • Operating system 212 is preferably designed for mobile devices, and implements database features that can be utilized by applications 214 through a set of exposed application programming interfaces and methods.
  • the objects in object store 216 are maintained by applications 214 and operating system 212 , at least partially in response to calls to the exposed application programming interfaces and methods.
  • Communication interface 208 represents numerous devices and technologies that allow mobile device 200 to send and receive information.
  • the devices include wired and wireless modems, satellite receivers and broadcast tuners to name a few.
  • Mobile device 200 can also be directly connected to a computer to exchange data therewith.
  • communication interface 208 can be an infrared transceiver or a serial or parallel communication connection, all of which are capable of transmitting streaming information.
  • Input/output components 206 include a variety of input devices such as a touch-sensitive screen, buttons, rollers, and a microphone as well as a variety of output devices including an audio generator, a vibrating device, and a display.
  • input devices such as a touch-sensitive screen, buttons, rollers, and a microphone
  • output devices including an audio generator, a vibrating device, and a display.
  • the devices listed above are by way of example and need not all be present on mobile device 200 .
  • other input/output devices may be attached to or found with mobile device 200 within the scope of the present invention.
  • a speech synthesizer that concatenates stored samples of speech units without modifying the prosody of the samples.
  • the present invention is able to achieve a high level of naturalness in synthesized speech with a carefully designed speech corpus by storing samples based on the prosodic and phonetic context in which they occur.
  • the present invention limits the training text to those sentences that will produce the most frequent sets of prosodic contexts for each speech unit.
  • the present invention also provides a multi-tier selection mechanism for selecting a set of samples that will produce the most natural sounding speech.
  • FIG. 3 is a block diagram of a speech synthesizer 300 that is capable of constructing synthesized speech 302 from an input text 304 under embodiments of the present invention.
  • a pitch and duration modification algorithm such as PSOLA
  • PSOLA is applied to pre-stored units to guarantee that the prosodic features of synthetic speech meet the predicted target values.
  • speech is generated by directly concatenating speech segments (for speech units such as syllables, phonemes, diphones, semiphones, etc.) without any pitch or duration modification under the assumption that the speech database contains enough prosodic and spectral varieties for all speech units and the best fitting segments can always be found.
  • speech segments for speech units such as syllables, phonemes, diphones, semiphones, etc.
  • speech synthesizer 300 Before speech synthesizer 300 can be utilized to construct speech 302 , it must be initialized with samples of speech units taken from a training text 306 that is read into speech synthesizer 300 as training speech 308 .
  • speech synthesizers are constrained by a limited size memory. Because of this, training text 306 must be limited in size to fit within the memory. However, if the training text is too small, there will not be enough samples of the training speech to allow for concatenative synthesis without prosody modifications.
  • One aspect of the present invention overcomes this problem by trying to identify a set of speech units in a very large text corpus that must be included in the training text to allow for concatenative synthesis without prosody modifications.
  • FIG. 4 provides a block diagram of components used to identify smaller training text 306 of FIG. 3 from a very large corpus 400 .
  • very large corpus 400 is a corpus of five years worth of the People's Daily, a Chinese newspaper, and contains about 97 million Chinese Characters.
  • training text 400 is parsed by a parser/semantic identifier 402 into strings of individual speech units attached with various textual information.
  • the speech units are tonal syllables.
  • other speech units such as phonemes, diphones, triphones or the mix of them may be used within the scope of the present invention.
  • Parser/semantic identifier 402 also identifies high-level prosodic information about each sentence provided to the parser 402 .
  • This high-level prosodic information includes the predicted tonal levels for each speech unit as well as the grouping of speech units into prosodic words and phrases.
  • parser/semantic identifier 402 also identifies the first and last phoneme in each speech unit.
  • the strings of speech units attached with textual and prosodic information produced from the training text are provided to a context vector generator 404 , which generates a Speech-unit Dependent Descriptive Contextual Variation Vector (SDDCVV, hereinafter referred to as a “context vector”).
  • SDDCVV Speech-unit Dependent Descriptive Contextual Variation Vector
  • the context vector describes several context variables that can affect the naturalness of the speech unit. Under one embodiment, the context vector describes six variables or coordinates of textual information. They are:
  • Position in phrase (PinP) the position of the current speech unit in its carrying prosodic phrase.
  • Position in word (PinW): the position of the current speech unit in its carrying prosodic word.
  • LEC Left phonetic context
  • RhC Right phonetic context
  • LTC Left tone context
  • RTC Right tone context
  • the coordinates of the context vector can also include the stress level of the current speech unit, the tonal identity of current speech unit or the coupling degree of its pitch, duration and/or energy with its neighboring units.
  • the position in phrase coordinate and the position in word coordinate can each have one of four values
  • the left phonetic context can have one of eleven values
  • the right phonetic context can have one of twenty-six values
  • the left and right tonal contexts can each have one of two values.
  • there are 4*4*11*26*2*2 18304 possible context vectors for each speech unit.
  • the context vectors produced by generator 404 are grouped based on their speech unit. For each speech unit, a frequency-based sorter 406 identifies the most frequent context vectors for each speech unit. The most frequently occurring context vectors for each speech unit are then stored in a list of necessary context vectors 408 . In one embodiment, the top context vectors, whose accumulated frequency of occurrence is not less than half of the total frequency of occurrence of all units, are stored in the list.
  • the sorting and pruning performed by sorter 406 is based on a discovery made by the present inventors.
  • the present inventors have found that certain context vectors occur repeatedly in the corpus.
  • the present invention increases the chances of having an exact context match for an input text without greatly increasing the size of the training corpus.
  • the present inventors have found that by ensuring that the top two percent of the context vectors are represented in the training corpus, an exact context match will be found for an input text speech unit over fifty percent of the time.
  • a text selection unit 410 selects sentences from very large corpus 400 to produce training text subset 306 .
  • text selection unit 410 uses a greedy algorithm to select sentences from corpus 400 . Under this greedy algorithm, selection unit 410 scans all sentences in the corpus and picks out one at a time to add to the selected group.
  • selection unit 410 determines how many context vectors in list 408 are found in each sentence. The sentence that contains the maximum number of needed context vectors is then added to training text 306 . The context vectors that the sentence contains are removed from list 408 and the sentence is removed from the large text corpus 400 . The scanning is repeated until all of the context vectors have been removed from list 408 .
  • training text subset 306 After training text subset 306 has been formed, it is read by a person and digitized into a training speech corpus. Both the training text and training speech can be used to initialize speech synthesizer 300 of FIG. 3. This initialization begins by parsing the sentences of text 306 into individual speech units that are annotated with high-level prosodic information. In FIG. 3, this is accomplished by a parser/semantic identifier 310 , which is similar to parser/semantic identifier 402 of FIG. 4. The parsed speech units and their high-level prosodic description are then provided to a context vector generator 312 , which is similar to context vector generator 404 of FIG. 4.
  • the context vectors produced by context vector generator 312 are provided to a component storing unit 314 along with speech samples produced by a sampler 316 from training speech signal 308 .
  • Each sample provided by sampler 316 corresponds to a speech unit identified by parser 310 .
  • Component storing unit 314 indexes each speech sample by its context vector to form an indexed set of stored speech components 318 .
  • the samples are indexed, for example, by a prosody-dependent decision tree (PDDT), which is formed automatically using a classification and regression tree (CART).
  • PDDT prosody-dependent decision tree
  • CART provides a mechanism for selecting questions that can be used to divide the stored speech components into small groups of similar speech samples. Typically, each question is used to divide a group of speech components into two smaller groups. With each question, the components in the smaller groups become more homogenous.
  • the process for using CART to form the decision tree is shown in FIG. 5.
  • a list of candidate questions is generated for the decision tree.
  • each question is directed toward some coordinate or combination of coordinates in the context vector.
  • an expected square error is determined for all of the training samples from sampler 316 .
  • the expected square error gives a measure of the distances among a set of features of each sample in a group.
  • the features are prosodic features of average fundamental frequency (F a ), average duration (F b ), and range of the fundamental frequency (F c ) for a unit.
  • the expected square error is defined as:
  • ESE ( t ) E ( W a E a +W b E b +W c E c ) EQ. 1
  • ESE(t) is the expected square error for all samples X on node t in the decision tree
  • E a , E b , and E c are the square error for F a , F b , and F c , respectively
  • W a , W b , and W c are weights
  • the operation of determining the expected value of the sum of square errors is indicated by the outer E( ).
  • R(F j ) is a regression value calculated from samples X on node t.
  • the regression value is the expected value of the feature as calculated from the samples X at node t:
  • the first question in the question list is selected at step 504 .
  • the selected question is applied to the context vectors at step 506 to group the samples into candidate sub-nodes for the tree.
  • the expected square error of each sub-node is then determined at step 508 using equations 1 and 2 above.
  • a reduction in expected square error created by generating the two sub-nodes is determined. Under one embodiment, this reduction is calculated as:
  • ⁇ WESE(t) is the reduction in expected square error
  • ESE(t) is the expected square error of node t, against which the question was applied
  • P(t) is the percentage of samples in node t
  • ESE(l) and ESE(r) are the expected square error of the left and right sub-nodes formed by the question, respectively
  • P(l) and P(r) are the percentage of samples in the left and right node, respectively.
  • the reduction in expected square error provided by the current question is stored and the CART process determines if the current question is the last question in the list at step 512 . If there are more questions in the list, the next question is selected at step 514 and the process returns to step 506 to divide the current node into sub-nodes based on the new question.
  • each leaf node when the decision tree is in its final form, each leaf node will contain a number of samples for a speech unit. These samples have slightly different prosody from each other. For example, they may have different phonetic contexts or different tonal contexts from each other. By maintaining these minor differences within a leaf node, this embodiment of the invention introduces slender diversity in prosody, which is helpful in removing monotonous prosody.
  • step 516 If the current leaf nodes are to be further divided at step 516 , a leaf node is selected at step 518 and the process returns to step 504 to find a question to associate with the selected node. If the decision tree is complete at step 516 , the process of FIG. 5 ends at step 520 .
  • FIG. 5 results in a prosody-dependent decision tree 320 of FIG. 3 and a set of stored speech samples 318 , indexed by decision tree 320 .
  • decision tree 320 and speech samples 318 can be used under further aspects of the present invention to generate concatenative speech without requiring prosody modification.
  • the process for forming concatenative speech begins by parsing a sentence in input text 304 using parser/semantic identifier 310 and identifying high-level prosodic information for each speech unit produced by the parse. This prosodic information is then provided to context vector generator 312 , which generates a context vector for each speech unit identified in the parse. The parsing and the production of the context vectors are performed in the same manner as was done during the training of prosody decision tree 320 .
  • the context vectors are provided to a component locator 322 , which uses the vectors to identify a set of samples for the sentence.
  • component locator 322 uses a multi-tier non-uniform unit selection algorithm to identify the samples from the context vectors.
  • FIGS. 6 and 7 provide a block diagram and a flow diagram for the multi-tier non-uniform selection algorithm.
  • each vector in the set of input context vectors is applied to prosody-dependent decision tree 320 to identify a leaf node array 600 that contains a leaf node for each context vector.
  • D c is the context distance
  • D i is the distance for coordinate i of the context vector
  • W ci is a weight associated with coordinate i
  • I is the number of coordinates in each context vector.
  • the N samples with the closest context vectors are retained while the remaining samples are pruned from node array 600 to form pruned leaf node array 604 .
  • the number of samples, N, to leave in the pruned nodes is determined by balancing improvements in prosody with improved processing time. In general, more samples left in the pruned nodes means better prosody at the cost of longer processing time.
  • the pruned array is provided to a Viterbi decoder 606 , which identifies a lowest cost path through the pruned array.
  • the lowest cost path is identified simply by selecting the sample with the closest context vector in each node.
  • C c is the concatenation cost for the entire sentence
  • W c is a weight associated with the distance measure of the concatenated cost
  • D cj is the distance calculated in equation 4 for the j th speech unit in the sentence
  • W s is a weight associated with a smoothness measure of the concatenated cost
  • C sj is a smoothness cost for the j th speech unit
  • J is the number of speech units in the sentence.
  • the smoothness cost in Equation 5 is defined to provide an objective measure of the prosodic mismatch between sample j and the samples proposed as the neighbors to sample j by the Viterbi decoder.
  • the smoothness cost is determined based on whether a sample and its neighbors were found as neighbors in an utterance in the training corpus. If a sample occurred next to its neighbors in the training corpus, the smoothness cost is zero since the samples contain the proper spectral transition in between. If a sample did not occur next to its neighbors in the training corpus (referred as non-neighboring case), the smoothness cost is set to one. Under another embodiment, different values are assigned to the smoothness cost for non-neighboring cases according to their boundary types.
  • the boundary between the two segments is sonorant to sonorant, the largest cost ( 1 ) is given. If the boundary between them is non-sonorant consonant to non-sonorant consonant, a small cost ( 0 . 2 ) is given. The cost between sonorant to non-sonorant or non-sonorant to sonorant transition is in middle ( 0 . 5 ). The different smoothness costs lead the search algorithm to prefer concatenation at boundaries with smaller cost.
  • the identified samples 608 are provided to speech constructor 303 .
  • speech constructor 303 simply concatenates the speech units to form synthesized speech 302 .
  • the speech units are combined without having to change their prosody.
  • the cost function or objective measure provided above contains only first order components of the seven textual factors, yet, higher order interactions might exist among these factors.
  • the context vector, cost function or objective measure comprises one or more higher order coordinates being combinations of at least two factors from a set of factors including: an indication of a position of a speech unit in a phrase; an indication of a position of a speech unit in a word; an indication of a category for a phoneme preceding a speech unit; an indication of a category for a phoneme following a speech unit; an indication of a category for tonal identity of the current speech unit; an indication of a category for tonal identity of a preceding speech unit; an indication of a category for tonal identity of a following speech unit; an indication of a level of stress of a speech unit; an indication of a coupling degree of pitch, duration and/or energy with a neighboring unit; and an indication of a degree of spectral mismatch with a neighboring speech unit.
  • Evaluating the quality of synthesized speech contains two aspects, intelligibility and naturalness.
  • intelligibility is not a large concern for most text-to-speech systems.
  • naturalness of synthesized speech is a larger issue and is still far from most expectations.
  • MOS Mean Opinion Score
  • the means of the scores from the set of subjects for a given waveform represents naturalness in a MOS evaluation.
  • a method for estimating mean opinion score or naturalness of synthesized speech has been advanced by Chu, M. and Peng, H., in “An objective measure for estimating MOS of synthesized speech”, Proceedings of Eurospeech 2001, 2001, and is discussed further below.
  • the method includes using an objective measure that has components derived directly from textual information used to form synthesized utterances.
  • the objective measure has a high correlation with the mean opinion score such that a relationship can be formed between the objective measure and the corresponding mean opinion score.
  • An estimated mean opinion score can be obtained easily from the relationship when the objective measure is applied to utterances of a modified speech synthesizer.
  • the objective measure can be based on one or more factors of the speech units used to create the utterances.
  • the factors can include the position of the speech unit in a phrase or word, the neighboring phonetic or tonal context, the spectral mismatch of successive speech units or the stress level of the speech unit. Weighting factors can be used since correlation of the factors with mean opinion score has been found to vary between the factors.
  • the objective measure By using the objective measure it is easy to track performance in naturalness of the speech synthesizer, thereby allowing efficient development of the speech synthesizer.
  • the objective measure can serve as criteria for optimizing the algorithms for speech unit selection and speech database pruning.
  • the evaluation of concatenative cost can form the basis of an objective measure for MOS estimation.
  • a method for using the objective measure in estimating MOS is illustrated in FIG. 8.
  • the method includes generating a set of synthesized utterances at step 800 , and subjectively rating each of the utterances at step 802 .
  • a score is then calculated for each of the synthesized utterances using the objective measure at step 804 .
  • the scores from the objective measure and the ratings from the subjective analysis are then analyzed to determine a relationship at step 806 .
  • the relationship is used at step 808 to estimate naturalness or MOS when the objective measure is applied to the textual information of speech units for another utterance or second set of utterances from a modified speech synthesizer (e.g. when a parameter of the speech synthesizer has been changed).
  • a modified speech synthesizer e.g. when a parameter of the speech synthesizer has been changed.
  • the words of the “another utterance” or the “second set of utterances” obtained from the modified speech synthesizer can be the same or different words used in the first set of utterances.
  • PinP position in phrase
  • PinW position in word
  • LTC left phonetic context
  • RTC right tone context
  • smoothness cost per unit in an utterance the average costs for position in phrase (“PinP”), position in word (“PinW”), left phonetic context (“LPhC”), right phonetic context (“RPhC”), left tone context (“LTC”), right tone context (“RTC”) and smoothness cost per unit in an utterance.
  • the cost function as provided above is a weighted sum of seven factors.
  • Six of the factors are distances between the target category and the category of candidate unit (named as unit category) for the six contextual factors, which are PinP, PinW, LPhC, RPhC, LTC and RTC. Since all these factors take only categorical values, the distance between categories are empirically predefined in distance tables.
  • the seventh factor is an enumerated smoothness cost, which takes value 0 when current candidate unit is a continuous segment with the unit before it in the unit inventory and takes value larger than 0 otherwise.
  • W i are weights for the seven component-costs and all are set to 1, but can be changed. For instance, it has been found that the coordinate having the highest correlation with mean opinion score was smoothness, whereas the lowest correlation with mean opinion score was position in phase. It is therefore reasonable to assign larger weights for components with high correlation and smaller weights for components with low correlation. In one experiment, the following weights were used:
  • Four synthesized waveforms are generated for each sentence with the speech synthesizer 200 above with four speech databases, whose sizes are 1.36 GB, 0.9 GB, 0.38 GB and 0.1 GB, respectively.
  • the mean of the thirty scores for a given waveform represents its naturalness in MOS.
  • FIG. 9 is a plot illustrating the objective measure (average concatenative cost) versus subjective measure (MOS) for the 400 waveforms.
  • a correlation coefficient between the two dimensions is ⁇ 0.822, which reveals that the average concatenative cost function replicates, to a great extent, the perceptual behavior of human beings.
  • the minus sign of the coefficient means that the two dimensions are negatively correlated.
  • a linear regression trendline 902 is illustrated in FIG. 9 and is estimated by calculating the least squares fit throughout points.
  • the trendline or curve is denoted as the average concatenative cost-MOS curve and for the exemplary embodiment is:
  • an estimate of MOS for a single synthesized speech waveform can be obtained by its average concatenative cost.
  • an estimate of the average MOS for a TTS system can be obtained from the average of the average of the concatenative costs that are calculated over a large amount of synthesized speech waveforms. In fact, when calculating the average concatenative cost, it is unnecessary to generate the speech waveforms since the costs can be calculated after the speech units have been selected.
  • the concatenative cost function has proven to replicate, to a great extent, the perceptual behavior of human beings, it might not be optimal. It has been discovered by the inventors that some factors that can contribute to inaccuracies in the concatenative cost function include that many parameters in the cost function are assigned empirically by a human expert, and accordingly, they might not be the most suitable values. In addition, the concatenative cost function provided above contains only first order components of the seven textual factors, yet, higher order interactions might exist among these factors. Furthermore, there might be other components that could be added into the concatenative cost function.
  • a method for optimizing the objective measure or concatenative cost function for unit selection in the corpus-based TTS system by maximizing the correlation between the concatenative cost and the MOS is provided.
  • the method is illustrated in FIG. 10 at 1000 .
  • a subjective evaluation should be done first as discussed above. However, a beneficial aspect of this step is to log or record in a file or other means the textual information of all units appearing in the synthetic utterances evaluated.
  • an initial concatenative cost function is used and a correlation with MOS is established.
  • the concatenative cost function is altered, for example, using any one or more of the techniques described below.
  • a new concatenative cost can be recalculated at step 1006 using the new a cost function.
  • the correlation between the new concatenative cost and MOS is obtained at step 1008 , which also serves as a measure for the validity of any change in the concatenative cost function.
  • Steps 1004 , 1006 and 1008 can be repeated as necessary until an optimized concatenative cost function is realized. It is important to note that only a single run of MOS evaluation (step 1002 ) is required in the optimization method 1000 . This is helpful because step 1002 can be particularly labor and time consuming. Other optimization algorithms such as Gradient Declination can also be used to optimize the free parameters.
  • the log file of step 1002 keeps the information of the target units wanted and the units actually used.
  • Concatenative cost for all sentences can be calculated with any new cost function from the log file. That is to say, the form of the cost function or the distance tables used by the cost function can be changed, and the validity of the change can be measured through movement of the correlation between the new cost and the MOS for the set of synthesized utterances.
  • the correlation between concatenative cost and MOS can be treated as a function of the parameters of the concatenative cost function, denoted by the following equation
  • N is number of free parameters in the concatenative cost function.
  • the concatenative cost function is defined as equation (3), distances between target and unit categories for the six textual factors and the weights for the seven factors can be free parameters.
  • An optimization routine is used to optimize the free parameters so that the largest correlation is to be achieved.
  • One suitable optimization routine that can be used is the function “fmincon” in the Matlab Optimization Toolbox by The MathWorks, Inc. of Natick, Mass., U.S.A (“Optimization Toolbox User's Guide: For Use with MATLAB”), which searches for the minimum of a constrained nonlinear multivariable function, and optimizes the free parameters so that the largest correlation is to be achieved. Since concatenative cost and MOS is negatively correlated, Corr in equation 4 is to be minimized.
  • optimization can be separated into many runs. In each run at step 1004 , only some of the parameters are optimized and the others are fixed at their original values. Referring to FIG. 11, three different kinds of changes can be made to the concatenative cost function; specifically optimize the distance tables for the six single-order textual factors individually at step 1102 ; explore the interactions among factors and add some higher order components into the cost function at step 1104 ; and optimize the weight for each component in the new cost function at step 1106 .
  • K is set to 4. In each run of optimization, only 300 utterances are used for training and the remaining 100 sentences are used for testing. If the difference between average correlation coefficients for the training and testing set is large, the optimization is considered invalid. Thus, the number of free parameters should be reduced. For valid optimization, means of the four sets of optimized parameters are used in the final cost function.
  • the distances between target categories and unit categories of a textual factor are assigned manually, which may not be the most suitable values.
  • the distance table for each textual factor is improved at step 1102 individually.
  • the concatenative cost function contains only a single textual component in each run of optimization.
  • the correlation coefficients between the six textual factors and MOS before and after optimization are listed in Table 1.
  • the initial distance table and the optimized one for RTC are given in Table 2(a) and 2(b) below.
  • T1-T5 represent the four normal tones and the neutral tone in Mandarin Chinese.
  • Rows in Tables 2(a) and 2(b) represent the target RTC, while the columns represent the unit RTC.
  • the numbers in the tables are the distances between target RTC and unit RTC. It can be seen that many distances reach a more precise value after optimization, in comparison to those given by a human expert. There are some numbers unchanged in Table 2(b) since they haven't been used enough times in the training set. Thus, they are fixed at the initial values during the optimizing phase.
  • the concatenative cost function is a linear combination of the seven factors. Yet, it has been discovered some of them may have interactions. However, to limit the number of free parameters, the numbers of categories for the six textual factors can be reduced, if desired. In the discussion provided below, the number of categories for PinP and PinW have been reduced to 2, while LPhC have been reduced to 4 and RPhC, LTC and RTC have been reduced to 3, although this should not be considered necessary or limiting. In the exemplary optimization method discussed herein, six second-order combinations (i.e.
  • step 1104 combinations of two textual factors are investigated at step 1104 , in which the maximum number of free parameters is 36; however it should be understood other combinations and/or even higher order combinations (combinations of three or more textual factors) can also be used.
  • the combination between LPhC and other factors has not been adopted since these combinations may cause too many free parameters.
  • the higher-order components also take only categorical values, the distance between categories are empirically predefined in distance tables. After optimizing the distance tables for these second-order components individually in a manner similar to that discussed above with the single-order textual factors in step 1104 , their correlation coefficients to MOS are listed in Table 3. Comparing Table 3 to Table 1, it can be seen that all combinations of Table 3 have a higher correlation than using PinP and PinW alone, yet, only coefficients for LTC-PinW and LTC-PinW pairs are higher than those of using LTC alone. It appears that some of the second-order components play important roles for unit selection.
  • An enumerated smoothness cost is used in the original cost function.
  • Various smoothness costs based on the combinations with the six textual factors have been investigated.
  • the values in the smoothness cost table can be optimized by maximizing the correlation between smoothness cost and MOS in the training sets, e.g. four training sets. After optimization, the correlation coefficient reaches 0.883, which is higher than the old one, 0.846. This reveals that the new smoothness cost is more suitable than the original one and is used to replace the original one in the cost function discussed below.
  • step 806 is formed by weighted sum of all the single-order components and higher-order components as discussed above.
  • the weights for each of the components are then optimized as discussed above.
  • An example of optimized weights for 13 components is provided in Table 4. Since some of the components received very small weights, they can be removed from the cost function without much effect.
  • step 808 includes removing some components below a selected threshold and keeping only the more significant components (identified with stars), wherein the weights of the remaining components are optimized again.
  • the new optimized weights in the final concatenative cost function for seven components are given in Table 5.

Abstract

A speech synthesizer is provided that concatenates stored samples of speech units without modifying the prosody of the samples. The present invention is able to achieve a high level of naturalness in synthesized speech with a carefully designed training speech corpus by storing samples based on the prosodic and phonetic context in which they occur. In particular, some embodiments of the present invention limit the training text to those sentences that will produce the most frequent sets of prosodic contexts for each speech unit. Further embodiments of the present invention also provide a multi-tier selection mechanism for selecting a set of samples that will produce the most natural sounding speech.

Description

    REFERENCE TO RELATED APPLICATION
  • The present application is a continuation-in-part of and claims priority of U.S. patent application Ser. No. 09/850,527, filed May 7, 2001, entitled “Method and Apparatus for Speech Synthesis without Prosody Modification”, which is based on and claims the benefit of U.S. Provisional application having serial No. 60/251,167, filed on Dec. 4, 2000 and entitled “PROSODIC WORD SEGMENTATION AND MULTI-TIER NON-UNIFORM UNIT SELECTION”.[0001]
  • BACKGROUND OF THE INVENTION
  • The present invention relates to speech synthesis. In particular, the present invention relates to prosody in speech synthesis. [0002]
  • Text-to-speech technology allows computerized systems to communicate with users through synthesized speech. The quality of these systems is typically measured by how natural or human-like the synthesized speech sounds. [0003]
  • Very natural sounding speech can be produced by simply replaying a recording of an entire sentence or paragraph of speech. However, the complexity of human languages and the limitations of computer storage may make it impossible to store every conceivable sentence that may occur in a text. Because of this, the art has adopted a concatenative approach to speech synthesis that can be used to generate speech from any text. This concatenative approach combines stored speech samples representing small speech units such as phonemes, diphones, triphones, or syllables to form a larger speech signal. [0004]
  • One problem with such concatenative systems is that a stored speech sample has a pitch and duration that is set by the context in which the sample was spoken. For example, in the sentence “Joe went to the store” the speech units associated with the word “store” have a lower pitch than in the question “Joe went to the store?” Because of this, if stored samples are simply retrieved without reference to their pitch or duration, some of the samples will have the wrong pitch and/or duration for the sentence resulting in unnatural sounding speech. [0005]
  • One technique for overcoming this is to identify the proper pitch and duration for each sample. Based on this prosody information, a particular sample may be selected and/or modified to match the target pitch and duration. [0006]
  • Identifying the proper pitch and duration is known as prosody prediction. Typically, it involves generating a model that describes the most likely pitch and duration for each speech unit given some text. The result of this prediction is a set of numerical targets for the pitch and duration of each speech segment. [0007]
  • These targets can then be used to select and/or modify a stored speech segment. For example, the targets can be used to first select the speech segment that has the closest pitch and duration to the target pitch and duration. This segment can then be used directly or can be further modified to better match the target values. [0008]
  • For example, one prior art technique for modifying the prosody of speech segments is the so-called Time-Domain Pitch-Synchronous Overlap-and-Add (TD-PSOLA) technique, which is described in “Pitch-Synchronous Waveform Processing Techniques for Text-to-Speech Synthesis using Diphones”, E. Moulines and F. Charpentier, Speech Communication, vol. 9, no. 5, pp. 453-467, 1990. Using this technique, the prior art increases the pitch of a speech segment by identifying a section of the speech segment responsible for the pitch. This section is a complex waveform that is a sum of sinusoids at multiples of a fundamental frequency F[0009] 0. The pitch period is defined by the distance between two pitch peaks in the waveform.
  • To increase the pitch, the prior art copies a segment of the complex waveform that is as long as the pitch period. This copied segment is then shifted by some portion of the pitch period and reinserted into the waveform. For example, to double the pitch, the copied segment would be shifted by one-half the pitch period, thereby inserting a new peak half-way between two existing peaks and cutting the pitch period in half. [0010]
  • To lengthen a speech segment, the prior art copies a section of the speech segment and inserts the copy into the complex waveform. In other words, the entire portion of the speech segment after the copied segment is time-shifted by the length of the copied section so that the duration of the speech unit increases. [0011]
  • Unfortunately, these techniques for modifying the prosody of a speech unit have not produced completely satisfactory results. In particular, these modification techniques tend to produce mechanical or “buzzy” sounding speech. [0012]
  • Thus, it would be desirable to be able to select a stored unit that provides good prosody without modification. However, because of memory limitations, samples cannot be stored for all of the possible prosodic contexts in which a speech unit may be used. Instead, a limited set of samples must be selected for storage. Because of this, the performance of a system that uses stored samples without prosody modification is dependent on what samples are stored. [0013]
  • Thus, there is an ongoing need for improving the selection of these stored samples in systems that do not modify the prosody of the stored samples. There is also an ongoing need to reduce the computational complexity associated with identifying the proper prosody for the speech units. [0014]
  • SUMMARY OF THE INVENTION
  • A speech synthesizer is provided that concatenates stored samples of speech units without modifying the prosody of the samples. The present invention is able to achieve a high level of naturalness in synthesized speech with a carefully designed speech corpus by storing samples based on the prosodic and phonetic context in which they occur. In particular, some embodiments of the present invention limit the training text to those sentences that will produce the most frequent sets of prosodic contexts for each speech unit. Further embodiments of the present invention also provide a multi-tier selection mechanism for selecting a set of samples that will produce the most natural sounding speech. [0015]
  • Under those embodiments that limit the training text, only a limited set of the sentences in a very large corpus are selected and read by a human into a training speech corpus from which samples of units are selected to produce natural sounding speech. To identify which sentences are to be read, embodiments of the present invention determine a frequency of occurrence for each context vector associated with a speech unit. Context vectors with a frequency of occurrence that is larger than a certain threshold are identified as necessary context vectors. Sentences that include the most necessary context vectors are selected for recording until all of the necessary context vectors have been included in the selected sub-set of sentences. [0016]
  • In embodiments that use a multi-tier selection method, a set of candidate speech segments is identified for each speech unit by comparing the input context vector to the context vectors associated with the speech segments. A path through the candidate speech segments is then selected based on differences between the input context vectors and the stored context vectors as well as some cost function that indicates the prosodic smoothness of the resulting concatenated speech signal. Under one embodiment, the cost function gives preference to selecting a series of speech segments that appeared next to each other in the training corpus. In further embodiments, the cost function cost function comprises linear, and/or, one or more higher order coordinates being combinations of at least two factors from a set of factors. The set of factors include: an indication of a position of a speech unit in a phrase; an indication of a position of a speech unit in a word; an indication of a category for a phoneme preceding a speech unit; an indication of a category for a phoneme following a speech unit; an indication of a category for tonal identity of the current speech unit; an indication of a category for tonal identity of a preceding speech unit; an indication of a category for tonal identity of a following speech unit; an indication of a level of stress of a speech unit; an indication of a coupling degree of pitch, duration and/or energy with a neighboring unit; and an indication of a degree of spectral mismatch with a neighboring speech unit. A technique for obtaining an optimized cost function, which can be used in a speech synthesizer as the criterion for the unit selection, is also provided below. [0017]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a block diagram of a general computing environment in which the present invention may be practiced. [0018]
  • FIG. 2 is a block diagram of a mobile device in which the present invention may be practiced. [0019]
  • FIG. 3 is a block diagram of a speech synthesis system. [0020]
  • FIG. 4 is a block diagram of a system for selecting a training text subset from a very large training corpus. [0021]
  • FIG. 5 is a flow diagram for constructing a decision tree under one embodiment of the present invention. [0022]
  • FIG. 6 is a block diagram of a multi-tier selection system for selecting speech segments under embodiments of the present invention. [0023]
  • FIG. 7 is a flow diagram of a multi-tier selection system for selecting speech segments under embodiments of the present invention. [0024]
  • FIG. 8 is a flow diagram for estimating mean opinion score from a context vector or an objective measure. [0025]
  • FIG. 9 is a plot of a relationship between mean opinion score and the objective measure. [0026]
  • FIG. 10 is a flow diagram illustrating a method for optimizing the objective measure. [0027]
  • FIG. 11 is a flow diagram illustrating an exemplary method of optimizing the objective measure. [0028]
  • DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS
  • FIG. 1 illustrates an example of a suitable [0029] computing system environment 100 on which the invention may be implemented. The computing system environment 100 is only one example of a suitable computing environment and is not intended to suggest any limitation as to the scope of use or functionality of the invention. Neither should the computing environment 100 be interpreted as having any dependency or requirement relating to any one or combination of components illustrated in the exemplary operating environment 100.
  • The invention is operational with numerous other general purpose or special purpose computing system environments or configurations. Examples of well known computing systems, environments, and/or configurations that may be suitable for use with the invention include, but are not limited to, personal computers, server computers, hand-held or laptop devices, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like. [0030]
  • The invention may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. The invention 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 computer storage media including memory storage devices. Tasks performed by the programs and modules are described below and with the aid of figures. Those skilled in the art can implement the description and figures as processor executable instructions, which can be written on any form of a computer readable media. [0031]
  • With reference to FIG. 1, an exemplary system for implementing the invention includes a general-purpose computing device in the form of a [0032] computer 110. Components of computer 110 may include, but are not limited to, a processing unit 120, a system memory 130, and a system bus 121 that couples various system components including the system memory to the processing unit 120. The system bus 121 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. By way of example, and not limitation, such architectures include Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI) bus also known as Mezzanine bus.
  • [0033] Computer 110 typically includes a variety of computer readable media. Computer readable media can be any available media that can be accessed by computer 110 and includes both volatile and nonvolatile media, removable and non-removable media. By way of example, and not limitation, computer readable media may comprise computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by computer 100.
  • Communication media typically embodies 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, FR, infrared and other wireless media. Combinations of any of the above should also be included within the scope of computer readable media. [0034]
  • The [0035] system memory 130 includes computer storage media in the form of volatile and/or nonvolatile memory such as read only memory (ROM) 131 and random access memory (RAM) 132. A basic input/output system 133 (BIOS), containing the basic routines that help to transfer information between elements within computer 110, such as during start-up, is typically stored in ROM 131. RAM 132 typically contains data and/or program modules that are immediately accessible to and/or presently being operated on by processing unit 120. By way of example, and not limitation, FIG. 1 illustrates operating system 134, application programs 135, other program modules 136, and program data 137.
  • The [0036] computer 110 may also include other removable/non-removable volatile/nonvolatile computer storage media. By way of example only, FIG. 1 illustrates a hard disk drive 141 that reads from or writes to non-removable, nonvolatile magnetic media, a magnetic disk drive 151 that reads from or writes to a removable, nonvolatile magnetic disk 152, and an optical disk drive 155 that reads from or writes to a removable, nonvolatile optical disk 156 such as a CD ROM or other optical media. Other removable/non-removable, volatile/nonvolatile computer storage media that can be used in the exemplary operating environment include, but are not limited to, magnetic tape cassettes, flash memory cards, digital versatile disks, digital video tape, solid state RAM, solid state ROM, and the like. The hard disk drive 141 is typically connected to the system bus 121 through a non-removable memory interface such as interface 140, and magnetic disk drive 151 and optical disk drive 155 are typically connected to the system bus 121 by a removable memory interface, such as interface 150.
  • The drives and their associated computer storage media discussed above and illustrated in FIG. 1, provide storage of computer readable instructions, data structures, program modules and other data for the [0037] computer 110. In FIG. 1, for example, hard disk drive 141 is illustrated as storing operating system 144, application programs 145, other program modules 146, and program data 147. Note that these components can either be the same as or different from operating system 134, application programs 135, other program modules 136, and program data 137. Operating system 144, application programs 145, other program modules 146, and program data 147 are given different numbers here to illustrate that, at a minimum, they are different copies.
  • A user may enter commands and information into the [0038] computer 110 through input devices such as a keyboard 162, a microphone 163, and a pointing device 161, such as a mouse, trackball or touch pad. Other input devices (not shown) may include a joystick, game pad, satellite dish, scanner, or the like. These and other input devices are often connected to the processing unit 120 through a user input interface 160 that is coupled to the system bus, but may be connected by other interface and bus structures, such as a parallel port, game port or a universal serial bus (USB). A monitor 191 or other type of display device is also connected to the system bus 121 via an interface, such as a video interface 190. In addition to the monitor, computers may also include other peripheral output devices such as speakers 197 and printer 196, which may be connected through an output peripheral interface 190.
  • The [0039] computer 110 may operate in a networked environment using logical connections to one or more remote computers, such as a remote computer 180. The remote computer 180 may be a personal computer, a hand-held device, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to the computer 110. The logical connections depicted in FIG. 1 include a local area network (LAN) 171 and a wide area network (WAN) 173, but may also include other networks. Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets and the Internet.
  • When used in a LAN networking environment, the [0040] computer 110 is connected to the LAN 171 through a network interface or adapter 170. When used in a WAN networking environment, the computer 110 typically includes a modem 172 or other means for establishing communications over the WAN 173, such as the Internet. The modem 172, which may be internal or external, may be connected to the system bus 121 via the user input interface 160, or other appropriate mechanism. In a networked environment, program modules depicted relative to the computer 110, or portions thereof, may be stored in the remote memory storage device. By way of example, and not limitation, FIG. 1 illustrates remote application programs 185 as residing on remote computer 180. It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers may be used.
  • To further help understand the usefulness of the present invention, it may helpful to provide a brief description of a [0041] speech synthesizer 300 illustrated in FIG. 3. However, it should be noted that the synthesizer 300 is provided for exemplary purposes and is not intended to limit the present invention.
  • FIG. 2 is a block diagram of a [0042] mobile device 200, which is an exemplary computing environment. Mobile device 200 includes a microprocessor 202, memory 204, input/output (I/O) components 206, and a communication interface 208 for communicating with remote computers or other mobile devices. In one embodiment, the afore-mentioned components are coupled for communication with one another over a suitable bus 210.
  • [0043] Memory 204 is implemented as non-volatile electronic memory such as random access memory (RAM) with a battery back-up module (not shown) such that information stored in memory 204 is not lost when the general power to mobile device 200 is shut down. A portion of memory 204 is preferably allocated as addressable memory for program execution, while another portion of memory 204 is preferably used for storage, such as to simulate storage on a disk drive.
  • [0044] Memory 204 includes an operating system 212, application programs 214 as well as an object store 216. During operation, operating system 212 is preferably executed by processor 202 from memory 204. Operating system 212, in one preferred embodiment, is a WINDOWS® CE brand operating system commercially available from Microsoft Corporation. Operating system 212 is preferably designed for mobile devices, and implements database features that can be utilized by applications 214 through a set of exposed application programming interfaces and methods. The objects in object store 216 are maintained by applications 214 and operating system 212, at least partially in response to calls to the exposed application programming interfaces and methods.
  • [0045] Communication interface 208 represents numerous devices and technologies that allow mobile device 200 to send and receive information. The devices include wired and wireless modems, satellite receivers and broadcast tuners to name a few. Mobile device 200 can also be directly connected to a computer to exchange data therewith. In such cases, communication interface 208 can be an infrared transceiver or a serial or parallel communication connection, all of which are capable of transmitting streaming information.
  • Input/[0046] output components 206 include a variety of input devices such as a touch-sensitive screen, buttons, rollers, and a microphone as well as a variety of output devices including an audio generator, a vibrating device, and a display. The devices listed above are by way of example and need not all be present on mobile device 200. In addition, other input/output devices may be attached to or found with mobile device 200 within the scope of the present invention.
  • Under the present invention, a speech synthesizer is provided that concatenates stored samples of speech units without modifying the prosody of the samples. The present invention is able to achieve a high level of naturalness in synthesized speech with a carefully designed speech corpus by storing samples based on the prosodic and phonetic context in which they occur. In particular, the present invention limits the training text to those sentences that will produce the most frequent sets of prosodic contexts for each speech unit. The present invention also provides a multi-tier selection mechanism for selecting a set of samples that will produce the most natural sounding speech. [0047]
  • FIG. 3 is a block diagram of a [0048] speech synthesizer 300 that is capable of constructing synthesized speech 302 from an input text 304 under embodiments of the present invention. In conventional concatenative TTS systems, a pitch and duration modification algorithm, such as PSOLA, is applied to pre-stored units to guarantee that the prosodic features of synthetic speech meet the predicted target values. These systems have the advantages of flexibility in controlling the prosody. Yet, they often suffer from significant quality decrease in naturalness. In the TTS system 300, speech is generated by directly concatenating speech segments (for speech units such as syllables, phonemes, diphones, semiphones, etc.) without any pitch or duration modification under the assumption that the speech database contains enough prosodic and spectral varieties for all speech units and the best fitting segments can always be found.
  • Before [0049] speech synthesizer 300 can be utilized to construct speech 302, it must be initialized with samples of speech units taken from a training text 306 that is read into speech synthesizer 300 as training speech 308.
  • As noted above, speech synthesizers are constrained by a limited size memory. Because of this, [0050] training text 306 must be limited in size to fit within the memory. However, if the training text is too small, there will not be enough samples of the training speech to allow for concatenative synthesis without prosody modifications. One aspect of the present invention overcomes this problem by trying to identify a set of speech units in a very large text corpus that must be included in the training text to allow for concatenative synthesis without prosody modifications.
  • FIG. 4 provides a block diagram of components used to identify [0051] smaller training text 306 of FIG. 3 from a very large corpus 400. Under one embodiment, very large corpus 400 is a corpus of five years worth of the People's Daily, a Chinese newspaper, and contains about 97 million Chinese Characters.
  • Initially, [0052] training text 400 is parsed by a parser/semantic identifier 402 into strings of individual speech units attached with various textual information. Under some embodiments of the invention, especially those used to form Chinese speech, the speech units are tonal syllables. However, other speech units such as phonemes, diphones, triphones or the mix of them may be used within the scope of the present invention.
  • Parser/[0053] semantic identifier 402 also identifies high-level prosodic information about each sentence provided to the parser 402. This high-level prosodic information includes the predicted tonal levels for each speech unit as well as the grouping of speech units into prosodic words and phrases. In embodiments where tonal syllable speech units are used, parser/semantic identifier 402 also identifies the first and last phoneme in each speech unit.
  • The strings of speech units attached with textual and prosodic information produced from the training text are provided to a [0054] context vector generator 404, which generates a Speech-unit Dependent Descriptive Contextual Variation Vector (SDDCVV, hereinafter referred to as a “context vector”). The context vector describes several context variables that can affect the naturalness of the speech unit. Under one embodiment, the context vector describes six variables or coordinates of textual information. They are:
  • Position in phrase (PinP): the position of the current speech unit in its carrying prosodic phrase. [0055]
  • Position in word (PinW): the position of the current speech unit in its carrying prosodic word. [0056]
  • Left phonetic context (LPhC): category of the last phoneme in the speech unit to the left (preceding) of the current speech unit. [0057]
  • Right phonetic context (RPhC): category of the first phoneme in the speech unit to the right (following) of the current speech unit. [0058]
  • Left tone context (LTC): the tone category of the speech unit to the left (preceding) of the current speech unit. [0059]
  • Right tone context (RTC): the tone category of the speech unit to the right (following) of the current speech unit. [0060]
  • If desired, the coordinates of the context vector can also include the stress level of the current speech unit, the tonal identity of current speech unit or the coupling degree of its pitch, duration and/or energy with its neighboring units. [0061]
  • Under one embodiment, the position in phrase coordinate and the position in word coordinate can each have one of four values, the left phonetic context can have one of eleven values, the right phonetic context can have one of twenty-six values and the left and right tonal contexts can each have one of two values. Under this embodiment, there are 4*4*11*26*2*2=18304 possible context vectors for each speech unit. [0062]
  • The context vectors produced by [0063] generator 404 are grouped based on their speech unit. For each speech unit, a frequency-based sorter 406 identifies the most frequent context vectors for each speech unit. The most frequently occurring context vectors for each speech unit are then stored in a list of necessary context vectors 408. In one embodiment, the top context vectors, whose accumulated frequency of occurrence is not less than half of the total frequency of occurrence of all units, are stored in the list.
  • The sorting and pruning performed by [0064] sorter 406 is based on a discovery made by the present inventors. In particular, the present inventors have found that certain context vectors occur repeatedly in the corpus. By making sure that these context vectors are found in the training corpus, the present invention increases the chances of having an exact context match for an input text without greatly increasing the size of the training corpus. For example, the present inventors have found that by ensuring that the top two percent of the context vectors are represented in the training corpus, an exact context match will be found for an input text speech unit over fifty percent of the time.
  • Using the list of [0065] necessary context vectors 408, a text selection unit 410 selects sentences from very large corpus 400 to produce training text subset 306. In a particular embodiment, text selection unit 410 uses a greedy algorithm to select sentences from corpus 400. Under this greedy algorithm, selection unit 410 scans all sentences in the corpus and picks out one at a time to add to the selected group.
  • During the scan, [0066] selection unit 410 determines how many context vectors in list 408 are found in each sentence. The sentence that contains the maximum number of needed context vectors is then added to training text 306. The context vectors that the sentence contains are removed from list 408 and the sentence is removed from the large text corpus 400. The scanning is repeated until all of the context vectors have been removed from list 408.
  • After [0067] training text subset 306 has been formed, it is read by a person and digitized into a training speech corpus. Both the training text and training speech can be used to initialize speech synthesizer 300 of FIG. 3. This initialization begins by parsing the sentences of text 306 into individual speech units that are annotated with high-level prosodic information. In FIG. 3, this is accomplished by a parser/semantic identifier 310, which is similar to parser/semantic identifier 402 of FIG. 4. The parsed speech units and their high-level prosodic description are then provided to a context vector generator 312, which is similar to context vector generator 404 of FIG. 4.
  • The context vectors produced by [0068] context vector generator 312 are provided to a component storing unit 314 along with speech samples produced by a sampler 316 from training speech signal 308. Each sample provided by sampler 316 corresponds to a speech unit identified by parser 310. Component storing unit 314 indexes each speech sample by its context vector to form an indexed set of stored speech components 318.
  • Under one embodiment, the samples are indexed, for example, by a prosody-dependent decision tree (PDDT), which is formed automatically using a classification and regression tree (CART). CART provides a mechanism for selecting questions that can be used to divide the stored speech components into small groups of similar speech samples. Typically, each question is used to divide a group of speech components into two smaller groups. With each question, the components in the smaller groups become more homogenous. The process for using CART to form the decision tree is shown in FIG. 5. [0069]
  • At [0070] step 500 of FIG. 5, a list of candidate questions is generated for the decision tree. Under one embodiment, each question is directed toward some coordinate or combination of coordinates in the context vector.
  • At [0071] step 502, an expected square error is determined for all of the training samples from sampler 316. The expected square error gives a measure of the distances among a set of features of each sample in a group. In one particular embodiment, the features are prosodic features of average fundamental frequency (Fa), average duration (Fb), and range of the fundamental frequency (Fc) for a unit. For this embodiment, the expected square error is defined as:
  • ESE(t)=E(W a E a +W b E b +W c E c)  EQ. 1
  • where ESE(t) is the expected square error for all samples X on node t in the decision tree, E[0072] a, Eb, and Ec are the square error for Fa, Fb, and Fc, respectively, Wa, Wb, and Wc are weights, and the operation of determining the expected value of the sum of square errors is indicated by the outer E( ).
  • Each square error is then determined as: [0073]
  • E j =|F j −R(F j)|2 =,j=a,b,c  EQ. 2
  • where R(F[0074] j) is a regression value calculated from samples X on node t. In this embodiment, the regression value is the expected value of the feature as calculated from the samples X at node t:
  • R j(F j)=E(F j /X∈nodet).
  • Once the expected square error has been determined at [0075] step 502, the first question in the question list is selected at step 504. The selected question is applied to the context vectors at step 506 to group the samples into candidate sub-nodes for the tree. The expected square error of each sub-node is then determined at step 508 using equations 1 and 2 above.
  • At [0076] step 510, a reduction in expected square error created by generating the two sub-nodes is determined. Under one embodiment, this reduction is calculated as:
  • ΔWESE(t)=ESE(t)P(t)−(ESE(l)P(l)+ESE(r)P(r))  EQ. 3
  • where ΔWESE(t) is the reduction in expected square error, ESE(t) is the expected square error of node t, against which the question was applied, P(t) is the percentage of samples in node t, ESE(l) and ESE(r) are the expected square error of the left and right sub-nodes formed by the question, respectively, and P(l) and P(r) are the percentage of samples in the left and right node, respectively. [0077]
  • The reduction in expected square error provided by the current question is stored and the CART process determines if the current question is the last question in the list at [0078] step 512. If there are more questions in the list, the next question is selected at step 514 and the process returns to step 506 to divide the current node into sub-nodes based on the new question.
  • After every question has been applied to the current node at [0079] step 512, the reductions in expected square error provided by each question are compared and the question that provides the greatest reduction is set as the question for the current node of the decision tree at step 515.
  • At [0080] step 516, a decision is made as to whether or not the current set of leaf nodes should be further divided. This determination can be made based on the number of samples in each leaf node or the size of the reduction in square error possible with further division.
  • Under one embodiment, when the decision tree is in its final form, each leaf node will contain a number of samples for a speech unit. These samples have slightly different prosody from each other. For example, they may have different phonetic contexts or different tonal contexts from each other. By maintaining these minor differences within a leaf node, this embodiment of the invention introduces slender diversity in prosody, which is helpful in removing monotonous prosody. [0081]
  • If the current leaf nodes are to be further divided at [0082] step 516, a leaf node is selected at step 518 and the process returns to step 504 to find a question to associate with the selected node. If the decision tree is complete at step 516, the process of FIG. 5 ends at step 520.
  • The process of FIG. 5 results in a prosody-[0083] dependent decision tree 320 of FIG. 3 and a set of stored speech samples 318, indexed by decision tree 320. Once created, decision tree 320 and speech samples 318 can be used under further aspects of the present invention to generate concatenative speech without requiring prosody modification.
  • The process for forming concatenative speech begins by parsing a sentence in [0084] input text 304 using parser/semantic identifier 310 and identifying high-level prosodic information for each speech unit produced by the parse. This prosodic information is then provided to context vector generator 312, which generates a context vector for each speech unit identified in the parse. The parsing and the production of the context vectors are performed in the same manner as was done during the training of prosody decision tree 320.
  • The context vectors are provided to a [0085] component locator 322, which uses the vectors to identify a set of samples for the sentence. Under one embodiment, component locator 322 uses a multi-tier non-uniform unit selection algorithm to identify the samples from the context vectors.
  • FIGS. 6 and 7 provide a block diagram and a flow diagram for the multi-tier non-uniform selection algorithm. In [0086] step 700, each vector in the set of input context vectors is applied to prosody-dependent decision tree 320 to identify a leaf node array 600 that contains a leaf node for each context vector. At step 702, a set of distances is determined by a distance calculator 602 for each input context vector. In particular, a separate distance is calculated between the input context vector and each context vector found in its respective leaf node. Under one embodiment, each distance is calculated as: D c = i = 1 I W ci D i EQ . 4
    Figure US20040148171A1-20040729-M00001
  • where D[0087] c is the context distance, Di is the distance for coordinate i of the context vector, Wci is a weight associated with coordinate i, and I is the number of coordinates in each context vector.
  • At [0088] step 704, the N samples with the closest context vectors are retained while the remaining samples are pruned from node array 600 to form pruned leaf node array 604. The number of samples, N, to leave in the pruned nodes is determined by balancing improvements in prosody with improved processing time. In general, more samples left in the pruned nodes means better prosody at the cost of longer processing time.
  • At [0089] step 706, the pruned array is provided to a Viterbi decoder 606, which identifies a lowest cost path through the pruned array. Under a single-tier embodiment of the present invention, the lowest cost path is identified simply by selecting the sample with the closest context vector in each node. Under a multi-tier embodiment, the cost function is modified to be: C c = W c j = 1 J D cj + W s j = 1 J C sj EQ . 5
    Figure US20040148171A1-20040729-M00002
  • where C[0090] c is the concatenation cost for the entire sentence, Wc is a weight associated with the distance measure of the concatenated cost, Dcj is the distance calculated in equation 4 for the jth speech unit in the sentence, Ws is a weight associated with a smoothness measure of the concatenated cost, Csj is a smoothness cost for the jth speech unit, and J is the number of speech units in the sentence.
  • The smoothness cost in [0091] Equation 5 is defined to provide an objective measure of the prosodic mismatch between sample j and the samples proposed as the neighbors to sample j by the Viterbi decoder. Under one embodiment, the smoothness cost is determined based on whether a sample and its neighbors were found as neighbors in an utterance in the training corpus. If a sample occurred next to its neighbors in the training corpus, the smoothness cost is zero since the samples contain the proper spectral transition in between. If a sample did not occur next to its neighbors in the training corpus (referred as non-neighboring case), the smoothness cost is set to one. Under another embodiment, different values are assigned to the smoothness cost for non-neighboring cases according to their boundary types. For example, if the boundary between the two segments is sonorant to sonorant, the largest cost (1) is given. If the boundary between them is non-sonorant consonant to non-sonorant consonant, a small cost (0.2) is given. The cost between sonorant to non-sonorant or non-sonorant to sonorant transition is in middle (0.5). The different smoothness costs lead the search algorithm to prefer concatenation at boundaries with smaller cost.
  • Using the multi-tier non-uniform approach, if a large block of speech units, such as a word or a phrase, in the input text exists in the training corpus, preference will be given to selecting all of the samples associated with that block of speech units. Note, however, that if the block of speech units occurred within a different prosodic context, the distance between the context vectors will likely cause different samples to be selected than those associated with the block. [0092]
  • Once the lowest cost path has been identified by [0093] Viterbi decoder 606, the identified samples 608 are provided to speech constructor 303. With the exception of small amounts of smoothing at the boundaries between the speech units, speech constructor 303 simply concatenates the speech units to form synthesized speech 302. Thus, the speech units are combined without having to change their prosody.
  • The cost function or objective measure provided above contains only first order components of the seven textual factors, yet, higher order interactions might exist among these factors. In further embodiments, the context vector, cost function or objective measure comprises one or more higher order coordinates being combinations of at least two factors from a set of factors including: an indication of a position of a speech unit in a phrase; an indication of a position of a speech unit in a word; an indication of a category for a phoneme preceding a speech unit; an indication of a category for a phoneme following a speech unit; an indication of a category for tonal identity of the current speech unit; an indication of a category for tonal identity of a preceding speech unit; an indication of a category for tonal identity of a following speech unit; an indication of a level of stress of a speech unit; an indication of a coupling degree of pitch, duration and/or energy with a neighboring unit; and an indication of a degree of spectral mismatch with a neighboring speech unit. A technique for obtaining an optimized cost function, which can be used in the [0094] speech synthesizer 300 as the criterion for the unit selection, is also provided below.
  • Evaluating the quality of synthesized speech contains two aspects, intelligibility and naturalness. Generally, intelligibility is not a large concern for most text-to-speech systems. However, the naturalness of synthesized speech is a larger issue and is still far from most expectations. [0095]
  • During text-to-speech system development, it is necessary to have regular evaluations on a naturalness of the system. The Mean Opinion Score (MOS) is one of the most popular and widely accepted subjective measures for naturalness. However, running a formal MOS evaluation is expensive and time consuming. Generally, to obtain a MOS score for a system under consideration, a collection of synthesized waveforms must be obtained from the system. The synthesized waveforms, together with some waveforms generated from other text-to-speech systems and/or waveforms uttered by a professional announcer are randomly played to a set of subjects. Each of the subjects are asked to score the naturalness of each waveform from 1-5 (1=bad, 2=poor, 3=fair, 4=good, 5=excellent). The means of the scores from the set of subjects for a given waveform represents naturalness in a MOS evaluation. Recently, a method for estimating mean opinion score or naturalness of synthesized speech has been advanced by Chu, M. and Peng, H., in “An objective measure for estimating MOS of synthesized speech”, [0096] Proceedings of Eurospeech2001, 2001, and is discussed further below. The method includes using an objective measure that has components derived directly from textual information used to form synthesized utterances. The objective measure has a high correlation with the mean opinion score such that a relationship can be formed between the objective measure and the corresponding mean opinion score. An estimated mean opinion score can be obtained easily from the relationship when the objective measure is applied to utterances of a modified speech synthesizer.
  • The objective measure can be based on one or more factors of the speech units used to create the utterances. The factors can include the position of the speech unit in a phrase or word, the neighboring phonetic or tonal context, the spectral mismatch of successive speech units or the stress level of the speech unit. Weighting factors can be used since correlation of the factors with mean opinion score has been found to vary between the factors. [0097]
  • By using the objective measure it is easy to track performance in naturalness of the speech synthesizer, thereby allowing efficient development of the speech synthesizer. In particular, the objective measure can serve as criteria for optimizing the algorithms for speech unit selection and speech database pruning. [0098]
  • As discussed above, the evaluation of concatenative cost can form the basis of an objective measure for MOS estimation. A method for using the objective measure in estimating MOS is illustrated in FIG. 8. Generally, the method includes generating a set of synthesized utterances at [0099] step 800, and subjectively rating each of the utterances at step 802. A score is then calculated for each of the synthesized utterances using the objective measure at step 804. The scores from the objective measure and the ratings from the subjective analysis are then analyzed to determine a relationship at step 806. The relationship is used at step 808 to estimate naturalness or MOS when the objective measure is applied to the textual information of speech units for another utterance or second set of utterances from a modified speech synthesizer (e.g. when a parameter of the speech synthesizer has been changed). It should be noted that the words of the “another utterance” or the “second set of utterances” obtained from the modified speech synthesizer can be the same or different words used in the first set of utterances.
  • In one embodiment, in order to make the concatenative cost comparable among utterances with variable number of syllables, the average concatenative cost of an utterance is used and can be expressed as: [0100] C a = i = 1 I + 1 W i C ai C ai = { 1 J l = 1 J D i ( l ) , i = 1 , , I 1 J - 1 l = 1 J - 1 C s ( l ) , i = I + 1 W i = { W ci W c i = 1 , , I W s i = I + 1 EQ . 6
    Figure US20040148171A1-20040729-M00003
  • where, C[0101] a is the average concatenative cost and Cai (i=1, . . . ,7) one or more of the factors that contribute to Ca, which are, in the illustrative embodiment, the average costs for position in phrase (“PinP”), position in word (“PinW”), left phonetic context (“LPhC”), right phonetic context (“RPhC”), left tone context (“LTC”), right tone context (“RTC”) and smoothness cost per unit in an utterance.
  • The cost function as provided above is a weighted sum of seven factors. Six of the factors are distances between the target category and the category of candidate unit (named as unit category) for the six contextual factors, which are PinP, PinW, LPhC, RPhC, LTC and RTC. Since all these factors take only categorical values, the distance between categories are empirically predefined in distance tables. The seventh factor is an enumerated smoothness cost, which takes value 0 when current candidate unit is a continuous segment with the unit before it in the unit inventory and takes value larger than 0 otherwise. [0102]
  • W[0103] i are weights for the seven component-costs and all are set to 1, but can be changed. For instance, it has been found that the coordinate having the highest correlation with mean opinion score was smoothness, whereas the lowest correlation with mean opinion score was position in phase. It is therefore reasonable to assign larger weights for components with high correlation and smaller weights for components with low correlation. In one experiment, the following weights were used:
  • Position in Phrase, W[0104] 1=0.10
  • Position in Word, W[0105] 2=0.60
  • Left Phonetic Context, W[0106] 3=0.10
  • Right Phonetic Context, W[0107] 4=0.76
  • Left Tone Context, W[0108] 5=1.76
  • Right Tone Context, W[0109] 6=0.72
  • Smoothness, W[0110] 7=2.96
  • In one exemplary embodiment, 100 sentences are carefully selected from a 200 MB text corpus so the C[0111] a and Cai (i=1, . . . ,7) of them are scattered into wide spans. Four synthesized waveforms are generated for each sentence with the speech synthesizer 200 above with four speech databases, whose sizes are 1.36 GB, 0.9 GB, 0.38 GB and 0.1 GB, respectively. Ca and Cai of each waveform are calculated. All the 400 synthesized waveforms, together with some waveforms generated from other TTS systems and waveforms uttered by a professional announcer, are randomly played to 30 subjects. Each of the subjects is asked to score the naturalness of each waveform from 1-5 (1=bad, 2=poor, 3=fair, 4=good, 5=excellent). The mean of the thirty scores for a given waveform represents its naturalness in MOS.
  • Fifty original waveforms uttered by the speaker who provides voice for the speech database are used in this example. The average MOS for these waveforms was 4.54, which provides an upper bound for MOS of synthetic voice. Providing subjects a wide range of speech quality by adding waveforms from other systems can be helpful so that the subjects make good judgements on naturalness. However, only the MOS for the 400 waveforms generated by the speech synthesizer under evaluation are used in conjunction with the corresponding average concatenative cost score. [0112]
  • FIG. 9 is a plot illustrating the objective measure (average concatenative cost) versus subjective measure (MOS) for the 400 waveforms. A correlation coefficient between the two dimensions is −0.822, which reveals that the average concatenative cost function replicates, to a great extent, the perceptual behavior of human beings. The minus sign of the coefficient means that the two dimensions are negatively correlated. The larger C[0113] a is, the smaller the corresponding MOS will be. A linear regression trendline 902 is illustrated in FIG. 9 and is estimated by calculating the least squares fit throughout points. The trendline or curve is denoted as the average concatenative cost-MOS curve and for the exemplary embodiment is:
  • Y=−1.0327x+4.0317.
  • However, it should be noted that analysis of the relationship of average concatenative cost and MOS score for the representative waveforms can also be performed with other curve-fitting techniques, using, for example, higher-order polynomial functions. Likewise, other techniques of correlating average concatenative cost and MOS can be used. For instance, neural networks and decision trees can also be used. [0114]
  • Using the average concatenative cost vs. MOS relationship, an estimate of MOS for a single synthesized speech waveform can be obtained by its average concatenative cost. Likewise, an estimate of the average MOS for a TTS system can be obtained from the average of the average of the concatenative costs that are calculated over a large amount of synthesized speech waveforms. In fact, when calculating the average concatenative cost, it is unnecessary to generate the speech waveforms since the costs can be calculated after the speech units have been selected. [0115]
  • Although the concatenative cost function has proven to replicate, to a great extent, the perceptual behavior of human beings, it might not be optimal. It has been discovered by the inventors that some factors that can contribute to inaccuracies in the concatenative cost function include that many parameters in the cost function are assigned empirically by a human expert, and accordingly, they might not be the most suitable values. In addition, the concatenative cost function provided above contains only first order components of the seven textual factors, yet, higher order interactions might exist among these factors. Furthermore, there might be other components that could be added into the concatenative cost function. [0116]
  • A method for optimizing the objective measure or concatenative cost function for unit selection in the corpus-based TTS system by maximizing the correlation between the concatenative cost and the MOS is provided. The method is illustrated in FIG. 10 at [0117] 1000. At step 1002, a subjective evaluation should be done first as discussed above. However, a beneficial aspect of this step is to log or record in a file or other means the textual information of all units appearing in the synthetic utterances evaluated. At step 1003, an initial concatenative cost function is used and a correlation with MOS is established. At step 1004, the concatenative cost function is altered, for example, using any one or more of the techniques described below. With the recorded log file, a new concatenative cost can be recalculated at step 1006 using the new a cost function. The correlation between the new concatenative cost and MOS is obtained at step 1008, which also serves as a measure for the validity of any change in the concatenative cost function. Steps 1004, 1006 and 1008 can be repeated as necessary until an optimized concatenative cost function is realized. It is important to note that only a single run of MOS evaluation (step 1002) is required in the optimization method 1000. This is helpful because step 1002 can be particularly labor and time consuming. Other optimization algorithms such as Gradient Declination can also be used to optimize the free parameters.
  • As indicated above, in order to evaluate improvements and accuracy made to the cost function, a measure needs to be used. One useful measure has been found to be the correlation between the concatenative cost and the MOS such as illustrated in FIG. 9. Thus, if the correlation between concatenative cost and MOS improves with changes to the concatenative cost function, such changes can be included in the concatenative cost function. [0118]
  • As mentioned above, the log file of [0119] step 1002 keeps the information of the target units wanted and the units actually used. Concatenative cost for all sentences can be calculated with any new cost function from the log file. That is to say, the form of the cost function or the distance tables used by the cost function can be changed, and the validity of the change can be measured through movement of the correlation between the new cost and the MOS for the set of synthesized utterances. Furthermore, when a specific format is given to a cost function, the correlation between concatenative cost and MOS can be treated as a function of the parameters of the concatenative cost function, denoted by the following equation
  • Corr=f(x 1 , x 2 , . . . , x N)  EQ. 7
  • where, N is number of free parameters in the concatenative cost function. If the concatenative cost function is defined as equation (3), distances between target and unit categories for the six textual factors and the weights for the seven factors can be free parameters. An optimization routine is used to optimize the free parameters so that the largest correlation is to be achieved. One suitable optimization routine that can be used is the function “fmincon” in the Matlab Optimization Toolbox by The MathWorks, Inc. of Natick, Mass., U.S.A (“Optimization Toolbox User's Guide: For Use with MATLAB”), which searches for the minimum of a constrained nonlinear multivariable function, and optimizes the free parameters so that the largest correlation is to be achieved. Since concatenative cost and MOS is negatively correlated, Corr in [0120] equation 4 is to be minimized.
  • In one embodiment, for instance, depending on the number of utterances available with MOS scores, the number of free parameters in each run of optimization should not be too large. Thus, in one embodiment, optimization can be separated into many runs. In each run at [0121] step 1004, only some of the parameters are optimized and the others are fixed at their original values. Referring to FIG. 11, three different kinds of changes can be made to the concatenative cost function; specifically optimize the distance tables for the six single-order textual factors individually at step 1102; explore the interactions among factors and add some higher order components into the cost function at step 1104; and optimize the weight for each component in the new cost function at step 1106.
  • Since some parameters in the distance tables may not be used frequently depending on the number of available sentences, optimizing them with a few observations will probably cause an overfitting problem. In this case, to avoid overfitting, a threshold can be set for the number of times a parameter had been used. Only frequently used ones are optimized. Though, no globally optimized solution is guaranteed, it is quite likely that the overall correlation is increased. [0122]
  • In order to check the validity of the optimized parameters, a K-fold cross validation experiment is done. In one embodiment, K is set to 4. In each run of optimization, only 300 utterances are used for training and the remaining [0123] 100 sentences are used for testing. If the difference between average correlation coefficients for the training and testing set is large, the optimization is considered invalid. Thus, the number of free parameters should be reduced. For valid optimization, means of the four sets of optimized parameters are used in the final cost function.
  • As indicated above, the distances between target categories and unit categories of a textual factor are assigned manually, which may not be the most suitable values. In a first method of optimization of the concatenative cost function, the distance table for each textual factor is improved at [0124] step 1102 individually. Here, the concatenative cost function contains only a single textual component in each run of optimization. The correlation coefficients between the six textual factors and MOS before and after optimization are listed in Table 1.
    TABLE 1
    IniCorr TrCorr TsCorr
    PinP 0.498 0.525 0.498
    PinW 0.623 0.631 0.623
    LPhC 0.553 0.715 0.703
    RPhC 0.688 0.742 0.736
    LTC 0.654 0.743 0.731
    RTC 0.622 0.755 0.732
  • In Table 1, the correlation coefficients between the six textual factors and MOS before and after optimization are provided where “IniCorr” provides the initial coefficient obtained with the empirical distance tables; “TrCorr” provides the average coefficient on the four training sets after optimization; and “TsCorr” provides the average coefficient on testing sets after optimization. [0125]
  • It can be seen that there is no change for the correlation for the factor PinP and PinW on the testing set, and both of them have smaller correlation to MOS than other factors. The reason might be that both of them have been used in the splitting question for constructing indexing CART for the unit inventory. Thus, most of the units used in subjective experiment have zero distances for the two factors. For the other four factors, great increases are obtained. [0126]
  • Using the factor RTC by way of example for detailed explanation, the initial distance table and the optimized one for RTC are given in Table 2(a) and 2(b) below. T1-T5 represent the four normal tones and the neutral tone in Mandarin Chinese. Rows in Tables 2(a) and 2(b) represent the target RTC, while the columns represent the unit RTC. The numbers in the tables are the distances between target RTC and unit RTC. It can be seen that many distances reach a more precise value after optimization, in comparison to those given by a human expert. There are some numbers unchanged in Table 2(b) since they haven't been used enough times in the training set. Thus, they are fixed at the initial values during the optimizing phase. [0127]
    TABLE 2(a)
    The initial distance table
    Unit Target RTC
    RTC T1 T2 T3 T4 T5
    Ti 0 0.25 0.75 0.25 1
    T2 0.5 0 0.25 0.75 1
    T3 0.5 0.25 0 0.75 1
    T4 0.75 0.5 1 0 0.25
    T5 0.5 0.75 1 0.25 0
  • [0128]
    TABLE 2(b)
    The optimized distance table
    Unit Target RTC
    RTC T1 T2 T3 T4 T5
    T1 0 0.25 0.75 0.93 0.27
    T2 0.62 0 0.37 0.95 1
    T3 0.5 0.88 0 0.75 1
    T4 0.87 0.56 1 0 0.58
    T5 0.5 0.75 1 0.66 0
  • As provided above in equation 6, the concatenative cost function is a linear combination of the seven factors. Yet, it has been discovered some of them may have interactions. However, to limit the number of free parameters, the numbers of categories for the six textual factors can be reduced, if desired. In the discussion provided below, the number of categories for PinP and PinW have been reduced to 2, while LPhC have been reduced to 4 and RPhC, LTC and RTC have been reduced to 3, although this should not be considered necessary or limiting. In the exemplary optimization method discussed herein, six second-order combinations (i.e. combinations of two textual factors) are investigated at [0129] step 1104, in which the maximum number of free parameters is 36; however it should be understood other combinations and/or even higher order combinations (combinations of three or more textual factors) can also be used. In the present discussion, the combination between LPhC and other factors has not been adopted since these combinations may cause too many free parameters.
  • As with the single-order components of the cost function, the higher-order components also take only categorical values, the distance between categories are empirically predefined in distance tables. After optimizing the distance tables for these second-order components individually in a manner similar to that discussed above with the single-order textual factors in [0130] step 1104, their correlation coefficients to MOS are listed in Table 3. Comparing Table 3 to Table 1, it can be seen that all combinations of Table 3 have a higher correlation than using PinP and PinW alone, yet, only coefficients for LTC-PinW and LTC-PinW pairs are higher than those of using LTC alone. It appears that some of the second-order components play important roles for unit selection. In a further embodiment discussed below, all of the higher-order components are used to form the concatenative cost function at first and some of them are then removed after optimizing the weights since they receive small weights.
    TABLE 3
    RPhC LTC RTC
    PinP 0.719 0.752 0.710
    PinW 0.751 0.790 0.745
  • An enumerated smoothness cost is used in the original cost function. Various smoothness costs based on the combinations with the six textual factors have been investigated. In one embodiment, it has been found beneficial to assign the smoothness cost by considering PinW (2 categories), LTC (3 categories) and the final type of current unit (3 categories). That is to say, when the current unit is a continuous segment of its previous segment in the unit inventory, its smoothness cost is set to be zero, otherwise, it is to be assigned a value from a table of 18(=2*3*3) possibilities according the conditions described above. The values in the smoothness cost table can be optimized by maximizing the correlation between smoothness cost and MOS in the training sets, e.g. four training sets. After optimization, the correlation coefficient reaches 0.883, which is higher than the old one, 0.846. This reveals that the new smoothness cost is more suitable than the original one and is used to replace the original one in the cost function discussed below. [0131]
  • Since it is not generally known which component is more important, at first, the new cost function in [0132] step 806 is formed by weighted sum of all the single-order components and higher-order components as discussed above. The weights for each of the components are then optimized as discussed above. An example of optimized weights for 13 components is provided in Table 4. Since some of the components received very small weights, they can be removed from the cost function without much effect. In a further embodiment, step 808 includes removing some components below a selected threshold and keeping only the more significant components (identified with stars), wherein the weights of the remaining components are optimized again. The new optimized weights in the final concatenative cost function for seven components are given in Table 5. The correlation coefficient between the final cost and MOS reaches 0.897, which is much higher than the original one, 0.822. Speech synthesized with the new cost function should sound more natural than that generated with the original one.
    TABLE 4
    Component Weight Component Weight
    PinP 0.008 RPhC-PinP pair 0.008
    PinW 0.008 RPhC-PinW pair 0.023
    LPhC* 0.099 LTC-PinP pair* 0.088
    RPhC* 0.054 LTC-PinW pair* 0.113
    LTC* 0.104 RTC-PinP pair 0.008
    RTC* 0.091 RTC-PinW pair 0.016
    New smooth cost* 0.380
  • [0133]
    TABLE 5
    Component Weight Component Weight
    LPhC 0.061 LTC-PinP pair 0.122
    RPhC 0.059 LTC-PinW pair 0.170
    LTC 0.016 New smooth cost 0.481
    RTC 0.091
  • At this point it should be noted the utterances used for the MOS experiment should be designed carefully so that units have wide coverage for textual factors. In the example discussed above, prosodic feature orientated CART indices have been adopted for all units, where most of the units used in the MOS evaluation take zero costs for their PinP and PinW factors. Thus, the two factors show smaller correlations to MOS, though they can be important factors. On the other hand, optimization using 400 utterances is not enough for training all the parameters. If possible, a larger scale MOS evaluation can be used to get more reliable optimized parameters. Since the result of MOS evaluation can be used perpetually, (i.e. over and over), it may be worthwhile to do a well-designed large-scale MOS evaluation. [0134]
  • Although the present invention has been described with reference to particular embodiments, workers skilled in the art will recognize that changes may be made in form and detail without departing from the spirit and scope of the invention. In particular, although context vectors are discussed above, other representations of the context information sets may be used within the scope of the present invention. [0135]

Claims (30)

What is claimed is:
1. A method for synthesizing speech, the method comprising:
generating a training context vector for each of a set of training speech units in a training speech corpus, each training context vector indicating the prosodic context of a training speech unit in the training speech corpus;
indexing a set of speech segments associated with a set of training speech units based on the context vectors for the training speech units;
generating an input context vector for each of a set of input speech units in an input text, each input context vector indicating the prosodic context of an input speech unit in the input text;
using the input context vectors to find a speech segment for each input speech unit; and
concatenating the found speech segments to form a synthesized speech signal.
2. The method of claim 1 wherein the each context vector comprises a position-in-phrase coordinate indicating the position of the speech unit in a phrase.
3. The method of claim 1 wherein the each context vector comprises a position-in-word coordinate indicating the position of the speech unit in a word.
4. The method of claim 1 wherein the each context vector comprises a left phonetic coordinate indicating a category for the phoneme to the left of the speech unit.
5. The method of claim 1 wherein the each context vector comprises a right phonetic coordinate indicating a category for the phoneme to the right of the speech unit.
6. The method of claim 1 wherein the each context vector comprises a left tonal coordinate indicating a category for the tone of the speech unit to the left of the speech unit.
7. The method of claim 1 wherein the each context vector comprises a right tonal coordinate indicating a category for the tone of the speech unit to the right of the speech unit.
8. The method of claim 1 wherein the each context vector comprises a coordinate indicating a coupling degree of pitch, duration and/or energy with a neighboring unit.
9. The method of claim 1 the each context vector comprises a coordinate indicating a level of stress of a speech unit.
10. The method of claim 1 wherein indexing a set of speech segments comprises generating a decision tree based on the training context vectors.
11. The method of claim 10 wherein using the input context vectors to find a speech segment comprises searching the decision tree using the input context vector.
12. The method of claim 11 wherein searching the decision tree comprises:
identifying a leaf in the tree for each input context vector, each leaf comprising at least one candidate speech segments; and
selecting one candidate speech segment in each leaf node, wherein if there is more than one candidate speech segment on the node The selection is based on a cost function.
13. The method of claim 12 wherein the cost function comprises a distance between the input context vector and a training context vector associated with a speech segment.
14. The method of claim 13 wherein the cost function further comprises a smoothness cost that is based on a candidate speech segment of at least one neighboring speech unit.
15. The method of claim 14 wherein the smoothness cost gives preference to selecting a series of speech segments for a series of input context vectors if the series of speech segments occurred in series in the training speech corpus.
16. The method of claim 1 wherein the context vector comprises one or more higher order coordinates being combinations of at least two factors from a set of factors including:
an indication of a position of a speech unit in a phrase;
an indication of a position of a speech unit in a word;
an indication of a category for a phoneme preceding a speech unit;
an indication of a category for a phoneme following a speech unit;
an indication of a category for tonal identity of the current speech unit;
an indication of a category for tonal identity of a preceding speech unit;
an indication of a category for tonal identity of a following speech unit;
an indication of a level of stress of a speech unit;
an indication of a coupling degree of pitch, duration and/or energy with a neighboring unit; and
an indication of a degree of spectral mismatch with a neighboring speech unit.
17. A method of selecting sentences for reading into a training speech corpus used in speech synthesis, the method comprising:
identifying a set of prosodic context information for each of a set of speech units;
determining a frequency of occurrence for each distinct context vector that appears in a very large text corpus;
using the frequency of occurrence of the context vectors to identify a list of necessary context vectors; and
selecting sentences in the large text corpus for reading into the training speech corpus, each selected sentence containing at least one necessary context vector.
18. The method of claim 17 wherein identifying a collection of prosodic context information sets as necessary context information sets comprises:
determining the frequency of occurrence of each prosodic context information set across a very large text corpus; and
identifying a collection of prosodic context information sets as necessary context information sets based on their frequency of occurrence.
19. The method of claim 18 wherein identifying a collection of prosodic context information sets as necessary context information sets further comprises:
sorting the context information sets by their frequency of occurrence in decreasing order;
determining a threshold, F, for accumulative frequency of top context vectors; and
selecting the top context vectors whose accumulative frequency is not smaller than F for each speech unit as necessary prosodic context information sets.
20. The method of claim 17 further comprising indexing only those speech segments that are associated with sentences in the smaller training text and wherein indexing comprises indexing using a decision tree.
21. The method of claim 20 wherein indexing further comprises indexing the speech segments in the decision tree based on information in the context information sets.
22. The method of claim 21 wherein the decision tree comprises leaf nodes and at least one leaf node comprises at least two speech segments for the same speech unit.
23. A method of selecting speech segments for concatenative speech synthesis, the method comprising:
parsing an input text into speech units;
identifying context information for each speech unit based on its location in the input text and at least one neighboring speech unit;
identifying a set of candidate speech segments for each speech unit based on the context information; and
identifying a sequence of speech segments from the candidate speech segments based in part on a smoothness cost between the speech segments.
24. The method of claim 23 wherein identifying a set of candidate speech segments for a speech unit comprises applying the context information for a speech unit to a decision tree to identify a leaf node containing candidate speech segments for the speech unit.
25. The method of claim 24 wherein identifying a set of candidate speech segments further comprises pruning some speech segments from a leaf node based on differences between the context information of the speech unit from the input text and context information associated with the speech segments.
26. The method of claim 23 wherein identifying a sequence of speech segments comprises using a smoothness cost that is based on whether two neighboring candidate speech segments appeared next to each other in a training corpus.
27. The method of claim 23 wherein identifying a sequence of speech segments comprises using an objective measure comprising one or more first order components from a set of factors comprising:
an indication of a position of a speech unit in a phrase;
an indication of a position of a speech unit in a word;
an indication of a category for a phoneme preceding a speech unit;
an indication of a category for a phoneme following a speech unit;
an indication of a category for tonal identity of the current speech unit;
an indication of a category for tonal identity of a preceding speech unit;
an indication of a category for tonal identity of a following speech unit;
an indication of a level of stress of a speech unit;
an indication of a coupling degree of pitch, duration and/or energy with a neighboring unit; and
an indication of a degree of spectral mismatch with a neighboring speech unit.
28. The method of claim 23 wherein identifying a sequence of speech segments comprises using an objective measure comprising one or more higher order components being combinations of at least two factors from a set of factors including:
an indication of a position of a speech unit in a phrase;
an indication of a position of a speech unit in a word;
an indication of a category for a phoneme preceding a speech unit;
an indication of a category for a phoneme following a speech unit;
an indication of a category for tonal identity of the current speech unit;
an indication of a category for tonal identity of a preceding speech unit;
an indication of a category for tonal identity of a following speech unit;
an indication of a level of stress of a speech unit;
an indication of a coupling degree of pitch, duration and/or energy with a neighboring unit; and
an indication of a degree of spectral mismatch with a neighboring speech unit.
29. The method of claim 24 wherein identifying a sequence of speech segments further comprises identifying the sequence based in part on differences between context information for the speech unit of the input text and context information associated with a candidate speech segment.
30. A computer-readable medium having computer executable instructions for synthesizing speech from speech segments based on speech units found in an input text, the speech being synthesized through a method comprising steps of:
identifying context information for each speech unit based on the prosodic structure of the input text;
identifying a set of candidate speech segments for each speech unit based on the context information;
identifying a sequence of speech segments from the candidate speech segments;
concatenating the sequence of speech segments without modifying the prosody of the speech segments to form the synthesized speech.
US10/662,985 2000-12-04 2003-09-15 Method and apparatus for speech synthesis without prosody modification Abandoned US20040148171A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US10/662,985 US20040148171A1 (en) 2000-12-04 2003-09-15 Method and apparatus for speech synthesis without prosody modification

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US25116700P 2000-12-04 2000-12-04
US09/850,527 US6978239B2 (en) 2000-12-04 2001-05-07 Method and apparatus for speech synthesis without prosody modification
US10/662,985 US20040148171A1 (en) 2000-12-04 2003-09-15 Method and apparatus for speech synthesis without prosody modification

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US09/850,527 Continuation-In-Part US6978239B2 (en) 2000-12-04 2001-05-07 Method and apparatus for speech synthesis without prosody modification

Publications (1)

Publication Number Publication Date
US20040148171A1 true US20040148171A1 (en) 2004-07-29

Family

ID=26941450

Family Applications (3)

Application Number Title Priority Date Filing Date
US09/850,527 Expired - Fee Related US6978239B2 (en) 2000-12-04 2001-05-07 Method and apparatus for speech synthesis without prosody modification
US10/662,985 Abandoned US20040148171A1 (en) 2000-12-04 2003-09-15 Method and apparatus for speech synthesis without prosody modification
US11/030,208 Expired - Fee Related US7127396B2 (en) 2000-12-04 2005-01-06 Method and apparatus for speech synthesis without prosody modification

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US09/850,527 Expired - Fee Related US6978239B2 (en) 2000-12-04 2001-05-07 Method and apparatus for speech synthesis without prosody modification

Family Applications After (1)

Application Number Title Priority Date Filing Date
US11/030,208 Expired - Fee Related US7127396B2 (en) 2000-12-04 2005-01-06 Method and apparatus for speech synthesis without prosody modification

Country Status (4)

Country Link
US (3) US6978239B2 (en)
EP (1) EP1213705B1 (en)
AT (1) ATE354155T1 (en)
DE (1) DE60126564T2 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100076768A1 (en) * 2007-02-20 2010-03-25 Nec Corporation Speech synthesizing apparatus, method, and program
US20120072224A1 (en) * 2009-08-07 2012-03-22 Khitrov Mikhail Vasilievich Method of speech synthesis
US20130218569A1 (en) * 2005-10-03 2013-08-22 Nuance Communications, Inc. Text-to-speech user's voice cooperative server for instant messaging clients
US20130268275A1 (en) * 2007-09-07 2013-10-10 Nuance Communications, Inc. Speech synthesis system, speech synthesis program product, and speech synthesis method
US8775185B2 (en) 2007-03-21 2014-07-08 Vivotext Ltd. Speech samples library for text-to-speech and methods and apparatus for generating and using same
US9251782B2 (en) 2007-03-21 2016-02-02 Vivotext Ltd. System and method for concatenate speech samples within an optimal crossing point
US20160240215A1 (en) * 2013-10-24 2016-08-18 Bayerische Motoren Werke Aktiengesellschaft System and Method for Text-to-Speech Performance Evaluation

Families Citing this family (168)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4718687B2 (en) 1999-03-19 2011-07-06 トラドス ゲゼルシャフト ミット ベシュレンクテル ハフツング Workflow management system
US7369994B1 (en) 1999-04-30 2008-05-06 At&T Corp. Methods and apparatus for rapid acoustic unit selection from a large speech corpus
US20060116865A1 (en) 1999-09-17 2006-06-01 Www.Uniscape.Com E-services translation utilizing machine translation and translation memory
US8645137B2 (en) 2000-03-16 2014-02-04 Apple Inc. Fast, language-independent method for user authentication by voice
US6978239B2 (en) * 2000-12-04 2005-12-20 Microsoft Corporation Method and apparatus for speech synthesis without prosody modification
DE10117367B4 (en) * 2001-04-06 2005-08-18 Siemens Ag Method and system for automatically converting text messages into voice messages
GB0113581D0 (en) * 2001-06-04 2001-07-25 Hewlett Packard Co Speech synthesis apparatus
GB2376394B (en) * 2001-06-04 2005-10-26 Hewlett Packard Co Speech synthesis apparatus and selection method
GB0113587D0 (en) * 2001-06-04 2001-07-25 Hewlett Packard Co Speech synthesis apparatus
US7574597B1 (en) 2001-10-19 2009-08-11 Bbn Technologies Corp. Encoding of signals to facilitate traffic analysis
US7263479B2 (en) * 2001-10-19 2007-08-28 Bbn Technologies Corp. Determining characteristics of received voice data packets to assist prosody analysis
KR100438826B1 (en) * 2001-10-31 2004-07-05 삼성전자주식회사 System for speech synthesis using a smoothing filter and method thereof
US7483832B2 (en) * 2001-12-10 2009-01-27 At&T Intellectual Property I, L.P. Method and system for customizing voice translation of text to speech
US20030154080A1 (en) * 2002-02-14 2003-08-14 Godsey Sandra L. Method and apparatus for modification of audio input to a data processing system
US7136816B1 (en) * 2002-04-05 2006-11-14 At&T Corp. System and method for predicting prosodic parameters
KR100486734B1 (en) 2003-02-25 2005-05-03 삼성전자주식회사 Method and apparatus for text to speech synthesis
US7496498B2 (en) * 2003-03-24 2009-02-24 Microsoft Corporation Front-end architecture for a multi-lingual text-to-speech system
US8103505B1 (en) * 2003-11-19 2012-01-24 Apple Inc. Method and apparatus for speech synthesis using paralinguistic variation
US7983896B2 (en) * 2004-03-05 2011-07-19 SDL Language Technology In-context exact (ICE) matching
US7788098B2 (en) * 2004-08-02 2010-08-31 Nokia Corporation Predicting tone pattern information for textual information used in telecommunication systems
US7869999B2 (en) * 2004-08-11 2011-01-11 Nuance Communications, Inc. Systems and methods for selecting from multiple phonectic transcriptions for text-to-speech synthesis
KR101056567B1 (en) * 2004-09-23 2011-08-11 주식회사 케이티 Apparatus and Method for Selecting Synthesis Unit in Corpus-based Speech Synthesizer
JP2007024960A (en) * 2005-07-12 2007-02-01 Internatl Business Mach Corp <Ibm> System, program and control method
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US20070203706A1 (en) * 2005-12-30 2007-08-30 Inci Ozkaragoz Voice analysis tool for creating database used in text to speech synthesis system
US8036894B2 (en) * 2006-02-16 2011-10-11 Apple Inc. Multi-unit approach to text-to-speech synthesis
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US7584104B2 (en) * 2006-09-08 2009-09-01 At&T Intellectual Property Ii, L.P. Method and system for training a text-to-speech synthesis system using a domain-specific speech database
US8027837B2 (en) * 2006-09-15 2011-09-27 Apple Inc. Using non-speech sounds during text-to-speech synthesis
US8521506B2 (en) 2006-09-21 2013-08-27 Sdl Plc Computer-implemented method, computer software and apparatus for use in a translation system
US20080077407A1 (en) * 2006-09-26 2008-03-27 At&T Corp. Phonetically enriched labeling in unit selection speech synthesis
CN101202041B (en) * 2006-12-13 2011-01-05 富士通株式会社 Method and device for making words using Chinese rhythm words
WO2008107223A1 (en) * 2007-03-07 2008-09-12 Nuance Communications, Inc. Speech synthesis
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US8583438B2 (en) * 2007-09-20 2013-11-12 Microsoft Corporation Unnatural prosody detection in speech synthesis
US9053089B2 (en) 2007-10-02 2015-06-09 Apple Inc. Part-of-speech tagging using latent analogy
US8620662B2 (en) * 2007-11-20 2013-12-31 Apple Inc. Context-aware unit selection
US9330720B2 (en) 2008-01-03 2016-05-03 Apple Inc. Methods and apparatus for altering audio output signals
US8996376B2 (en) 2008-04-05 2015-03-31 Apple Inc. Intelligent text-to-speech conversion
US10496753B2 (en) 2010-01-18 2019-12-03 Apple Inc. Automatically adapting user interfaces for hands-free interaction
US20100030549A1 (en) 2008-07-31 2010-02-04 Lee Michael M Mobile device having human language translation capability with positional feedback
US9959870B2 (en) 2008-12-11 2018-05-01 Apple Inc. Speech recognition involving a mobile device
US9262403B2 (en) 2009-03-02 2016-02-16 Sdl Plc Dynamic generation of auto-suggest dictionary for natural language translation
GB2468278A (en) * 2009-03-02 2010-09-08 Sdl Plc Computer assisted natural language translation outputs selectable target text associated in bilingual corpus with input target text from partial translation
US10255566B2 (en) 2011-06-03 2019-04-09 Apple Inc. Generating and processing task items that represent tasks to perform
US9858925B2 (en) 2009-06-05 2018-01-02 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
US10241752B2 (en) 2011-09-30 2019-03-26 Apple Inc. Interface for a virtual digital assistant
US10241644B2 (en) 2011-06-03 2019-03-26 Apple Inc. Actionable reminder entries
US9431006B2 (en) 2009-07-02 2016-08-30 Apple Inc. Methods and apparatuses for automatic speech recognition
GB2474839A (en) * 2009-10-27 2011-05-04 Sdl Plc In-context exact matching of lookup segment to translation memory source text
GB0922608D0 (en) 2009-12-23 2010-02-10 Vratskides Alexios Message optimization
US10705794B2 (en) 2010-01-18 2020-07-07 Apple Inc. Automatically adapting user interfaces for hands-free interaction
US10679605B2 (en) 2010-01-18 2020-06-09 Apple Inc. Hands-free list-reading by intelligent automated assistant
US10553209B2 (en) 2010-01-18 2020-02-04 Apple Inc. Systems and methods for hands-free notification summaries
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
DE202011111062U1 (en) 2010-01-25 2019-02-19 Newvaluexchange Ltd. Device and system for a digital conversation management platform
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
US8688435B2 (en) 2010-09-22 2014-04-01 Voice On The Go Inc. Systems and methods for normalizing input media
US10762293B2 (en) 2010-12-22 2020-09-01 Apple Inc. Using parts-of-speech tagging and named entity recognition for spelling correction
US9128929B2 (en) 2011-01-14 2015-09-08 Sdl Language Technologies Systems and methods for automatically estimating a translation time including preparation time in addition to the translation itself
US9262612B2 (en) 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
TWI441163B (en) * 2011-05-10 2014-06-11 Univ Nat Chiao Tung Chinese speech recognition device and speech recognition method thereof
US10057736B2 (en) 2011-06-03 2018-08-21 Apple Inc. Active transport based notifications
US8994660B2 (en) 2011-08-29 2015-03-31 Apple Inc. Text correction processing
US10134385B2 (en) 2012-03-02 2018-11-20 Apple Inc. Systems and methods for name pronunciation
US9483461B2 (en) 2012-03-06 2016-11-01 Apple Inc. Handling speech synthesis of content for multiple languages
US9280610B2 (en) 2012-05-14 2016-03-08 Apple Inc. Crowd sourcing information to fulfill user requests
US10395270B2 (en) 2012-05-17 2019-08-27 Persado Intellectual Property Limited System and method for recommending a grammar for a message campaign used by a message optimization system
US9721563B2 (en) 2012-06-08 2017-08-01 Apple Inc. Name recognition system
US9495129B2 (en) 2012-06-29 2016-11-15 Apple Inc. Device, method, and user interface for voice-activated navigation and browsing of a document
US10007724B2 (en) * 2012-06-29 2018-06-26 International Business Machines Corporation Creating, rendering and interacting with a multi-faceted audio cloud
US9576574B2 (en) 2012-09-10 2017-02-21 Apple Inc. Context-sensitive handling of interruptions by intelligent digital assistant
US9547647B2 (en) 2012-09-19 2017-01-17 Apple Inc. Voice-based media searching
US10638221B2 (en) 2012-11-13 2020-04-28 Adobe Inc. Time interval sound alignment
US10249321B2 (en) * 2012-11-20 2019-04-02 Adobe Inc. Sound rate modification
US10455219B2 (en) 2012-11-30 2019-10-22 Adobe Inc. Stereo correspondence and depth sensors
KR20230137475A (en) 2013-02-07 2023-10-04 애플 인크. Voice trigger for a digital assistant
US9368114B2 (en) 2013-03-14 2016-06-14 Apple Inc. Context-sensitive handling of interruptions
WO2014144579A1 (en) 2013-03-15 2014-09-18 Apple Inc. System and method for updating an adaptive speech recognition model
AU2014233517B2 (en) 2013-03-15 2017-05-25 Apple Inc. Training an at least partial voice command system
WO2014197334A2 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for user-specified pronunciation of words for speech synthesis and recognition
US9582608B2 (en) 2013-06-07 2017-02-28 Apple Inc. Unified ranking with entropy-weighted information for phrase-based semantic auto-completion
WO2014197336A1 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for detecting errors in interactions with a voice-based digital assistant
WO2014197335A1 (en) 2013-06-08 2014-12-11 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
EP3937002A1 (en) 2013-06-09 2022-01-12 Apple Inc. Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant
AU2014278595B2 (en) 2013-06-13 2017-04-06 Apple Inc. System and method for emergency calls initiated by voice command
DE112014003653B4 (en) 2013-08-06 2024-04-18 Apple Inc. Automatically activate intelligent responses based on activities from remote devices
US9620105B2 (en) 2014-05-15 2017-04-11 Apple Inc. Analyzing audio input for efficient speech and music recognition
US10592095B2 (en) 2014-05-23 2020-03-17 Apple Inc. Instantaneous speaking of content on touch devices
US9502031B2 (en) 2014-05-27 2016-11-22 Apple Inc. Method for supporting dynamic grammars in WFST-based ASR
US10078631B2 (en) 2014-05-30 2018-09-18 Apple Inc. Entropy-guided text prediction using combined word and character n-gram language models
AU2015266863B2 (en) 2014-05-30 2018-03-15 Apple Inc. Multi-command single utterance input method
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US9633004B2 (en) 2014-05-30 2017-04-25 Apple Inc. Better resolution when referencing to concepts
US9760559B2 (en) 2014-05-30 2017-09-12 Apple Inc. Predictive text input
US10289433B2 (en) 2014-05-30 2019-05-14 Apple Inc. Domain specific language for encoding assistant dialog
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
US9734193B2 (en) 2014-05-30 2017-08-15 Apple Inc. Determining domain salience ranking from ambiguous words in natural speech
US9785630B2 (en) 2014-05-30 2017-10-10 Apple Inc. Text prediction using combined word N-gram and unigram language models
US9842101B2 (en) 2014-05-30 2017-12-12 Apple Inc. Predictive conversion of language input
US10659851B2 (en) 2014-06-30 2020-05-19 Apple Inc. Real-time digital assistant knowledge updates
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US10446141B2 (en) 2014-08-28 2019-10-15 Apple Inc. Automatic speech recognition based on user feedback
US9818400B2 (en) 2014-09-11 2017-11-14 Apple Inc. Method and apparatus for discovering trending terms in speech requests
US10789041B2 (en) 2014-09-12 2020-09-29 Apple Inc. Dynamic thresholds for always listening speech trigger
US9606986B2 (en) 2014-09-29 2017-03-28 Apple Inc. Integrated word N-gram and class M-gram language models
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US9886432B2 (en) 2014-09-30 2018-02-06 Apple Inc. Parsimonious handling of word inflection via categorical stem + suffix N-gram language models
US10074360B2 (en) 2014-09-30 2018-09-11 Apple Inc. Providing an indication of the suitability of speech recognition
US9646609B2 (en) 2014-09-30 2017-05-09 Apple Inc. Caching apparatus for serving phonetic pronunciations
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US10552013B2 (en) 2014-12-02 2020-02-04 Apple Inc. Data detection
US9711141B2 (en) 2014-12-09 2017-07-18 Apple Inc. Disambiguating heteronyms in speech synthesis
US9865280B2 (en) 2015-03-06 2018-01-09 Apple Inc. Structured dictation using intelligent automated assistants
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US10567477B2 (en) 2015-03-08 2020-02-18 Apple Inc. Virtual assistant continuity
US9899019B2 (en) 2015-03-18 2018-02-20 Apple Inc. Systems and methods for structured stem and suffix language models
US9842105B2 (en) 2015-04-16 2017-12-12 Apple Inc. Parsimonious continuous-space phrase representations for natural language processing
US10083688B2 (en) 2015-05-27 2018-09-25 Apple Inc. Device voice control for selecting a displayed affordance
US10127220B2 (en) 2015-06-04 2018-11-13 Apple Inc. Language identification from short strings
US9578173B2 (en) 2015-06-05 2017-02-21 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US10101822B2 (en) 2015-06-05 2018-10-16 Apple Inc. Language input correction
US10255907B2 (en) 2015-06-07 2019-04-09 Apple Inc. Automatic accent detection using acoustic models
US10186254B2 (en) 2015-06-07 2019-01-22 Apple Inc. Context-based endpoint detection
US11025565B2 (en) 2015-06-07 2021-06-01 Apple Inc. Personalized prediction of responses for instant messaging
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US9697820B2 (en) 2015-09-24 2017-07-04 Apple Inc. Unit-selection text-to-speech synthesis using concatenation-sensitive neural networks
US11010550B2 (en) 2015-09-29 2021-05-18 Apple Inc. Unified language modeling framework for word prediction, auto-completion and auto-correction
US10366158B2 (en) 2015-09-29 2019-07-30 Apple Inc. Efficient word encoding for recurrent neural network language models
US11587559B2 (en) 2015-09-30 2023-02-21 Apple Inc. Intelligent device identification
US10504137B1 (en) 2015-10-08 2019-12-10 Persado Intellectual Property Limited System, method, and computer program product for monitoring and responding to the performance of an ad
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10049668B2 (en) 2015-12-02 2018-08-14 Apple Inc. Applying neural network language models to weighted finite state transducers for automatic speech recognition
US10832283B1 (en) 2015-12-09 2020-11-10 Persado Intellectual Property Limited System, method, and computer program for providing an instance of a promotional message to a user based on a predicted emotional response corresponding to user characteristics
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US10446143B2 (en) 2016-03-14 2019-10-15 Apple Inc. Identification of voice inputs providing credentials
US9934775B2 (en) 2016-05-26 2018-04-03 Apple Inc. Unit-selection text-to-speech synthesis based on predicted concatenation parameters
US9972304B2 (en) 2016-06-03 2018-05-15 Apple Inc. Privacy preserving distributed evaluation framework for embedded personalized systems
US10249300B2 (en) 2016-06-06 2019-04-02 Apple Inc. Intelligent list reading
US10049663B2 (en) 2016-06-08 2018-08-14 Apple, Inc. Intelligent automated assistant for media exploration
DK179588B1 (en) 2016-06-09 2019-02-22 Apple Inc. Intelligent automated assistant in a home environment
US10067938B2 (en) 2016-06-10 2018-09-04 Apple Inc. Multilingual word prediction
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
US10509862B2 (en) 2016-06-10 2019-12-17 Apple Inc. Dynamic phrase expansion of language input
US10192552B2 (en) 2016-06-10 2019-01-29 Apple Inc. Digital assistant providing whispered speech
US10490187B2 (en) 2016-06-10 2019-11-26 Apple Inc. Digital assistant providing automated status report
DK179049B1 (en) 2016-06-11 2017-09-18 Apple Inc Data driven natural language event detection and classification
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
DK179343B1 (en) 2016-06-11 2018-05-14 Apple Inc Intelligent task discovery
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
US10043516B2 (en) 2016-09-23 2018-08-07 Apple Inc. Intelligent automated assistant
US10593346B2 (en) 2016-12-22 2020-03-17 Apple Inc. Rank-reduced token representation for automatic speech recognition
DK201770439A1 (en) 2017-05-11 2018-12-13 Apple Inc. Offline personal assistant
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
DK201770431A1 (en) 2017-05-15 2018-12-20 Apple Inc. Optimizing dialogue policy decisions for digital assistants using implicit feedback
DK201770432A1 (en) 2017-05-15 2018-12-21 Apple Inc. Hierarchical belief states for digital assistants
DK179560B1 (en) 2017-05-16 2019-02-18 Apple Inc. Far-field extension for digital assistant services
US10635863B2 (en) 2017-10-30 2020-04-28 Sdl Inc. Fragment recall and adaptive automated translation
CN107945786B (en) * 2017-11-27 2021-05-25 北京百度网讯科技有限公司 Speech synthesis method and device
US10817676B2 (en) 2017-12-27 2020-10-27 Sdl Inc. Intelligent routing services and systems
US11256867B2 (en) 2018-10-09 2022-02-22 Sdl Inc. Systems and methods of machine learning for digital assets and message creation
CN109754778B (en) 2019-01-17 2023-05-30 平安科技(深圳)有限公司 Text speech synthesis method and device and computer equipment
KR102637341B1 (en) * 2019-10-15 2024-02-16 삼성전자주식회사 Method and apparatus for generating speech

Citations (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4718094A (en) * 1984-11-19 1988-01-05 International Business Machines Corp. Speech recognition system
US4979216A (en) * 1989-02-17 1990-12-18 Malsheen Bathsheba J Text to speech synthesis system and method using context dependent vowel allophones
US5146405A (en) * 1988-02-05 1992-09-08 At&T Bell Laboratories Methods for part-of-speech determination and usage
US5384893A (en) * 1992-09-23 1995-01-24 Emerson & Stern Associates, Inc. Method and apparatus for speech synthesis based on prosodic analysis
US5440481A (en) * 1992-10-28 1995-08-08 The United States Of America As Represented By The Secretary Of The Navy System and method for database tomography
US5592585A (en) * 1995-01-26 1997-01-07 Lernout & Hauspie Speech Products N.C. Method for electronically generating a spoken message
US5715367A (en) * 1995-01-23 1998-02-03 Dragon Systems, Inc. Apparatuses and methods for developing and using models for speech recognition
US5732395A (en) * 1993-03-19 1998-03-24 Nynex Science & Technology Methods for controlling the generation of speech from text representing names and addresses
US5839105A (en) * 1995-11-30 1998-11-17 Atr Interpreting Telecommunications Research Laboratories Speaker-independent model generation apparatus and speech recognition apparatus each equipped with means for splitting state having maximum increase in likelihood
US5857169A (en) * 1995-08-28 1999-01-05 U.S. Philips Corporation Method and system for pattern recognition based on tree organized probability densities
US5905972A (en) * 1996-09-30 1999-05-18 Microsoft Corporation Prosodic databases holding fundamental frequency templates for use in speech synthesis
US5912989A (en) * 1993-06-03 1999-06-15 Nec Corporation Pattern recognition with a tree structure used for reference pattern feature vectors or for HMM
US5933806A (en) * 1995-08-28 1999-08-03 U.S. Philips Corporation Method and system for pattern recognition based on dynamically constructing a subset of reference vectors
US5937422A (en) * 1997-04-15 1999-08-10 The United States Of America As Represented By The National Security Agency Automatically generating a topic description for text and searching and sorting text by topic using the same
US6064960A (en) * 1997-12-18 2000-05-16 Apple Computer, Inc. Method and apparatus for improved duration modeling of phonemes
US6076060A (en) * 1998-05-01 2000-06-13 Compaq Computer Corporation Computer method and apparatus for translating text to sound
US6101470A (en) * 1998-05-26 2000-08-08 International Business Machines Corporation Methods for generating pitch and duration contours in a text to speech system
US6141642A (en) * 1997-10-16 2000-10-31 Samsung Electronics Co., Ltd. Text-to-speech apparatus and method for processing multiple languages
US6151576A (en) * 1998-08-11 2000-11-21 Adobe Systems Incorporated Mixing digitized speech and text using reliability indices
US6172675B1 (en) * 1996-12-05 2001-01-09 Interval Research Corporation Indirect manipulation of data using temporally related data, with particular application to manipulation of audio or audiovisual data
US6185533B1 (en) * 1999-03-15 2001-02-06 Matsushita Electric Industrial Co., Ltd. Generation and synthesis of prosody templates
US6230131B1 (en) * 1998-04-29 2001-05-08 Matsushita Electric Industrial Co., Ltd. Method for generating spelling-to-pronunciation decision tree
US6366883B1 (en) * 1996-05-15 2002-04-02 Atr Interpreting Telecommunications Concatenation of speech segments by use of a speech synthesizer
US6401060B1 (en) * 1998-06-25 2002-06-04 Microsoft Corporation Method for typographical detection and replacement in Japanese text
US20020072908A1 (en) * 2000-10-19 2002-06-13 Case Eliot M. System and method for converting text-to-voice
US20020152073A1 (en) * 2000-09-29 2002-10-17 Demoortel Jan Corpus-based prosody translation system
US6499014B1 (en) * 1999-04-23 2002-12-24 Oki Electric Industry Co., Ltd. Speech synthesis apparatus
US6505158B1 (en) * 2000-07-05 2003-01-07 At&T Corp. Synthesis-based pre-selection of suitable units for concatenative speech
US20030208355A1 (en) * 2000-05-31 2003-11-06 Stylianou Ioannis G. Stochastic modeling of spectral adjustment for high quality pitch modification
US6665641B1 (en) * 1998-11-13 2003-12-16 Scansoft, Inc. Speech synthesis using concatenation of speech waveforms
US6708152B2 (en) * 1999-12-30 2004-03-16 Nokia Mobile Phones Limited User interface for text to speech conversion
US6751592B1 (en) * 1999-01-12 2004-06-15 Kabushiki Kaisha Toshiba Speech synthesizing apparatus, and recording medium that stores text-to-speech conversion program and can be read mechanically
US6829578B1 (en) * 1999-11-11 2004-12-07 Koninklijke Philips Electronics, N.V. Tone features for speech recognition
US6978239B2 (en) * 2000-12-04 2005-12-20 Microsoft Corporation Method and apparatus for speech synthesis without prosody modification
US7010489B1 (en) * 2000-03-09 2006-03-07 International Business Mahcines Corporation Method for guiding text-to-speech output timing using speech recognition markers

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000075878A (en) 1998-08-31 2000-03-14 Canon Inc Device and method for voice synthesis and storage medium
US6871178B2 (en) 2000-10-19 2005-03-22 Qwest Communications International, Inc. System and method for converting text-to-voice

Patent Citations (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4718094A (en) * 1984-11-19 1988-01-05 International Business Machines Corp. Speech recognition system
US5146405A (en) * 1988-02-05 1992-09-08 At&T Bell Laboratories Methods for part-of-speech determination and usage
US4979216A (en) * 1989-02-17 1990-12-18 Malsheen Bathsheba J Text to speech synthesis system and method using context dependent vowel allophones
US5384893A (en) * 1992-09-23 1995-01-24 Emerson & Stern Associates, Inc. Method and apparatus for speech synthesis based on prosodic analysis
US5440481A (en) * 1992-10-28 1995-08-08 The United States Of America As Represented By The Secretary Of The Navy System and method for database tomography
US5890117A (en) * 1993-03-19 1999-03-30 Nynex Science & Technology, Inc. Automated voice synthesis from text having a restricted known informational content
US5732395A (en) * 1993-03-19 1998-03-24 Nynex Science & Technology Methods for controlling the generation of speech from text representing names and addresses
US5912989A (en) * 1993-06-03 1999-06-15 Nec Corporation Pattern recognition with a tree structure used for reference pattern feature vectors or for HMM
US5715367A (en) * 1995-01-23 1998-02-03 Dragon Systems, Inc. Apparatuses and methods for developing and using models for speech recognition
US5592585A (en) * 1995-01-26 1997-01-07 Lernout & Hauspie Speech Products N.C. Method for electronically generating a spoken message
US5727120A (en) * 1995-01-26 1998-03-10 Lernout & Hauspie Speech Products N.V. Apparatus for electronically generating a spoken message
US5857169A (en) * 1995-08-28 1999-01-05 U.S. Philips Corporation Method and system for pattern recognition based on tree organized probability densities
US5933806A (en) * 1995-08-28 1999-08-03 U.S. Philips Corporation Method and system for pattern recognition based on dynamically constructing a subset of reference vectors
US5839105A (en) * 1995-11-30 1998-11-17 Atr Interpreting Telecommunications Research Laboratories Speaker-independent model generation apparatus and speech recognition apparatus each equipped with means for splitting state having maximum increase in likelihood
US6366883B1 (en) * 1996-05-15 2002-04-02 Atr Interpreting Telecommunications Concatenation of speech segments by use of a speech synthesizer
US5905972A (en) * 1996-09-30 1999-05-18 Microsoft Corporation Prosodic databases holding fundamental frequency templates for use in speech synthesis
US6172675B1 (en) * 1996-12-05 2001-01-09 Interval Research Corporation Indirect manipulation of data using temporally related data, with particular application to manipulation of audio or audiovisual data
US5937422A (en) * 1997-04-15 1999-08-10 The United States Of America As Represented By The National Security Agency Automatically generating a topic description for text and searching and sorting text by topic using the same
US6141642A (en) * 1997-10-16 2000-10-31 Samsung Electronics Co., Ltd. Text-to-speech apparatus and method for processing multiple languages
US6064960A (en) * 1997-12-18 2000-05-16 Apple Computer, Inc. Method and apparatus for improved duration modeling of phonemes
US6230131B1 (en) * 1998-04-29 2001-05-08 Matsushita Electric Industrial Co., Ltd. Method for generating spelling-to-pronunciation decision tree
US6076060A (en) * 1998-05-01 2000-06-13 Compaq Computer Corporation Computer method and apparatus for translating text to sound
US6101470A (en) * 1998-05-26 2000-08-08 International Business Machines Corporation Methods for generating pitch and duration contours in a text to speech system
US6401060B1 (en) * 1998-06-25 2002-06-04 Microsoft Corporation Method for typographical detection and replacement in Japanese text
US6151576A (en) * 1998-08-11 2000-11-21 Adobe Systems Incorporated Mixing digitized speech and text using reliability indices
US6665641B1 (en) * 1998-11-13 2003-12-16 Scansoft, Inc. Speech synthesis using concatenation of speech waveforms
US6751592B1 (en) * 1999-01-12 2004-06-15 Kabushiki Kaisha Toshiba Speech synthesizing apparatus, and recording medium that stores text-to-speech conversion program and can be read mechanically
US6185533B1 (en) * 1999-03-15 2001-02-06 Matsushita Electric Industrial Co., Ltd. Generation and synthesis of prosody templates
US6499014B1 (en) * 1999-04-23 2002-12-24 Oki Electric Industry Co., Ltd. Speech synthesis apparatus
US6829578B1 (en) * 1999-11-11 2004-12-07 Koninklijke Philips Electronics, N.V. Tone features for speech recognition
US6708152B2 (en) * 1999-12-30 2004-03-16 Nokia Mobile Phones Limited User interface for text to speech conversion
US7010489B1 (en) * 2000-03-09 2006-03-07 International Business Mahcines Corporation Method for guiding text-to-speech output timing using speech recognition markers
US20030208355A1 (en) * 2000-05-31 2003-11-06 Stylianou Ioannis G. Stochastic modeling of spectral adjustment for high quality pitch modification
US6505158B1 (en) * 2000-07-05 2003-01-07 At&T Corp. Synthesis-based pre-selection of suitable units for concatenative speech
US20020152073A1 (en) * 2000-09-29 2002-10-17 Demoortel Jan Corpus-based prosody translation system
US20020072908A1 (en) * 2000-10-19 2002-06-13 Case Eliot M. System and method for converting text-to-voice
US6978239B2 (en) * 2000-12-04 2005-12-20 Microsoft Corporation Method and apparatus for speech synthesis without prosody modification

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130218569A1 (en) * 2005-10-03 2013-08-22 Nuance Communications, Inc. Text-to-speech user's voice cooperative server for instant messaging clients
US9026445B2 (en) * 2005-10-03 2015-05-05 Nuance Communications, Inc. Text-to-speech user's voice cooperative server for instant messaging clients
US20100076768A1 (en) * 2007-02-20 2010-03-25 Nec Corporation Speech synthesizing apparatus, method, and program
US8630857B2 (en) * 2007-02-20 2014-01-14 Nec Corporation Speech synthesizing apparatus, method, and program
US8775185B2 (en) 2007-03-21 2014-07-08 Vivotext Ltd. Speech samples library for text-to-speech and methods and apparatus for generating and using same
US9251782B2 (en) 2007-03-21 2016-02-02 Vivotext Ltd. System and method for concatenate speech samples within an optimal crossing point
US20130268275A1 (en) * 2007-09-07 2013-10-10 Nuance Communications, Inc. Speech synthesis system, speech synthesis program product, and speech synthesis method
US9275631B2 (en) * 2007-09-07 2016-03-01 Nuance Communications, Inc. Speech synthesis system, speech synthesis program product, and speech synthesis method
US20120072224A1 (en) * 2009-08-07 2012-03-22 Khitrov Mikhail Vasilievich Method of speech synthesis
US8942983B2 (en) * 2009-08-07 2015-01-27 Speech Technology Centre, Limited Method of speech synthesis
US20160240215A1 (en) * 2013-10-24 2016-08-18 Bayerische Motoren Werke Aktiengesellschaft System and Method for Text-to-Speech Performance Evaluation

Also Published As

Publication number Publication date
EP1213705A3 (en) 2004-12-22
EP1213705A2 (en) 2002-06-12
US6978239B2 (en) 2005-12-20
US20050119891A1 (en) 2005-06-02
US7127396B2 (en) 2006-10-24
ATE354155T1 (en) 2007-03-15
EP1213705B1 (en) 2007-02-14
DE60126564D1 (en) 2007-03-29
US20020099547A1 (en) 2002-07-25
DE60126564T2 (en) 2007-10-31

Similar Documents

Publication Publication Date Title
US20040148171A1 (en) Method and apparatus for speech synthesis without prosody modification
US7386451B2 (en) Optimization of an objective measure for estimating mean opinion score of synthesized speech
US7024362B2 (en) Objective measure for estimating mean opinion score of synthesized speech
US10453442B2 (en) Methods employing phase state analysis for use in speech synthesis and recognition
US7263488B2 (en) Method and apparatus for identifying prosodic word boundaries
US7124083B2 (en) Method and system for preselection of suitable units for concatenative speech
US6173263B1 (en) Method and system for performing concatenative speech synthesis using half-phonemes
US6185533B1 (en) Generation and synthesis of prosody templates
US20080059190A1 (en) Speech unit selection using HMM acoustic models
US6845358B2 (en) Prosody template matching for text-to-speech systems
CN1971708A (en) Prosodic control rule generation method and apparatus, and speech synthesis method and apparatus
US7328157B1 (en) Domain adaptation for TTS systems
Chu et al. A concatenative Mandarin TTS system without prosody model and prosody modification
JP4532862B2 (en) Speech synthesis method, speech synthesizer, and speech synthesis program
Hansakunbuntheung et al. Space reduction of speech corpus based on quality perception for unit selection speech synthesis
EP1777697B1 (en) Method for speech synthesis without prosody modification
Houidhek et al. Evaluation of speech unit modelling for HMM-based speech synthesis for Arabic
JPH11249678A (en) Voice synthesizer and its text analytic method
Ng Survey of data-driven approaches to Speech Synthesis
Narupiyakul et al. A stochastic knowledge-based Thai text-to-speech system
Kawa et al. Development of a text-to-speech system for Japanese based on waveform splicing
JP2000047680A (en) Sound information processor
Janicki et al. Taking advantage of pronunciation variation in unit selection speech synthesis for Polish
Narendra et al. Syllable specific target cost formulation for syllable based text-to-speech synthesis in Bengali
Dutoit TTSBOX 1.0 DOCUMENTATION

Legal Events

Date Code Title Description
AS Assignment

Owner name: MICROSOFT CORPORATION, WASHINGTON

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CHU, MIN;PENG, HU;ZHAO, YONG;REEL/FRAME:015194/0592;SIGNING DATES FROM 20040408 TO 20040409

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION

AS Assignment

Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:034766/0001

Effective date: 20141014