Speech information processing method and apparatus and storage medium

- Canon

A speech information processing apparatus which sets the duration of phonological series with accuracy, and sets a natural phoneme duration in accordance with phonemic/linguistic environment. For this purpose, the duration of a predetermined unit of phonological series is obtained based on a duration model for an entire segment. Then, duration of each of phonemes constructing the phonological series is obtained based on a duration model for a partial segment (S303). Then, duration of each phoneme is set based on the duration of the phonological series and the duration of each phoneme.

Skip to: Description  ·  Claims  · Patent History  ·  Patent History
Description
FIELD OF THE INVENTION

[0001] The present invention relates to speech information processing method and apparatus for setting duration of phoneme upon speech synthesis, and a computer-readable storage medium holding a program for execution of speech information processing method.

BACKGROUND OF THE INVENTION

[0002] Recently, a speech synthesis apparatus has been developed so as to convert an arbitrary character string into a phonological series and convert the phonological series into synthesized speech in accordance with a predetermined speech synthesis by rule.

[0003] However, the synthesized speech outputted from the conventional speech synthesis apparatus sounds unnatural and mechanical in comparison with natural speech sounded by human being.

[0004] For example, in a phonological series “o, X, s, e, i” of a character series “onsei”, the accuracy of rule for controlling the duration of generate each phoneme is considered as one of factors of the awkward-sounding result. If the accuracy is low, as appropriate duration cannot be assigned to each phoneme, the synthesized speech becomes unnatural and mechanical.

SUMMARY OF THE INVENTION

[0005] The present invention has been made in consideration of the above prior art, and has its object to provide speech information processing method and apparatus for setting the duration of phonological series with high accuracy and setting natural phonological duration in accordance with phonemic/linguistic environment.

[0006] To attain the foregoing objects, the present invention provides a speech information processing apparatus comprising: means for obtaining a duration of a predetermined unit of phonological series based on a duration model for an entire segment; means for obtaining a duration of each or phonemes constructing the phonological series based on a duration model for a partial segment; setting means for setting a duration of each of the phonemes based on the duration of the phonological series and the duration of each of the phonemes; and speech synthesis means for synthesizing speech based on the duration of each of the phonemes set by the setting means.

[0007] Further, the present invention provides a speech information processing method comprising: a step of obtaining a duration of a predetermined unit of phonological series based on a duration model for an entire segment; a step of obtaining a duration of each or phonemes constructing the phonological series based on a duration model for a partial segment; a setting step of setting a duration of each of the phonemes based on the duration of the phonological series and the duration of each of the phonemes; and a speech synthesis step of synthesizing speech based on the duration of each of the phonemes set at the setting step.

[0008] Other features and advantages of the present invention will be apparent from the following description taken in conjunction with the accompanying drawings, in which like reference characters designate the same name or similar parts throughout the figures thereof.

BRIEF DESCRIPTION OF THE DRAWINGS

[0009] The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate embodiments of the invention and, together with the description, serve to explain the principles of the invention.

[0010] FIG. 1 is a block diagram showing the hardware construction of a speech synthesizing apparatus according to an embodiment of the present invention;

[0011] FIG. 2 is a flowchart showing a processing procedure of speech synthesis in the speech synthesizing apparatus according to the embodiment;

[0012] FIG. 3 is a flowchart showing a procedure of setting duration of phonological series using a duration model in prosody generation processing at step S203 in FIG. 2;

[0013] FIG. 4 is a flowchart showing a method for generating an entire duration model for an entire segment according to the embodiment; and

[0014] FIG. 5 is a flowchart showing a method for generating a partial duration model for a partial segment according to the embodiment.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0015] Hereinbelow, preferred embodiments of the present invention will now be described in detail in accordance with the accompanying drawings.

First Embodiment

[0016] FIG. 1 is a block diagram showing the construction of a speech synthesizing apparatus according to a first embodiment of the present invention.

[0017] In FIG. 1, reference numeral 101 denotes a CPU which performs various control in the speech synthesizing apparatus of the present embodiment in accordance with a control program stored in a ROM 102 or a control program loaded from an external storage device 104 onto a RAM 103. The control program executed by the CPU 101, various parameters and the like are stored in the ROM 102. The RAM 103 provides a work area for the CPU 101 upon execution of the various control. Further, the control program executed by the CPU 101 is stored in the RAM 103. The external storage device 104 is a hard disk, a floppy disk, a CD-ROM or the like. If the storage device is a hard disk, various programs installed from CD-ROMs, floppy disks and the like are stored in the storage device. Numeral 105 denotes an input unit having a keyboard and a pointing device such as a mouse. Further, the input unit 105 may input data from the Internet via e.g. a communication line. Numeral 106 denotes a display unit such as a liquid crystal display or a CRT, which displays various data under the control of the CPU 101. Numeral 107 denotes a speaker which converts a speech signal (electric signal) into speech as an audio sound and outputs the speech. Numeral 108 denotes a bus connecting the above units. Numeral 109 denotes a speech synthesis unit.

[0018] FIG. 2 is a flowchart showing the operation of the speech synthesis unit 109 according to the first embodiment. The following respective steps are performed by execution of the control program stored in the ROM 102 or the control program loaded from the external storage device 104 to the RAM 103, by the CPU 101.

[0019] At step S201, Japanese text data of Kanji and Kana letters, or text data in another language is inputted from the input unit 105. At step S202, the input text data is analyzed by using a language analysis dictionary 201, and information on a phonological series (reading), accent and the like of the input text data is extracted. Next, at step S203, prosody (prosodic information) such as duration, fundamental frequency (pitch pattern), power and the like of each of phonemes forming the phonological series obtained at step S202 is generated by using these information. At this time, the duration of the phoneme is determined by using a duration model 202, and the fundamental frequency, the power and the like are determined by using a prosody control model 203.

[0020] Next, at step S204, plural speech segments (waveforms or feature parameters) to form synthesized speech corresponding to the phonological series are selected from a speech segment dictionary 204, based on the phonological series extracted through analysis at step S202 and the prosody generated at step S203. Next, at step S205, a synthesized speech signal is generated by using the selected speech segments, and at step S206, speech is outputted from the speaker 107 based on the generated synthesized speech signal. Finally, at step S207, it is determined whether or not processing on the input text data has been completed. If the processing is not completed, the process returns to step S201 to continue the above processing.

[0021] FIG. 3 is a flowchart showing in detail a part of the prosody generation processing at step S203 in FIG. 2. In FIG. 3, the duration model 202 is used for setting the duration of predetermined unit of phonological series (hereinbelow referred to as an “entire segment”) and the duration of each of the phonemes (hereinbelow referred to as an “partial segment”) constructing the phonological series. Note that the duration model 202 includes a duration model 301 for entire segment (or entire duration model) and a duration model 302 for partial segment (or partial duration model).

[0022] First, at step S301, the result of analysis of the input text data obtained by the processing at step S202 is inputted. As the result of analysis, information on phonemic environment, obtained from phonemic information on phonemes, information on linguistic environment, obtained from linguistic information on the number of moras, the number of accent phrases, parts of speech and the like, are used. Next, the process proceeds to step S302, at which the duration of the entire segment is set based on the entire duration model 301. Note that the entire segment comprises a speech unit to be processed in one processing, such as an accent phrase, a word, a phrase and a sentence.

[0023] Next, the process proceeds to step S303, at which the duration of the partial segment is set based on the partial duration model 302. Note that the partial segment comprises a phonological unit constructing a speech unit such as a phoneme, a syllable and a mora.

[0024] Finally, the process proceeds to step S302, at which, the duration of the partial segment is extended/reduced by using a partial duration extension/reduction model 303 such that the difference between the duration for the entire segment, obtained from the sum of the durations of the partial segments obtained at step S303, and the duration for the entire segment set at step S302 is the entire duration set at step S302. Thus the partial durations of the respective phonemes are determined.

[0025] As a particular example, in a case where text data “Hana ga” is inputted, a phonological series obtained by analysis of the character string is handled as an entire segment, and the entire segment is divided based on mora as a phonological unit, into partial segments “ha”, “na” and “ga”. Assuming that the average duration of the respective moras is 100 msec and actually-measured duration of the entire segment is 600 msec, as the entire duration obtained by the sum of the partial durations is 300 msec, the difference between this entire duration and the actually-measure duration of the entire segment is 300 msec.

[0026] Next, a method for generating the entire duration model 301 for entire segment and processing for setting the duration for the entire segment at step S302 will be described with reference to the flowchart of FIG. 4.

[0027] FIG. 4 is a flowchart showing the method for generating the entire duration model for entire segment.

[0028] First, at step S401, an entire duration is extracted by using a speech file 401 having plural learned samples for generating an entire duration model for entire segment and a side information file having information necessary for extracting duration such as start and end time of phoneme or syllable. Next, the process proceeds to step S402, at which the entire duration model 301 in consideration of predetermined linguistic environment is generated by using a phonemic/linguistic environment file 403 having information on phonemic environment obtained from phonemic information of phoneme or the like and information on linguistic environment obtained from the number of moras, the number of accent phrases, parts of speech and the like, and the information on the entire duration extracted at step S401.

[0029] A particular processing procedure is as follows. The number of learned samples in the speech file 401 to generate the entire segment duration model 301 is K, and the duration of entire segment in the k-th learned sample is dk. In the present embodiment, a model to directly predict the entire duration dk is not made but a model to predict a normalized duration sk from the entire segment duration dk by using an average duration {overscore (d)} of the entire segment obtained from K learned samples.

sk=dk/{overscore (d)}  (1)

[0030] Note that the average duration {overscore (d)} of the entire segment can be obtained by various methods. For example, in a case where the duration dk is an average mora duration (average duration per 1 mora), the duration {overscore (d)} is obtained by: 1 d _ = ( 1 / K ) ⁢ ∑ k = 1 K ⁢ ( d ⁢   ⁢ k / N ⁢   ⁢ k ) ( 2 )

[0031] Note that Nk is the number of moras in the k-th learned sample.

[0032] At this time, a predicted value ŝk of sk normalized from the entire duration dk is obtained by using a multiple linear regression analysis method: 2 s ^ ⁢   ⁢ k = a0 + ∑ i = 1 i ⁢ ∑ j = 1 j ⁢   ⁢ i ⁢ a ⁢   ⁢ i , j × x ⁢   ⁢ k , i , j ( 3 )

[0033] Note that I is the number of phonemic/linguistic environment items; and Ji, the number of categories for the item i (e.g., type of phoneme or the number of accent phrases). Further, xk,i,j are explanatory variables in a category j (e.g., phoneme set or accent type) of the item i in the sample k; ai,j, regression coefficients for the category j of the item I; and a0, a constant term. The entire duration {circumflex over (d)}k of the entire segment for the k-th sample is obtained by using the predicted value ŝk, from the expression (1):

{circumflex over (d)}k=ŝk×{circumflex over (d)}  (4)

[0034] This expression (4) is the entire duration model 301.

[0035] The values of the above I and Ji may be selected in various ways. For example, in a case where type of Japanese phoneme and the number of accent phrases in the entire segment are selected as the item i, and 26 types of phoneme sets and the number of accent phrases (1, 2, 3, 4 and more) in the entire segment are selected as the respective categories j, I=2, J1=26 and J2=4 hold.

[0036] Next, a method for generating the partial duration model 302 for partial segment and the processing for setting the partial duration for the partial segment at step S303 will be described with reference to the flowchart of FIG. 5. These processing are performed in a similar manner to that of the entire segment, as follows.

[0037] FIG. 5 is a flowchart the method for generating a partial duration model for partial segment.

[0038] First, at step S501, a partial duration is extracted by using a speech file 501 having plural learned samples to generate a duration model for partial segment and a side information file 502 having information necessary for extracting duration such as start and end time of phoneme or syllable. The process proceeds to step S502, at which the partial segment duration model 302 in consideration of predetermined phonemic environment is generated by using a phonemic/linguistic environment file 503 having information on phonemic environment obtained from phonemic information on phoneme or the like and information on linguistic environment obtained from linguistic information such the number of moras, the number of accent phrases and speech parts, and the partial duration information extracted at step S501.

[0039] As a particular process procedure, a similar method to that for generating the entire segment duration model 301 may be used. That is, it may be arranged such that a model is generated by normalizing partial duration by using an average duration of partial segments obtained from K learned samples, and the partial duration model 302 is generated based on the mode.

[0040] Finally, the difference between the entire duration of entire segment obtained at step S302 and the entire duration of entire segment obtained from the sum of the partial durations for plural segments obtained at step S303 ((600-300=) 300 msec in the above example) is extended/reduced at step S304 such that the difference becomes equal to the entire duration of entire segment by using a statistical amount (average value, variance) related to duration of phoneme. As a particular method, Japanese Published Unexamined Patent Application No. Hei 11-259095 discloses an extension/reduction method using a statistical amount related to the duration of phoneme.

[0041] For example, in an example of determination of duration of a phoneme, an average value, a standard deviation, a minimum value of the phoneme are obtained by type of phoneme (&agr;i), and the obtained values are stored into a memory. these values are used for determining an initial value d&agr;i of phoneme duration di related to the phoneme &agr;i. Then, the phoneme duration di is determined based on the initial value.

di=d&agr;i+&rgr;(&sgr;&agr;i)2

&rgr;=(T−&Sgr;d&agr;i)/&Sgr;(&sgr;&agr;i)2

[0042] Note that T is duration of utterance 3 ( T = ∑ i = 1 N ⁢ d ⁢   ⁢ i ) ,

[0043] and &sgr;&agr;I′, the standard deviation of phoneme duration. Further, N is the total sum of the number of samples.

Second Embodiment

[0044] In the first embodiment, a model to estimate the expression (1) where the entire segment duration dk is divided by entire segment average duration {overscore (d)} is learned, and partial duration is re-estimated by using entire duration obtained from this model. Next, as a second embodiment, an entire duration model is formed based on the difference between the entire segment duration and the average duration. Note that the hardware construction and the procedures of the second embodiment are similar to those of the first embodiment (FIGS. 1 to 5) and therefore the explanations of the construction and the procedures will be omitted.

[0045] In the second embodiment, the expression (1) in the first embodiment is changed to:

Sk=dk−{overscore (d)}  (5)

[0046] and the average duration {overscore (d)} is subtracted from the entire segment duration by learned sample, thus the value sk normalized from the duration dk is obtained. The obtained sk is used for generating the sk prediction model as in the expression (3) by using the linear multiple regression analysis method as in the case of the first embodiment. The entire segment duration dk for the k-th sample is obtained as follows from the expression (5):

{circumflex over (d)}=ŝk+{overscore (d)}  (6)

[0047] This expression (6) is the entire duration model in the second embodiment. The partial duration model can be obtained by modeling using a similar method.

[0048] Note that the construction in the above embodiments merely show an embodiment of the present invention and various modification as follows can be made.

[0049] In the above embodiments, the average mora duration is used as the entire segment duration {overscore (d)}, however, the acquisition of average duration by mora is an example, and the average duration may be obtained in other phonological units such as syllable and phoneme. Further, the present invention is applicable to other languages than Japanese.

[0050] In the above embodiments, the item and the category of the entire segment multiple liner regression model are used in an example, and other items and categories may be used.

[0051] Further, the object of the present invention can be also achieved by providing a storage medium storing software program code for performing functions of the aforesaid processes according to the above embodiments to a system or an apparatus, reading the program code with a computer (e.g., CPU, MPU) of the system or apparatus from the storage medium, then executing the program. In this case, the program code read from the storage medium realizes the functions according to the embodiments, and the storage medium storing the program code constitutes the invention. Further, the storage medium, such as a floppy disk, a hard disk, an optical disk, a magneto-optical disk, a CD-ROM, a CD-R, a DVD, a magnetic tape, a non-volatile type memory card, and a ROM can be used for providing the program code.

[0052] Furthermore, besides aforesaid functions according to the above embodiments are realized by executing the program code which is read by a computer, the present invention includes a case where an OS (operating system) or the like working on the computer performs a part or entire processes in accordance with designations of the program code and realizes functions according to the above embodiments.

[0053] Furthermore, the present invention also includes a case where, after the program code read from the storage medium is written in a function expansion card which is inserted into the computer or in a memory provided in a function expansion unit which is connected to the computer, CPU or the like contained in the function expansion card or unit performs a part or entire process in accordance with designations of the program code and realizes functions of the above embodiments.

[0054] As described above, according to the present invention, the duration can be modeled with more higher accuracy by using means for setting entire and partial segment durations more accurately. Thus the naturalness of intonation generation in the speech synthesis apparatus can be improved.

[0055] As described above, according to the present invention, the duration of phonological series can be set with high accuracy, and natural duration can be set in accordance with phonemic/linguistic environment.

[0056] The present invention is not limited to the above embodiments and various changes and modifications can be made within the spirit and scope of the present invention. Therefore, to appraise the public of the scope of the present invention, the following claims are made.

Claims

1-11. (Cancelled).

12. A speech information processing method comprising:

a first obtaining step of obtaining a duration of phonological series;
a second obtaining step of obtaining a duration of each of phonemes constructing said phonological series;
a setting step of setting a duration of each of said phonemes based on said duration of the phonological series and said duration of each of said phonemes; and
a speech synthesis step of synthesizing speech based on said duration of each of said phonemes set in said setting step.

13. The method according to claim 12, wherein, in said first obtaining step, the duration of phonological series is obtained based on a first duration model, and

wherein, in said second obtaining step, the duration of each of phonemes constructing said phonological series is obtained based on a second duration model.

14. The method according to claim 12, wherein, in said setting step, the duration of each of said phonemes is set so that the total duration of each of said phonemes is substantially equal to said duration of the phonological series.

15. The method according to claim 14, wherein, in said setting step, the duration of each of said phonemes is set using statistical information related to the duration of phoneme.

16. A computer-readable storage medium holding a program for executing the speech information processing method of claim 12.

17. A speech information processing apparatus comprising:

first obtaining means for obtaining a duration of phonological series;
second obtaining means for obtaining a duration of each of phonemes constructing said phonological series;
setting means for setting a duration of each of said phonemes based on said duration of the phonological series and said duration of each of said phonemes; and
speech synthesis means for synthesizing speech based on said duration of each of said phonemes set by said setting means.

18. The apparatus according to claim 17, wherein said first obtaining means obtains the duration of phonological series based on a first duration model, and

wherein said second obtaining means obtains the duration of each of phonemes constructing said phonological series based on a second duration model.

19. The apparatus according to claim 17, wherein said setting means sets the duration of each of said phonemes so that the total duration of each of said phonemes is substantially equal to said duration of the phonological series.

20. The apparatus according to claim 19, wherein said setting means sets the duration of each of said phonemes using statistical information related to the duration of phoneme.

21. A speech information processing apparatus comprising:

a first obtaining unit adapted to obtain a duration of phonological series;
a second obtaining unit adapted to obtain a duration of each of phonemes constructing said phonological series;
a setting unit adapted to set a duration of each of said phonemes based on said duration of the phonological series and said duration of each of said phonemes; and
a speech synthesis unit adapted to synthesize speech based on said duration of each of said phonemes set by said setting unit.
Patent History
Publication number: 20040215459
Type: Application
Filed: May 25, 2004
Publication Date: Oct 28, 2004
Patent Grant number: 7089186
Applicant: CANON KABUSHIKI KAISHA (Tokyo)
Inventor: Toshiaki Fukada (Kanagawa)
Application Number: 10852139
Classifications
Current U.S. Class: Subportions (704/254)
International Classification: G10L015/00;