Speech synthesis employing prosody templates

Abstract: In a speech synthesizer prosody templates, constructed during system design, store intonation (F0) and duration information based on syllabic stress patterns for the target word. The prosody templates are constructed so that words exhibiting the same stress pattern will be assigned the same prosody template. The prosody template information is preferably stored in a normalized form to reduce noise level in the statistical measures. The synthesizer uses a word dictionary that specifies the stress patterns associated with each stored word. These stress patterns are used to access the prosody template database. F0 and duration information is then extracted from the selected template, de-normalized and applied to the phonemic information to produce a natural human-sounding prosody in the synthesized output.

Description: Background and Summary of the Invention The present invention relates generally to text-to-speech (tts) systems and speech synthesis. More particularly, the invention relates to a system for providing more natural sounding prosody through the use of prosody templates. The task of generating natural human-sounding prosody for text-to-speech and speech synthesis has historically been one of the most challenging problems that researchers and developers have had to face. Text-to-speech systems have in general become infamous for their "robotic" intonations. To address this problem some prior systems have used neural networks and vector clustering algorithms in an attempt to simulate natural sounding prosody. Aside from being only marginally successful, these "black box" computational techniques give the developer no feedback regarding what the crucial parameters are for natural sounding prosody. The present invention, as claimed in claim 1, takes a different approach, in which samples of actual human speech are used to develop prosody templates. The templates define a relationship between syllabic stress patterns and certain prosodic variables such as intonation (F0) and duration. Thus, unlike prior algorithmic approaches, the invention uses naturally occurring lexical and acoustic attributes (e.g., stress pattern, number of syllables, intonation, duration) that can be directly observed and understood by the researcher or developer. EP 083330482 discloses using a prosody database that holds fundamental frequency templates for use in speech synthesis. A prosody database is used to hold a sequence of weighted fundamental frequencies for the syllables of a sentence. The presently preferred implementation stores the prosody templates in a database that is accessed by specifying the number of syllables and stress pattern associated with a given word. A word dictionary is provided to supply the system with the requisite information concerning number of syllables and stress patterns. The text processor generates phonemic representations of input words, using the word dictionary to identify the stress pattern of the input words. A prosody module then accesses the database of templates, using the number of syllables and stress pattern information to access the database. A prosody module for the given word is then obtained from the database and used to supply prosody information to the sound generation module that generates synthesized speech based on the phonemic representation and the prosody information. The presently preferred implementation focuses on speech at the word level. Words are subdivided into syllables and thus represent the basic unit of prosody. The preferred system assumes that the stress pattern defined by the syllables determines the most perceptually important characteristics of both intonation (F0) and duration. At this level of granularity, the template set is quite small in size and easily implemented in text-to-speech and speech synthesis systems. While a word level prosodic analysis using syllables is presently preferred, the prosody template techniques of the invention can be used in systems exhibiting other levels of granularity. For example, the template set can be expanded to allow for more feature determiners, both at the syllable and word level. In this regard, microscopic F0 perturbations caused by consonant type, voicing, intrinsic pitch of vowels and segmental structure in a syllable can be used as attributes with which to categorize certain prosodic patterns. In addition, the techniques can be extended beyond the word level F0 contours and duration patterns to phrase-level and sentence-level analyses. For a more complete understanding of the invention, its objectives and advantages, refer to the following specification and to the accompanying drawings. Brief Description of the Drawings Figure 1 is a block diagram of a speech synthesizer employing prosody templates in accordance with the invention; Figure 2A and B is a block diagram illustrating how prosody templates may be developed; Figure 3 is a distribution plot for an exemplary stress pattern; Figure 4 is a graph of the average F0 contour for the stress pattern of Figure 3 ; Figure 5 is a series of graphs illustrating the average contour for exemplary two-syllable and three-syllable data. Figure 6 is a flowchart diagram illustrating the denormalizing procedure employed by the preferred embodiment. Figure 7 is a database diagram showing the relationships among database entities in the preferred embodiment. Description of the Preferred Embodiment When text is read by a human speaker, the pitch rises and falls, syllables are enunciated with greater or lesser intensity, vowels are elongated or shortened, and pauses are inserted, giving the spoken passage a definite rhythm. These features comprise some of the attributes that speech researchers refer to as prosody. Human speakers add prosodic information automatically when reading a passage of text allowed. The prosodic information conveys the reader's interpretation of the material. This interpretation is an artifact of human experience, as the printed text contains little direct prosodic information. When a computer-implemented speech synthesis system reads or recites a passage of text, this human-sounding prosody is lacking in conventional systems. Quite simply, the text itself contains virtually no prosodic information, and the conventional speech synthesizer thus has little upon which to generate the missing prosody information. As noted earlier, prior attempts at adding prosody information have focused on ruled-based techniques and on neural network techniques or algorithmic techniques, such as vector clustering techniques. Rule-based techniques simply do not sound natural and neural network and algorithmic techniques cannot be adapted and cannot be used to draw inferences needed for further modification or for application outside the training set used to generate them. The present invention addresses the prosody problem through use of prosody templates that are tied to the syllabic stress patterns found within spoken words. More specifically, the prosodic templates store F0 intonation information and duration information. This stored prosody information is captured within a database and arranged according to syllabic stress patterns. The presently preferred embodiment defines three different stress levels. These are designated by numbers 0, 1 and 2. The stress levels incorporate the following: 0 no stress 1 primary stress 2 secondary stress According to the preferred embodiment, single-syllable words are considered to have a simple stress pattern corresponding to the primary stress level '1.' Multi-syllable words can have different combinations of stress level patterns. For example, two-syllables words may have stress patterns '10', '01' and '12.' The presently preferred embodiment employs a prosody template for each different stress pattern combination. Thus stress pattern '1' has a first prosody template, stress pattern '10' has a different prosody template, and so forth. Each prosody template contains prosody information such as intonation and duration information, and optionally other information as well. Figure 1 illustrates a speech synthesizer that employs the prosody template technology of the present invention. Referring to Figure 1 , an input text 10 is supplied to text processor module 12 as a sequence or string of letters that define words. Text processor 12 has an associated word dictionary 14 containing information about a plurality of stored words. In the preferred embodiment the word dictionary has a data structure illustrated at 16 according to which words are stored along with certain phonemic representation information and certain stress pattern information. More specifically, each word in the dictionary is accompanied by its phonemic representation, information identifying the word syllable boundaries and information designating how stress is assigned to each syllable. Thus the word dictionary 14 contains, in searchable electronic form, the basic information needed to generate a pronunciation of the word. Text processor 12 is further coupled to prosody module 18 which has associated with it the prosody template database 20. In the presently preferred embodiment the prosody templates store intonation (F0) and duration data for each of a plurality of different stress patterns. The single-word stress pattern '1' comprises a first template, the two-syllable pattern '10' comprises a second template, the pattern '01' comprises yet another template, and so forth. The templates are stored in the database by stress pattern, as indicated diagrammatically by data structure 22 in Figure 1 . The stress pattern associated with a given word serves as the database access key with which prosody module 18 retrieves the associated intonation and duration information. Prosody module 18 ascertains the stress pattern associated with a given word by information supplied to it via text processor 12 . Text processor 12 obtains this information using the word dictionary 14 . While the presently preferred prosody templates store intonation and duration information, the template structure can readily be extended to include other prosody attributes. The text processor 12 and prosody module 18 both supply information to the sound generation module 24 . Specifically, text processor 12 supplies phonemic information obtained from word dictionary 14 and prosody module 18 supplies the prosody information (e.g. intonation and duration). The sound generation module then generates synthesized speech based on the phonemic and prosody information. The presently preferred embodiment encodes prosody information in a standardized form in which the prosody information is normalized and parameterized to simplify storage and retrieval within database 20 . The sound generation module 24 de-normalizes and converts the standardized templates into a form that can be applied to the phonemic information supplied by text processor 12 . The details of this process will be described more fully below. However, first, a detailed description of the prosody templates and their construction will be described. Referring to Figure 2A and 2B , the procedure for generating suitable prosody templates is outlined. The prosody templates are constructed using human training speech, which may be pre-recorded and supplied as a collection of training speech sentences 30 . Our presently preferred implementation was constructed using approximately 3,000 sentences with proper nouns in the sentence-initial position. The collection of training speech 30 was collected from a single female speaker of American English. Of course, other sources of training speech may also be used. The training speech data is initially pre-processed through a series of steps. First, a labeling tool 32 is used to segment the sentences into words and to segment the words into syllables and syllables into phonemes which are then stored at 34 . Then stresses are assigned to the syllables as depicted at step 36 . In the presently preferred implementation, a three-level stress assignment was used in which '0' represented no stress, '1' represented the primary stress and '2' represented the secondary stress, as illustrated diagrammatically at 38 . Subdivision of words into syllables and phonemes and assigning the stress levels can be done manually or with the assistance of an automatic or semi-automatic tracker that performs F0 editing. In this regard, the pre-processing of training speech data is somewhat time-consuming, however it only has to be performed once during development of the prosody templates. Accurately labeled and stress-assigned data is needed to insure accuracy and to reduce the noise level in subsequent statistical analysis. After the words have been labeled and stresses assigned, they may be grouped according to stress pattern. As illustrated at 40 , single-syllable words comprise a first group. Two-syllable words comprise four additional groups, the '10' group, the '01' group, the '12' group and the '21' group. Similarly three-syllable, four-syllable ...n-syllable words can be similarly grouped according to stress patterns. Next, for each stress pattern group the fundamental pitch or intonation data F0 is normalized with respect to time (thereby removing the time dimension specific to that recording) as indicated at step 42 . This may be accomplished in a number of ways. The presently preferred technique, described at 44 resamples the data to a fixed number of F0 points. For example, the data may be sampled to comprise 30 samples per syllable. Next a series of additional processing steps are performed to eliminate baseline pitch constant offsets, as indicated generally at 46 . The presently preferred approach involves transforming the F0 points for the entire sentence into the log domain as indicated at 48 . Once the points have been transformed into the log domain they may be added to the template database as illustrated at 50 . In the presently preferred implementation all log domain data for a given group are averaged and this average is used to populate the prosody template. Thus all words in a given group (e.g. all two-syllable words of the '10' pattern) contribute to the single average value used to populate the template for that group. While arithmetic averaging of the data gives good results, other statistical processing may also be employed if desired. To assess the robustness of the prosody template, some additional processing can be performed as illustrated in Figure 2B beginning at step 52 . The log domain data is used to compute a linear regression line for the entire sentence. The regression line intersects with the word end-boundary, as indicated at step 54 , and this intersection is used as an elevation point for the target word. In step 56 the elevation point is shifted to a common reference point. The preferred embodiment shifts the data either up or down to a common reference point of nominally 100 Hz. As previously noted, prior neural network techniques do not give the system designer the opportunity to adjust parameters in a meaningful way, or to discover what factors contribute to the output. The present invention allows the designer to explore relevant parameters through statistical analysis. This is illustrated beginning at step 58 . If desired, the data are statistically analyzed at 58 by comparing each sample to the arithmetic mean in order to compute a measure of distance, such as the area difference as at 60 . We use a measure such as the area difference between two vectors as set forth in the equation below. We have found that this measure is usually quite good as producing useful information about how similar or different the samples are from one another. Other distance measures may be used, including weighted measures that take into account psycho-acoustic properties of the sensor-neural system. d = measure of the difference between two vectors i = index of vector being compared Y i = F0 contour vector Y = arithmetic mean vector for group N = samples in a vector y = sample value v i = voicing function. 1 if voicing on, 0 otherwise. c = scaling factor (optional) For each pattern this distance measure is then tabulated as at 62 and a histogram plot may be constructed as at 64 . An example of such a histogram plot appears in Figure 3 , which shows the distribution plot for stress pattern '1.' In the plot the x-access is on an arbitrary scale and the y-access is the count frequency for a given distance. Dissimilarities become significant around 1/3 on the x-access. By constructing histogram plots as described above, the prosody templates can be assessed to determine how closely the samples are to each other and thus how well the resulting template corresponds to a natural sounding intonation. In other words, the histogram tells whether the grouping function (stress pattern) adequately accounts for the observed shapes. A wide spread shows that it does not, while a large concentration near the average indicates that we have found a pattern determined by stress alone, and hence a good candidate for the prosody template. Figure 4 shows a corresponding plot of the average F0 contour for the '1' pattern. The data graph in Figure 4 corresponds to the distribution plot in Figure 3 . Note that the plot in Figure 4 represents normalized log coordinates. The bottom, middle and top correspond to 50 Hz, 100 Hz and 200 Hz, respectively. Figure 4 shows the average F0 contour for the single-syllable pattern to be a slowly rising contour. Figure 5 shows the results of our F0 study with respect to the family of two-syllable patterns. In Figure 5 the pattern '10' is shown at A, the pattern '01' is shown at B and the pattern '12' is shown at C. Also included in Figure 5 is the average contour pattern for the three-syllable group '010.' Comparing the two-syllable patterns in Figure 5 , note that the peak location differs as well as the overall F0 contour shape. The '10' pattern shows a rise-fall with a peak at about 80% into the first syllable, whereas the '01' pattern shows a flat rise-fall pattern, with a peak at about 60% into the second syllable. In these figures the vertical line denotes the syllable boundary. The '12' pattern is very similar to the '10' pattern, but once F0 reaches the target point of the rise, the '12' pattern has a longer stretch in this higher F0 region. This implies that there may be a secondary stress. The '010' pattern of the illustrated three-syllable word shows a clear bell curve in the distribution and some anomalies. The average contour is a low flat followed by a rise-fall contour with the F0 peak at about 85% into the second syllable. Note that some of the anomalies in this distribution may correspond to mispronounced words in the training data. The histogram plots and average contour curves may be computed for all different patterns reflected in the training data. Our studies have shown that the F0 contours and duration patterns produced in this fashion are close to or identical to those of a human speaker. Using only the stress pattern as the distinguishing feature we have found that nearly all plots of the F0 curve similarity distribution exhibit a distinct bell curve shape. This confirms that the stress pattern is a very effective criterion for assigning prosody information. With the prosody template construction in mind, the sound generation module 24 (Fig. 1 ) will now be explained in greater detail. Prosody information extracted by prosody module 18 is stored in a normalized, pitch-shifted and log domain format. Thus, in order to use the prosody templates, the sound generation module must first denormalize the information as illustrated in Figure 6 beginning at step 70 . The de-normalization process first shifts the template (step 72 ) to a height that fits the frame sentence pitch contour. This constant is given as part of the retrieved data for the frame-sentence and is computed by the regression-line coefficients for the pitch-contour for that sentence. (See Figure 2 steps 52-56 ). Meanwhile the duration template is accessed and the duration information is denormalized to ascertain the time (in milliseconds) associated with each syllable. The templates log-domain values are then transformed into linear Hz values at step 74 . Then, at step 76 , each syllable segment of the template is re-sampled with a fixed duration for each point (10 ms in the current embodiment) such that the total duration of each corresponds to the denormalized time value specified. This places the intonation contour back onto a physical timeline. At this point, the transformed template data is ready to be used by the sound generation module. Naturally, the de-normalization steps can be performed by any of the modules that handle prosody information. Thus the de-normalizing steps illustrated in Figure 6 can be performed by either the sound generation module 24 or the prosody module 18. The presently preferred embodiment stores duration information as ratios of phoneme values versus globally determined durations values. The globally determined values correspond to the mean duration values observed across the entire training corpus. The per-syllable values represent the sum of the observed phoneme or phoneme group durations within a given syllable. Per-syllable/global ratios are computed and averaged to populate each member of the prosody template. These ratios are stored in the prosody template and are used to compute the actual duration of each syllable. Obtaining detailed temporal prosody patterns is somewhat more involved that it is for F0 contours. This is largely due to the fact that one cannot separate a high level prosodic intent from purely articulatory constraints, merely by examining individual segmental data. Prosody Database Design The structure and arrangement of the presently preferred prosody database is further described by the relationship diagram of Figure 7 and by the following database design specification. The specification is provided to illustrate a preferred embodiment of the invention. Other database design specifications are also possible. NORMDATA NDID--Primary Key Target--Key (WordID) Sentence--Key (SentID) SentencePos--Text Follow--Key (WordID) Session--Key (SessID) Recording--Text Attributes--Text WORD WordID--Primary Key Spelling--Text Phonemes--Text Syllables--Number Stress--Text Subwords--Number Origin--Text Feature1--Number (Submorphs) Feature2--Number FRAMESENTENCE SentID--Primary Key Sentence--Text Type--Number Syllables--Number SESSION SessID--Primary Key Speaker--Text DateRecorded--Date/Time Tape--Text F0DATA NDID--Key Index--Number Value--Currency DURDATA NDID--Key Index--Number Value--Currency Abs--Currency PHONDATA NDID--Key Phones--Text Dur--Currency Stress--Text SylPos--Number PhonPos--Number Rate--Number Parse--Text RECORDING ID Our A (y = A + Bx) B (y = A + Bx) Descript GROUP GroupID--Primary Key Syllables --Number Stress--Text Feature1--Number Feature2--Number SentencePos--Text <Future exp.> TEMPLATEF0 GroupID--Key Index--Number Value-Number TEMPLATEDUR GroupID--Key Index--Number Value--Number DISTRIBUTIONF0 GroupID--Key Index--Number Value--Number DISTRIBUTIONDUR GroupID--Key Index--Number Value--Number GROUPMEMBERS GroupID--Key NDID--Key DistanceF0--Currency DistanceDur--Currency PHONSTAT Phones--Text Mean―Curr. SSD―Curr. Min―Curr. Max―Curr. CoVar--Currency N--Number Class--Text FIELD DESCRIPTIONS NORMDATA NDID Primary Key Target Target word. Key to WORD table. Sentence Source frame-sentence. Key to FRAMESENTENCE table. SentencePos Sentence position. INITIAL, MEDIAL, FINAL. Follow Word that follows the target word. Key to WORD table or 0 if none. Session Which session the recording was part of. Key to SESSION table. Recording Identifier for recording in Unix directories (raw data). Attributes Miscellaneous info. F = F0 data considered to be anomalous. D = Duration data considered to be anomalous. A = Alternative F0 B = Alternative duration PHONDATA NDID Key to NORMDATA Phones String of 1 or 2 phonemes Dur Total duration for Phones Stress Stress of syllable to which Phones belong SylPos Position of syllable containing Phones (counting from 0) PhonPos Position of Phones within syllable (counting from 0) Rate Speech rate measure of utterance Parse L = Phones made by left-parse R = Phones made by right-parse PHONSTAT Phones String of 1 or 2 phonemes Mean Statistical mean of duration for Phones SSD Sample standard deviation Min Minimum value observed Max Maximum value observed CoVar Coefficient of Variation (SSD/Mean) N Number of samples for this Phones group Class Classification A = All samples included From the foregoing it will be appreciated that the present invention provides an apparatus and method for generating synthesized speech, wherein the normally missing prosody information is supplied from templates based on data extracted from human speech. As we have demonstrated, this prosody information can be selected from a database of templates and applied to the phonemic information through a lookup procedure based on stress patterns associated with the text of input words. The invention is applicable to a wide variety of different text-to-speech and speech synthesis applications, including large domain applications such as textbooks reading applications, and more limited domain applications, such as car navigation or phrase book translation applications. In the limited domain case, a small set of fixed-frame sentences may be designated in advance, and a target word in that sentence can be substituted for an arbitrary word (such as a proper name or street name). In this case, pitch and timing for the frame sentences can be measured and stored from real speech, thus insuring a very natural prosody for most of the sentence. The target word is then the only thing requiring pitch and timing control using the prosody templates of the invention.

Claims: A method for training a prosody template using human speech, comprising: segmenting words of a sentence (32) from the human speech into phonemes associated with syllables of said words; assigning stress levels (36) to said syllables; grouping said words (40) according to said stress levels thereby forming at least one stress pattern group; normalizing intonation data (42) for each word in a given stress pattern group with respect to time, thereby forming normalized intonation data; adjusting pitch shift (46) of said normalized intonation data, thereby forming adjusted intonation data; and computing an average value from the adjusted intonation data and storing the average value in a prosody database (50) as a template. The method of Claim 1 wherein said normalized intonation data is based on resampling said intonation data for a plurality of intonation points. The method of Claim 1 wherein the step of adjusting pitch shift further comprises transforming the normalized intonation data into a log domain. The method of Claim 1 wherein the intonation data is further defined as fundamental pitch (F0) data. The method of Claim 3 further comprising the step of: forming (54) an elevation point for said word, said elevation point based on linear regression of said transformed data and a word end-boundary. The method of claim 5 wherein said elevation point is adjusted (56) as a common reference point. The method of claim 6 comprising producing a constant representing a denormalizing based on a regression-line coefficient of a frame sentence pitch contour. The method of claim 6 further comprising the step of: assessing a duration template operably permitting denormalization of a duration information, thereby associating a time value with each of said syllables. The method of Claim 8 further comprising the step of: transforming (74) log-domain values of said duration template into linear values. The method of Claim 8 further comprising the step of: resampling (76) each syllable segment of the template for a fixed duration such that the total duration of each said syllable segment corresponds to denormalized said time values, whereby an intonation contour is associated with a physical timeline. The method of Claim 9 further comprising the steps of: storing duration information as ratios of phoneme values to globally determined duration values, said globally determined duration values being based on mean duration values across an entire training corpus; basing per-syllable values on a sum of the observed phoneme; and populating said prosody template with a ratio of said per-syllable values versus global ratios, operable to permit computation of an actual duration of said each syllable.

Inventors: HATA KAZUE, HOLM FRODE, HATA, KAZUE, HOLM, FRODE
Applicants: MATSUSHITA ELECTRIC IND CO LTD, MATSUSHITA ELECTRIC INDUSTRIAL CO., LTD.
Application year: 1999
Main classification: G10L13
IPC codes: G10L13