SPEECH SYNTHESIS

Abstract: Input text is converted to a sequence of representations of syllables or other phonetic units and stored portions of data are retrieved to generate waveforms corresponding to the syllables. In order to determine durations for the syllables, a constant duration is defined corresponding to a regular beat period and adjusted in accordance with the nature of the syllable and/or its context within the sequence.

Description: Speech Synthesis The present invention is concerned with speech synthesis, and particularly, though not exclusively, with text-to-speech synthesisers which operate by concatenating segments of stored speech waveforms. According to the present invention there is provided a speech synthesiser comprising: means for supplying a sequence of representations of phonetic units; means for retrieving stored portions of data to generate waveforms corresponding to the phonetic units; means for determining durations for the phonetic units; and means for processing the portions of data to adjust the time durations of the waveforms according to the determined durations; wherein the determining means is operable to define a constant duration corresponding to a regular beat period and to adjust that duration in dependence on the nature of the phonetic unit and/or its context within the sequence. Preferably the stored data are themselves digitised speech waveforms (though this is not essential and the invention may also be applied to other types of synthesiser such as formant synthesisers). Thus in a preferred arrangement the synthesiser includes a store containing items of data representing waveforms corresponding to phonetic sub-units, the retrieving means being operable to retrieve, for each phonetic unit, one or more portions of data each corresponding to a sub-unit thereof, and a further store containing for each sub-unit statistical duration data including a maximum value and a minimum value, wherein the determining means is operable to compute for each phonetic unit the sum of the minimum duration values and the sum of the maximum duration values for the constituent sub-unit(s) thereof and to adjust the said constant duration such that it neither falls below the sum of the minimum values nor exceeds the sum of the maximum values. In the preferred embodiment the phonetic units are syllables and the sub- units are phonemes. One embodiment of the invention will now be described with reference to the accompanying drawing, which is a block diagram of a speech synthesiser. The speech synthesiser of Figure 1 has an input 1 for receiving input text in coded form, for example in ASCII code. A text normalisation unit 2 preprocesses the text to remove symbols and numbers into words; for example an input "£100" will be converted to "one hundred pounds". The output from this passes to a pronunciation unit 3 which converts the text into a phonetic representation, by the use of a dictionary or a set of rules or, more preferably, both. This unit also produces, for each syllable, a parameter indicative of the lexical stress to be placed on that syllable. A parser 4 analyses each sentence to determine its structure in terms of the parts of speech (adjectives, nouns, verbs etc..) and generates performance structures such as major and minor phrases (a major phrase is a word or group of words delimited by silence). A pitch assignment unit 5 computes a "salience" value for each syllable based on the outputs of the units 3 and 4. This value is indicative of the relative stress given to each syllable, as a function of the lexical stress, boundaries between major and minor phrases, parts of speech and other factors. Commonly this is used to control the fundamental pitch of the synthesised speech (though arrangements for this are not shown in the Figure). The phonetic representation from the unit 3 also passes to a selection unit 6 which has access to a database 7 containing digitised segments of speech waveform each corresponding to a respective phoneme. Preferably (though this is not essential to the invention) the database may contain a number of examples of each phoneme, recorded (by a human speaker) in different contexts, the selection unit serving to select that example whose context most closely matches the context in which the phoneme to be generated actually appears in the input text (in terms of the match between the phonemes flanking the phoneme in question. Arrangements for this type of selection are described in our co-pending European patent application No. 9330621 9.2. The waveform segments will (as described further below) be concatenated to produce a continuous sequence of digital waveform samples corresponding to the text received at the input 1 . The units described above are conventional in operation. However the apparatus also includes a duration calculation unit 8. This serves to produce, for each phoneme, an output indicating its duration in milliseconds (or other convenient temporal measure). Its operation is based on the idea of a regular beat rate, that is, a rate of production of syllables which is constant, or at least constant over a portion of speech. This beat may be viewed as defining a period of time into which the syllable must be fitted if possible, though as will be seen, the actual duration will at times deviate from this period. The apparatus shown assumes a fixed underlying beat rate but the setting of this may be changed by the user. A typical rate might be 0.01 5 beats/ms (i.e. a beat period of 66.7 ms). The duration unit 8 has access to a database 9 containing statistical information for each phoneme, as follows: - the minimum segmental duration p ι mιn of that phoneme - the maximum segmental duration p, ,ma χ of that phoneme - the mean or modal segmental duration p, M of that phoneme it being understood that these values are stored for each phoneme p; (i = 1 ,...,n) of the set P of all legal phonemes. The modal duration is the most frequently occurring value in the distribution of phoneme lengths, this being preferred to the mean. These values may be determined from a database of annotated speech samples. Raw statistical values may be used or smoothed data such as gamma modelled durations may be used. For the best results this statistical information should be derived from speech of the same style to that to be synthesised; indeed, if the database 7 contains multiple examples of each phoneme p, the statistical information may be generated from the contents of the database 7 itself. It should also be mentioned that these values are determined only once. The duration unit 8 proceeds as follows for each syllable j - the notation assumes that each syllable contains L phonemes (where L obviously varies from syllable to syllable) and the I'th phoneme is identified by an index i(l) - i.e. if phoneme p 3 is found at position 2 in the syllable then i(2) = 3: (1 ) determine the minimum and maximum possible duration of the syllable j - i.e. ^ min " ∑ Pi(l), min J 1 = 1 The maximum and minimum values represent a first set of bounds on the syllable duration. (2) Associated with each syllable is a factor indicating the degree of salience, obtained from the unit 5; as explained above, it is determined from information indicating how prominent the syllable is within the word and how prominent the word is within the sentence. Thus this factor is used to determine how much a given syllable may be squeezed in time. It is assumed that the salience factor Sal j (for the jth syllable) has a range from 0 to 100. A salience factor of 0 means that the syllable may be squeezed to its minimum duration Syl, mιn , whilst a salience factor of 1 00 indicates that it can assume the maximum duration Syl j max . Thus a modified minimum duration is computed as: Syl', mn = Syl mn + (Syl^-Syl, .Sal WO (3) Calculate the desired duration Syl,_ c using the beat period T if this lies within the range defined by the modified minimum duration and the maximum duration, and using the modified minimum or the maximum otherwise. Viz.: If T < Syl' j,min then Otherwise If > Syl j,max then Syl j .c = Syl jιmax Otherwise Sylj.c = T (4) Once the duration of the syllable has been determined the durations of the individual phonemes within the syllable must be determined. This is done by apportioning the available time Syl J#c among the L phonemes according to the relative weights of their modal durations: - first, find the proportion r, of the syllable to be occupied by the Ith phoneme: / The computed duration of the Ith phoneme of the jth syllable is then obtained from: Typically, a person does not speak at a constant rate. In particular, an utterance containing a large number of words is spoken more quickly than an utterance which contains fewer words. For this reason, in a preferred embodiment of the present invention, a further modification is made to the phoneme duration p m c in dependence upon the length of the major phrase which contains the phoneme in question. In calculating this modification, a percentage increase or decrease in the phoneme duration is calculated as a simple linear function of the number of syllables in the major phrase, with a cut-off at seven syllables. The greatest percentage increase in the phoneme duration is applied when there is only one syllable in a major phrase, the modification decreasing linearly as the number of syllables increases up to seven syllables. The modification made to the duration of phonemes contained within a major phrase having more than seven syllables is the same as that made to a phoneme contained within a major phrase having seven syllables. It might in some situations be found that a cut off point at more or fewer than seven syllables is to be preferred. In addition, it will be appreciated that non-linear functions might provide a better model of the relationship between the number of syllables within a major phrase and the duration of the syllables within it. Also, word groupings other than major phrases may be used. Once the phoneme duration has been computed (and, in the case of the preferred embodiment, modified), a realisation unit 10 serves to receive, for each phoneme in turn, the corresponding waveform segment from the unit 6, and adjust the length of it to correspond to the computed (and, possibly modified) duration using an overlap-add technique. This is a known technique for adjusting the length of segments of speech waveform whereby portions corresponding to the pitch period of the speech are separated using overlapping window functions synchronous (for voiced speech) with pitchmarks (stored in the database 7 along with the waveforms themselves) corresponding to the original speaker's glottal excitation. It is then a simple matter to reduce or increase the duration by omitting or as the case may be repeating portions prior to adding them back together. The concatenation of one phoneme with the next may also be performed by an overlap-add process; if desired the improved overlap-add process described in our co-pending European patent application No. 95302474.2 may be used for this purpose. As an alternative, the modification described in relation to the preferred embodiment of the present invention may be made to the modal duration of the phonemes without calculating the syllable duration.

Claims: CLAIMS 1 . A speech synthesiser comprising: means for supplying a sequence of representations of phonetic units; means for retrieving stored portions of data to generate waveforms corresponding to the phonetic units; means for determining durations for the phonetic units;and means for processing the portions of data to adjust the time durations of the waveforms according to the determined durations; wherein the determining means is operable to define a constant duration corresponding to a regular beat period and to adjust that duration in dependence on the nature of the phonetic unit and/or its context within the sequence. 2. A speech synthesiser according to claim 1 further comprising: means for identifying word groupings in said sequence; wherein the determining means further adjusts said durations for the phonetic units in dependence upon the number of phonetic units falling within a corresponding word grouping. 3. A speech synthesiser according to claim 2 wherein said word grouping is a major phrase. 4. A speech synthesiser according to any preceding claim in which the phonetic units are syllables. 5. A speech synthesiser according to any preceding claim including a store containing items of data representing waveforms corresponding to phonetic sub- units, the retrieving means being operable to retrieve, for each phonetic unit, one or more portions of data each corresponding to a sub-unit thereof, and a further store containing for each sub-unit statistical duration data including a maximum value and a minimum value, wherein the determining means is operable to compute for each phonetic unit the sum of the minimum duration values and the sum of the maximum duration values for the constituent sub-unit(s) thereof and to adjust the said constant duration such that it neither falls below the sum of the minimum values nor exceeds the sum of the maximum values. 6. A speech synthesiser according to claim 5 in which the sub-units are phonemes. 7. A speech synthesiser according to claim 5 or 6 in which the determining means is operable to adjust the said constant duration value such that it does not fall below a modified minimum value which exceeds the sum of the minimum values to an extent determined by the context of the phonetic unit. 8. A speech synthesiser according to claim 5,6 or 7 in which the statistical duration data include for each sub-unit a central value, and including means to assign to each sub-unit of a phonetic unit a duration which is a fraction of the adjusted constant value for that phonetic unit in proportion to the ratio of the central value for that sub-unit to the sum of the central values for the constituent sub-units of that phonetic unit. 9. A speech synthesiser according to any one of the preceding claims in which the processing means is arranged in operation to adjust the durations of waveform portions employing an overlap-add method. 10. A speech synthesiser substantially as herein described with reference to and as illustrated in the accompanying drawing. 1 1 . A speech synthesiser comprising: means for supplying a sequence of representations of phonetic units; means for retrieving stored portions of data to generate waveforms corresponding to the phonetic units; means for identifying word groupings in said sequence; means for determining durations for the phonetic units in dependence upon the number of phonetic units in the word grouping which contains them; and means for processing the portions of data to adjust the time durations of the waveforms according to the determined durations. 12. A speech synthesiser according to claim 1 1 wherein said word grouping is a major phrase. 1 3. A speech synthesiser according to claim 1 1 or 1 2 in which the phonetic units are syllables.

Inventors: BREEN ANDREW PAUL, BREEN, ANDREW, PAUL
Applicants: BREEN ANDREW PAUL, BRITISH TELECOMM, BREEN, ANDREW, PAUL, BRITISH TELECOMMUNICATIONS PUBLIC LIMITED COMPANY
Application year: 1996
Main classification: G10L5
IPC codes: G10L13