Embodiments described herein relate generally to text-to-speech synthesis.
A technique of artificially generating a speech signal from an arbitrary document (text) is called text-to-speech synthesis. The text-to-speech synthesis is implemented by three steps, i.e., language processing, prosodic processing, and speech signal synthesis processing.
In language processing serving as the first step, an input text undergoes morphological analysis, syntax analysis, and the like. In prosodic processing serving as the second step, processing regarding the accent and intonation is performed based on the language processing result, outputting a phoneme sequence (phoneme symbol sequence) and prosodic information (e.g., fundamental frequency, phoneme duration, and power). Finally in speech signal synthesis processing serving as the third step, a speech signal is synthesized based on the phoneme sequence and prosodic information.
The basic principle of a kind of text-to-speech synthesis is to connect feature parameters called speech segments. The speech segment is the feature parameter of relatively short speech such as CV, CVC, or VCV (C is a consonant and V is a vowel). An arbitrary phoneme symbol sequence can be synthesized by connecting prepared speech segments while controlling the pitch and duration. In the text-to-speech synthesis, the quality of usable speech segments greatly influences that of synthesized speech.
A speech synthesis method described in Japanese Patent Publication No. 3732793 expresses a speech segment using, e.g., a formant frequency. In this speech synthesis method, a waveform representing one formant (to be simply referred to as a formant waveform) is generated by multiplying a sine wave having the same frequency as the formant frequency by a window function. A plurality of formant waveforms are superposed (added), synthesizing a speech signal. The speech synthesis method in Japanese Patent Publication No. 3732793 can directly control the phoneme or voice quality and thus can relatively easily implement flexible control such as changing the voice quality of synthesized speech.
The speech synthesis method described in Japanese Patent Publication No. 3732793 can shift the formant to a high-frequency side to make the voice of synthesized speech thin or shift it to a low-frequency side to make the voice of synthesized speech deep by converting all formant frequencies contained in speech segments using a control function for changing the depth of a voice. However, the speech synthesis method described in Japanese Patent Publication No. 3732793 does not synthesize interpolated speech based on a plurality of speakers.
A speech synthesis apparatus described in Japanese Patent Publication No. 2951514 generates interpolated speech spectrum data by interpolating speech spectrum data of a plurality of speakers using predetermined interpolation ratios. The speech synthesis apparatus described in Japanese Patent Publication No. 2951514 can control the voice quality of synthesized speech using even a relatively simple arrangement.
The speech synthesis apparatus described in Japanese Patent Publication No. 2951514 synthesizes interpolated speech based on a plurality of speakers, but the quality of the interpolated speech is not always high because of its simple arrangement. In particular, the speech synthesis apparatus described in Japanese Patent Publication No. 2951514 may not obtain interpolated speech with satisfactory quality upon interpolating a plurality of speech spectrum data differing in formant position (formant frequency) or the number of formants.
In general, according to one embodiment, a speech synthesis apparatus includes a selecting unit configured to select speaker's parameters one by one for respective speakers and obtain a plurality of speakers' parameters, the speaker's parameters being prepared for respective pitch waveforms corresponding to speaker's speech sounds, the speaker's parameters including formant frequencies, formant phases, formant powers, and window functions concerning respective formants that are contained in the respective pitch waveforms. The apparatus includes a mapping unit configured to make formants correspond to each other between the plurality of speakers' parameters using a cost function based on the formant frequencies and the formant powers. The apparatus includes a generating unit configured to generate an interpolated speaker's parameter by interpolating, at desired interpolation ratios, the formant frequencies, formant phases, formant powers, and window functions of formants which are made to correspond to each other. The apparatus includes a synthesizing unit configured to synthesize a pitch waveform corresponding to interpolated speaker's speech sounds based on the interpolation ratios using the interpolated speaker's parameter.
Embodiments will be described in detail below with reference to the accompanying drawing.
As shown in
The unvoiced sound generating unit 02 generates an unvoiced sound signal 004 based on a phoneme duration 007 and phoneme symbol sequence 008, and inputs it to the adder 101. For example, when a phoneme contained in the phoneme symbol sequence 008 indicates an unvoiced consonant or voiced friction sound, the unvoiced sound generating unit 02 generates an unvoiced sound signal 004 corresponding to the phoneme. A concrete arrangement of the unvoiced sound generating unit 02 is not particularly limited. For example, an arrangement for exciting LPC synthesis filter by white noise is applicable, or another existing arrangement is also applicable singly or in combination.
The voiced sound generating unit 01 includes a pitch mark generating unit 03, pitch waveform generating unit 04, and waveform superposing unit 05 (all of which will be described below). The voiced sound generating unit 01 receives a pitch pattern 006, the phoneme duration 007, and the phoneme symbol sequence 008. The voiced sound generating unit 01 generates a voiced sound signal 003 based on the pitch pattern 006, phoneme duration 007, and phoneme symbol sequence 008, and inputs it to the adder 101.
The pitch mark generating unit 03 generates pitch marks 002 based on the pitch pattern 006 and phoneme duration 007, and inputs them to the waveform superposing unit 05. The pitch mark 002 is information indicating a time position for superposing each pitch waveform 001, as shown in
The pitch waveform generating unit 04 generates the pitch waveforms 001 (see, e.g.,
The waveform superposing unit 05 superposes pitch waveforms corresponding to the pitch marks 002 on time positions indicated by the pitch marks 002 (see, e.g.,
The adder 101 adds the voiced sound signal 003 and unvoiced sound signal 004, generating a synthesized speech signal 005. The adder 101 outputs the synthesized speech signal 005 to an output control unit (not shown) which controls an output unit (not shown) formed from, e.g., a loudspeaker.
The pitch waveform generating unit 04 will be explained in detail with reference to
The pitch waveform generating unit 04 can generate an interpolated speaker's pitch waveform 001 based on a maximum of M (M is an integer of 2 or more) speaker's parameters. More specifically, as shown in
The speaker's parameter storage unit 41m (m is an arbitrary integer of 1 (inclusive) to M (inclusive)) stores the speaker's parameters of speaker m after classifying them into respective speech segments. For example, the speaker's parameter storage unit 41m stores, in a form as shown in
The speaker's parameter selecting unit 42 selects speaker's parameters 421, . . . , 42M each of one frame based on the pitch pattern 006, phoneme duration 007, and phoneme symbol sequence 008. More specifically, the speaker's parameter selecting unit 42 selects and reads out one of formant parameters stored in the speaker's parameter storage unit 41m as the speaker's parameter 42m of speaker m. For example, the speaker's parameter selecting unit 42 selects the formant parameter of speaker m as shown in
The formant mapping unit 43 performs formant mapping (correspondence) between different speakers. More specifically, the formant mapping unit 43 makes each formant contained in the speaker's parameter of a given speaker correspond to one contained in the speaker's parameter of another speaker. The formant mapping unit 43 calculates a cost for making formants correspond to each other by using a cost function (to be described later), and then makes the formants correspond to each other. In the correspondence performed by the formant mapping unit 43, a corresponding formant is not always obtained for all formants (in the first place, the numbers of formants do not coincide with each other between a plurality of speaker's parameters). In the following description, assume that the formant mapping unit 43 succeeds in correspondence of NI formants in respective speaker's parameters. The formant mapping unit 43 notifies the interpolated speaker's parameter generating unit 44 of a mapping result 431, and inputs the speaker's parameters 421, . . . , 42m to the interpolated speaker's parameter generating unit 44.
The interpolated speaker's parameter generating unit 44 generates an interpolated speaker's parameter in accordance with a predetermined interpolation ratio and the mapping result 431. Details of the interpolated speaker's parameter generating unit 44 will be described later. The interpolated speaker's parameter includes formant frequencies 4411, . . . , 44NI1, formant phases 4412, . . . , 44NI2, formant powers 4413, . . . , 44N13, and window functions 4414, . . . , 44NI4 concerning NI formants. The interpolated speaker's parameter generating unit 44 inputs the formant frequencies 4411, . . . , 44NI1, formant phases 4412, . . . , 44NI2, and formant powers 4413, . . . , 44N13 to the NI sine wave generating units 451, . . . , 45NI, respectively. The interpolated speaker's parameter generating unit 44 inputs the window functions 4414, . . . , 44NI4 to the NI multipliers 2001, . . . , 200NI, respectively.
The sine wave generating unit 45n (n is an arbitrary integer of 1 (inclusive) to NI (inclusive)) generates a sine wave 46n in accordance with the formant frequency 44n1, formant phase 44n2, and formant power 44n3 concerning the nth formant. The sine wave generating unit 45n inputs the sine wave 46n to the multiplier 200n. The multiplier 200n multiplies the sine wave 46n input from the sine wave generating unit 45n by the window function 44n4, obtaining the nth formant waveform 47n. The multiplier 200n inputs the formant waveform 47n to the adder 102. Letting ωn be the value of the formant frequency 44n1 concerning the nth formant, φn be the value of the formant phase 44n2, an be the value of the formant power 44n3, wn(t) be the window function 44n4, and yn(t) be the nth formant waveform 47n, equation (1) is established:
yn(t)=wn(t)·an·cos(ωnt+φn) (1)
The adder 102 adds N formant waveforms 471, . . . , 47NI, generating a pitch waveform 001 corresponding to interpolated speech. For example, for the NI value=3, the adder 102 adds the first formant waveform 471, second formant waveform 472, and third formant waveform 473, generating a pitch waveform 001 corresponding to interpolated speech, as shown in
An example of the cost function usable by the formant mapping unit 43 will be explained.
In this case, attention is paid to a difference in formant frequencies and a difference in formant powers as a cost for making formants correspond to each other. Assume that the speaker's parameter selecting unit 42 selects a speaker's parameter 42X of speaker X and a speaker's parameter 42Y of speaker Y. The speaker's parameter 42X contains Nx formants, and the speaker's parameter 42Y contains Ny formants. Note that the Nx and Ny values may be equal to or different from each other. At this time, a cost Cxy(x,y) for making the xth (i.e., formant ID=x) formant of speaker X and the yth formant (i.e., formant ID=y) of speaker Y correspond to each other can be calculated by
CXY(x,y)=wω·(ωXx−ωYy)2+wa·(log aXx−log aYy)2 (2)
where ωXx is the formant frequency of the xth formant contained in the speaker's parameter 42X, ωYy is the formant frequency of the yth formant contained in the speaker's parameter 42Y, aXx is the formant power of the xth formant contained in the speaker's parameter 42X, and aYy is the formant power of the yth formant contained in the speaker's parameter 42Y. In equation (2), wω is the weight of the formant frequency, and wa is that of the formant power. For wω and wa, it suffices to arbitrarily set values derived from the design/experiment. The cost function of equation (2) is the weighted sum of the square of the formant frequency difference and that of the formant power difference. However, the cost function of the formant mapping unit 43 is not limited to this. For example, the cost function may be the weighted sum of the absolute value of the formant frequency difference and that of the formant power difference, or a proper combination of other functions effective for evaluating the correspondence between formants. In the following description, the cost function is equation (2), unless otherwise specified.
Mapping processing performed by the formant mapping unit 43 will be explained with reference to
At the start of mapping processing, no formant corresponds to another, so the mapping result 431 is one as shown in
In step S433, for a formant having the formant ID=x in the speaker's parameter 42X, the formant mapping unit 43 derives the formant ID=ymin for the formant of the speaker's parameter 42Y that minimizes the cost. More specifically, the formant mapping unit 43 calculates
ymin=arg minyCXY(x,y) (3)
For the formant having the formant ID=ymin in the speaker's parameter 42Y, the formant mapping unit 43 derives the formant ID=xmin for the formant of the speaker's parameter 42X that minimizes the cost (step S434). More specifically, the formant mapping unit 43 calculates
xmin=arg minx′CXY(x′,ymin) (4)
Next, the formant mapping unit 43 determines whether xmin derived in step S434 coincides with the current value of the variable x (step S435). If the formant mapping unit 43 determines that Xmin coincides with x, the process advances to S436; otherwise, to step S437.
In step S436, the formant mapping unit 43 makes the formant having the formant ID=x (=Xmin) in the speaker's parameter 42X correspond to that having the formant ID=ymin in the speaker's parameter 42Y. After that, the process advances to step S437. That is, the formant mapping unit 43 stores ymin in a cell designated by (row, column)=(x, speaker X), and x in a cell designated by (row, column)=(ymin, speaker Y) in the mapping result 431.
In step S437, the formant mapping unit 43 determines whether the current value of the variable x is smaller than Nx. If the formant mapping unit 43 determines that the variable x is smaller than Nx, the process advances to step S438; otherwise, ends. In step S438, the formant mapping unit 43 increments the variable x by “1”, and the process returns to step S433.
At the end of mapping processing by the formant mapping unit 43, the mapping result 431 is as shown in
Even for three or more speakers' parameters, the formant mapping unit 43 can perform mapping processing. For example, a speaker's parameter 42Z of speaker Z can also undergo mapping processing, in addition to the speaker's parameters 42X and 42Y. More specifically, the formant mapping unit 43 performs mapping processing between the speaker's parameters 42X and 42Y, between the speaker's parameters 42X and 42Z, and between the speaker's parameters 42Y and 42Z. If the formant ID=x in the speaker's parameter 42X corresponds to the formant ID=y in the speaker's parameter 42Y, the formant ID=x in the speaker's parameter 42X corresponds to the formant ID=z in the speaker's parameter 42Z, and the formant ID=y in the speaker's parameter 42Y corresponds to the formant ID=z in the speaker's parameter 42Z, the formant mapping unit 43 makes these three formants correspond to each other. Also, when four or more speakers' parameters are subjected to mapping processing, it suffices if the formant mapping unit 43 similarly expands mapping processing and applies it.
Generation processing performed by the interpolated speaker's parameter generating unit 44 will be described with reference to
The interpolated speaker's parameter generating unit 44 generates an interpolated speaker's parameter by interpolating, at predetermined interpolation ratios, formant frequencies, formant phases, formant powers, and window functions contained in the speaker's parameters 421, . . . , 42M. In the following description, assume that the interpolated speaker's parameter generating unit 44 interpolates the speaker's parameter 42X of speaker X and the speaker's parameter 42Y of speaker Y using interpolation ratios sX and sY, respectively. Note that the interpolation ratios sX and sY satisfy
sX+sY=1 (5)
After generation processing starts, the interpolated speaker's parameter generating unit 44 substitutes “1” into a variable x for designating the formant ID of the speaker's parameter 42X, and substitutes “0” into a variable NI for counting formants contained in the interpolated speaker's parameter (step S441). Then, the process advances to step S442.
In step S442, the interpolated speaker's parameter generating unit 44 determines whether the mapping result 431 contains the formant ID of the speaker's parameter 42Y that corresponds to the formant ID=x in the speaker's parameter 42X. Note that mapXY(x) shown in
In step S443, the interpolated speaker's parameter generating unit 44 increments the variable NI by “1”. The interpolated speaker's parameter generating unit 44 then calculates a formant frequency ωINI corresponding to the formant ID (to be referred to as an interpolated formant ID for descriptive convenience)=NI in the interpolated speaker's parameter (step S444). More specifically, the interpolated speaker's parameter generating unit 44 calculates
ωINI=sX·ωXx+sY·ωYmapXY(x) (6)
where ωXx is a formant frequency corresponding to the formant ID=x in the speaker's parameter 42X, and ωYmapXY(x) is a formant frequency corresponding to the formant ID=mapXY(x) in the speaker's parameter 42Y.
The interpolated speaker's parameter generating unit 44 calculates a formant phase φINI corresponding to the interpolated formant ID=NI in the interpolated speaker's parameter (step S445). More specifically, the interpolated speaker's parameter generating unit 44 calculates
φINI=sX·φXx+sY·φYmapXY(x) (7)
where φXx is a formant phase corresponding to the formant ID=x in the speaker's parameter 42X, and φYmapXY(x) is a formant phase corresponding to the formant ID=mapXY(x) in the speaker's parameter 42Y.
Then, the interpolated speaker's parameter generating unit 44 calculates a formant power aINI corresponding to the interpolated formant ID=NI in the interpolated speaker's parameter (step S446). More specifically, the interpolated speaker's parameter generating unit 44 calculates
aINI=sX·aXx+sY·aYmapXY(x) (8)
where aXx is a formant power corresponding to the formant ID=x in the speaker's parameter 42X, and aYmapXY(x) is a formant power corresponding to the formant ID=mapXY(x) in the speaker's parameter 42Y.
The interpolated speaker's parameter generating unit 44 calculates a window function wINI(t) corresponding to the interpolated formant ID=NI in the interpolated speaker's parameter (step S447), and the process advances to step S448. More specifically, the interpolated speaker's parameter generating unit 44 calculates
wINI=sX·wXx(t)+sY·wYmapXY(x)(t) (9)
where wXx(t) is a window function corresponding to the formant ID=x in the speaker's parameter 42X, and wYmapXY(x)(t) is a window function corresponding to the formant ID=mapXY(x) in the speaker's parameter 42Y.
In step S448, the interpolated speaker's parameter generating unit 44 determines whether x is smaller than Nx. If x is smaller than Nx, the process advances to step S449; otherwise, ends. In step S449, the interpolated speaker's parameter generating unit 44 increments the variable x by “1”, and the process returns to step S442. Note that at the end of generation processing by the interpolated speaker's parameter generating unit 44, the value of the variable NI coincides with the number of formants which correspond to each other between the speaker's parameters 42X and 42Y in the mapping result 431.
The generation processing shown in
ωIn=Σm=1Msmωmmap1m(x)
φIn=Σm=1Msmφmmap1m(x)
aIn=Σm=1Msmammap1m(x)
wIn(t)=Σm=1Msmwmmap1m(x)(t) (10)
where sm is an interpolation ratio assigned to the speaker's parameter 42m, and ωIn, φIn, aIn, wIn(t) are a formant frequency, formant phase, formant power, and window function corresponding to the formant ID=n (n is an arbitrary integer of 1 (inclusive) to NI (inclusive)) in the interpolated speaker's parameter. Assume that the interpolation ratio sm satisfies
Σm=1Msm=1 (11)
As described above, the speech synthesis apparatus according to the first embodiment makes formants correspond to each other between a plurality of speaker's parameters, and generates an interpolated speaker's parameter in accordance with the correspondence between the formants. The speech synthesis apparatus according to the first embodiment can synthesize interpolated speech with a desired voice quality even when the positions and number of formants differ between a plurality of speakers' parameters.
Differences of the speech synthesis apparatus according to the first embodiment from the foregoing Japanese Patent Publication No. 3732793 and Japanese Patent Publication No. 2951514 will be described briefly. The speech synthesis apparatus according to the first embodiment is different from the speech synthesis method described in Japanese Patent Publication No. 3732793 in that it generates a pitch waveform using an interpolated speaker's parameter based on a plurality of speaker's parameters. That is, the speech synthesis apparatus according to the first embodiment can achieve a wide variety of voice quality control operations because many speakers' parameters can be used, unlike the speech synthesis method described in Japanese Patent Publication No. 3732793. The speech synthesis apparatus according to the first embodiment is different from the speech synthesis apparatus described in Japanese Patent Publication No. 2951514 in that it makes formants correspond to each other between a plurality of speakers' parameters, and performs interpolation based on the correspondence. That is, the speech synthesis apparatus according to the first embodiment can stably obtain high-quality interpolated speech even by using a plurality of speakers' parameters differing in the positions and number of formants.
In the speech synthesis apparatus according to the first embodiment, the interpolated speaker's parameter generating unit 44 generates an interpolated speaker's parameter using formants which have succeeded in correspondence by the formant mapping unit 43. To the contrary, an interpolated speaker's parameter generating unit 44 in a speech synthesis apparatus according to the second embodiment uses even a formant which has failed in correspondence by a formant mapping unit 43 (i.e., which does not correspond to any formant of another speaker's parameter) by inserting it into the interpolated speaker's parameter.
Processing performed by the interpolated speaker's parameter generating unit 44 in step S450 will be explained with reference to
After the processing in step S450 starts, the interpolated speaker's parameter generating unit 44 substitutes “1” into a variable m, and the process advances to step S452 (step S451). The variable m is one for designating a speaker ID for identifying a target speaker's parameter. In the following description, the speaker ID is an integer of 1 (inclusive) to M (inclusive) which is assigned to each of speaker's parameter storage units 411, . . . , 41M and differs between them. However, the speaker ID is not limited to this.
In step S452, the interpolated speaker's parameter generating unit 44 substitutes “1” into a variable n and “0” into a variable NUm, and the process advances to step S453. The variable n is one for designating a formant ID for identifying a formant in the speaker's parameter having the speaker ID=m. The variable NUm is one for counting formants in the speaker's parameter having the speaker ID=m that have been inserted by the insertion processing shown in
In step S453, the interpolated speaker's parameter generating unit 44 refers to a mapping result 431 to determine whether the formant corresponding to the formant ID=n in the speaker's parameter having the speaker ID=m corresponds to any formant in the speaker's parameter having the speaker ID=1. More specifically, the interpolated speaker's parameter generating unit 44 determines whether the value returned from a function map1m(n) is “−1”. If the value returned from the function map1m(n) is “−1”, the process advances to step S454; otherwise, to step S459.
In step S454, the interpolated speaker's parameter generating unit 44 increments the variable NUm by “1”. Then, the interpolated speaker's parameter generating unit 44 calculates a formant frequency ωUmN
As a precondition for applying equation (12), it is necessary for a formant having the formant ID=(n−1) in the speaker's parameter having the speaker ID=m to be used to generate a formant having the interpolated formant ID=k in the interpolated speaker's parameter, and a formant having the formant ID=(n+1) in the speaker's parameter having the speaker ID=m to be used to generate a formant having the interpolated formant ID=(k+1) in the interpolated speaker's parameter. By applying equation (12), the formant frequency ωUmN
Thereafter, the interpolated speaker's parameter generating unit 44 calculates a formant phase φUmN
φUm=sm·φmn (13)
The interpolated speaker's parameter generating unit 44 then calculates a formant power aUmN
aUm=sm·amn (14)
The interpolated speaker's parameter generating unit 44 calculates a window function wUm(t) corresponding to the inserted formant ID=NUm (step S458), and the process advances to step S459. More specifically, the interpolated speaker's parameter generating unit 44 calculates
wUm(t)=sm·wmn(t) (15)
In step S459, the interpolated speaker's parameter generating unit 44 determines whether the value of the variable n is smaller than Nm. If the value of the variable n is smaller than Nm, the process advances to step S460; otherwise, to step S461. Note that at the end of insertion processing for speaker m, the variable NUm satisfies
Nm=NI+NUm (16)
In step S460, the interpolated speaker's parameter generating unit 44 increments the variable n by “1”, and the process returns to step S453. In step S461, the interpolated speaker's parameter generating unit 44 determines whether the variable m is smaller than M. If m is smaller than M, the process advances to step S462; otherwise, ends. In step S462, the interpolated speaker's parameter generating unit 44 increments the variable m by “1”, and the process returns to step S452.
As described above, the speech synthesis apparatus according to the second embodiment inserts, into an interpolated speaker's parameter, a formant uncorresponded by the formant mapping unit. Since the speech synthesis apparatus according to the second embodiment can use a larger number of formants to synthesize interpolated speech, discontinuity hardly occurs in the spectrum of interpolated speech, i.e., the quality of interpolated speech can be improved.
A speech synthesis apparatus according to the third embodiment can be implemented by changing the arrangement of the pitch waveform generating unit 04 in the speech synthesis apparatus according to the first or second embodiment. As shown in
The periodic component pitch waveform generating unit 06 generates a periodic component pitch waveform 060 of interpolated speaker's speech based on a pitch pattern 006, phoneme duration 007, and phoneme symbol sequence 008, and inputs it to the adder 103. The aperiodic component pitch waveform generating unit 07 generates an aperiodic component pitch waveform 070 of interpolated speaker's speech based on the pitch pattern 006, phoneme duration 007, and phoneme symbol sequence 008, and inputs it to the adder 103. The adder 103 adds the periodic component pitch waveform 060 and aperiodic component pitch waveform 070, generates a pitch waveform 001 and inputs it to a waveform superposing unit 05.
As shown in
The periodic component speaker's parameter storage units 611, . . . , 61M store, as periodic component speaker's parameters, formant frequencies, formant phases, formant powers, window functions, and the like concerning not pitch waveforms corresponding to respective speaker's speech sounds but pitch waveforms corresponding to the periodic components of respective speaker's speech sounds. As a method for dividing speech into periodic and aperiodic components, one described in reference “P. Jackson, ‘Pitch-Scaled Estimation of Simultaneous Voiced and Turbulence-Noise Components in Speech’, IEEE Trans. Speech and Audio Processing, vol. 9, pp. 713-726, October 2001” is applicable. However, the method is not limited to this.
As shown in
The aperiodic component speech segment storage units 711, . . . , 71M store pitch waveforms (aperiodic component pitch waveforms) corresponding to the aperiodic components of respective speaker's speech sounds.
Based on the pitch pattern 006, phoneme duration 007, and phoneme symbol sequence 008, the aperiodic component speech segment selecting unit 72 selects and reads out aperiodic component pitch waveforms 721, . . . , 72M each of one frame from aperiodic component pitch waveforms stored in the aperiodic component speech segment storage units 711, . . . , 71M. The aperiodic component speech segment selecting unit 72 inputs the aperiodic component pitch waveforms 721, . . . , 72M to the aperiodic component speech segment interpolating unit 73.
The aperiodic component speech segment interpolating unit 73 interpolates the aperiodic component pitch waveforms 721, . . . , 72M at interpolation ratios, and inputs the aperiodic component pitch waveform 070 of interpolated speaker's speech to the adder 103. As shown in
The pitch waveform concatenating unit 74 concatenates the aperiodic component pitch waveforms 721, . . . , 72M along the time axis, obtaining a concatenated aperiodic component pitch waveform 740. The pitch waveform concatenating unit 74 inputs the concatenated aperiodic component pitch waveform 740 to the LPC analysis unit 75.
The LPC analysis unit 75 performs LPC analysis for the aperiodic component pitch waveforms 721, . . . , 72M and the concatenated aperiodic component pitch waveform 740. The LPC analysis unit 75 obtains LPC coefficients 751, . . . , 75M for the respective aperiodic component pitch waveforms 721, . . . , 72M, and an LPC coefficient 750 for the concatenated aperiodic component pitch waveform 740. The LPC analysis unit 75 inputs the LPC coefficient 750 to the linear prediction filtering unit 79, and inputs the LPC coefficients 751, . . . , 75M to the power envelope extracting unit 76.
The power envelope extracting unit 76 generates M linear prediction residual waveforms based on the respective LPC coefficients 751, . . . , 75M. The power envelope extracting unit 76 extracts power envelopes 761, . . . , 76M from the respective linear prediction residual waveforms. The power envelope extracting unit 76 inputs the power envelopes 761, . . . , 76M to the power envelope interpolating unit 77.
The power envelope interpolating unit 77 aligns the power envelopes 761, . . . , 76M along the time axis so as to maximize the correlation between them, and interpolates them at interpolation ratios, generating an interpolated power envelope 770. The power envelope interpolating unit 77 inputs the interpolated power envelope 770 to the multiplier 201.
The white noise generating unit 78 generates white noise 780 and inputs it to the multiplier 201. The multiplier 201 multiplies the white noise 780 by the interpolated power envelope 770. By multiplying the white noise 780 by the interpolated power envelope 770, the amplitude of the white noise 780 is modulated, obtaining a sound source waveform 790. The multiplier 201 inputs the sound source waveform 790 to the linear prediction filtering unit 79.
The linear prediction filtering unit 79 performs linear prediction filtering processing for the sound source waveform 790 using the LPC coefficient 750 as a filter coefficient, and generates the aperiodic component pitch waveform 070 of interpolated speaker's speech.
As described above, the speech synthesis apparatus according to the third embodiment performs different interpolation processes for the periodic and aperiodic components of speech. Thus, the speech synthesis apparatus according to the third embodiment can perform more appropriate interpolation than those in the first and second embodiments, improving the naturalness of interpolated speech.
In the speech synthesis apparatus according to one of the first to third embodiments, the formant mapping unit 43 adopts equation (2) as a cost function. In a speech synthesis apparatus according to the fourth embodiment, a formant mapping unit 43 utilizes a different cost function.
The vocal tract length generally differs between speakers, and there is an especially large difference according to the gender of the speaker. For example, it is known that the formant of a male voice tends to appear in the low-frequency side, compared to that of a female voice. Even for the same gender, particularly for the male, the formant of an adult voice tends to appear in the low-frequency side, compared to that of a child voice. In this way, if speaker's parameters have a difference in formant frequency owing to the difference in vocal tract length, mapping processing may become difficult. For example, the high-frequency formant of a female speaker's parameter may not correspond to that of a male speaker's parameter at all. In this case, even if an uncorresponded formant is used as an interpolated speaker's parameter, like the second embodiment, interpolated speech with a desired voice quality (e.g., neutral speech) may not always be obtained. More specifically, incoherent speech is synthesized as if not one speaker but two speakers spoke.
To prevent this, in the speech synthesis apparatus according to the fourth embodiment, the formant mapping unit 43 employs the following equation (17) as a cost function:
CXY(x,y)=wω·(f(ωXx)−ωYy)2+wa·(log aXx−log aYy)2 (17)
The function f(ω) in equation (17) is given by, for example,
f(ωXx)=α·ωXx (18)
where α is a vocal tract length normalization coefficient for compensating for the difference in vocal tract length between speakers X and Y (normalizing the vocal tract length). In equation (18), α is desirably set to a value equal to or smaller than “1” when, for example, speaker X is a female and speaker Y is a male. The function f(ω) in equation (17) may be not a linear control function as represented by equation (18) but a nonlinear control function.
Applying the function f(ω) in equation (18) to a log power spectrum 801 of the pitch waveform of speaker A shown in
As described above, the speech synthesis apparatus according to the fourth embodiment controls the formant frequency so as to compensate for the difference in vocal tract length between speakers, and then makes formants correspond to each other. Even when speakers have a large difference in vocal tract length, the speech synthesis apparatus according to the fourth embodiment appropriately makes formants correspond to each other and can synthesize high-quality (coherent) interpolated speech.
In the speech synthesis apparatus according to one of the first to fourth embodiments, the formant mapping unit 43 adopts equation (2) or (17) as a cost function. In a speech synthesis apparatus according to the fifth embodiment, a formant mapping unit 43 uses a different cost function.
In general, the average value of the log formant power differs between speaker's parameters owing to factors such as the individual difference of each speaker and the speech recording environment. If speaker's parameters have a difference in the average value of the log formant power, mapping processing may become difficult. For example, assume that the average value of the log power in the speaker's parameter of speaker X is smaller than that of the log power in the speaker's parameter of speaker Y. In this case, a formant having a relatively large formant power in the speaker's parameter of speaker X may be made to correspond to a formant having a relatively small formant power in the speaker's parameter of speaker Y. In contrast, a formant having a relatively small formant power in the speaker's parameter of speaker X and a formant having a relatively large formant power in the speaker's parameter of speaker Y may not correspond to each other at all. In this case, interpolated speech with a desired voice quality (voice quality expected based on the interpolation ratio) may not always be obtained.
Considering this, in the speech synthesis apparatus according to the fifth embodiment, the formant mapping unit 43 utilizes the following equation (19) as a cost function:
CXY(x,y)=wω·(ωXx−ωYy)2+wa·(g(log aXx)−log aYy)2 (19)
The function g(log a) in equation (19) is given by, for example,
In equation (20), the second term of the right-hand side indicates the average value of the log formant power in the speaker's parameter of speaker Y, and the third term indicates that of the log formant power in the speaker's parameter of speaker X. That is, equation (20) compensates for the power difference between speakers (normalizes the formant power) by reducing the difference in the average value of the log formant power between speakers X and Y. Note that the function g(log a) in equation (19) may be not a linear control function as represented by equation (20) but a nonlinear control function.
Applying the function g(log a) in equation (20) to a log power spectrum 801 of the pitch waveform of speaker A shown in
As described above, the speech synthesis apparatus according to the fifth embodiment controls the log formant power so as to reduce the difference in the average value of the log formant power between speaker's parameters, and then makes formants correspond to each other. Even when speaker's parameters have a large difference in the average value of the log formant power, the speech synthesis apparatus according to the fifth embodiment appropriately makes formants correspond to each other and can synthesize interpolated speech with high quality (almost voice quality expected based on the interpolation ratio).
A speech synthesis apparatus according to the sixth embodiment calculates, by the operation of an optimum interpolation ratio calculating unit 09, an optimum interpolation ratio 921 at which interpolated speaker's speech to be synthesized according to one of the first to fifth embodiments comes close to a specific target speaker's speech. As shown in
The interpolated speaker's pitch waveform generating unit 90 generates an interpolated speaker's pitch waveform 900 corresponding to interpolated speech, based on a pitch pattern 006, a phoneme duration 007, a phoneme symbol sequence 008, and an interpolation ratio designated by an interpolation weight vector 920. The arrangement of the interpolated speaker's pitch waveform generating unit 90 may be the same as or similar to that of, e.g., the pitch waveform generating unit 04 shown in
The interpolation weight vector 920 is a vector containing, as a component, an interpolation ratio (interpolation weight) applied to each speaker's parameter when the interpolated speaker's pitch waveform generating unit 90 generates the interpolated speaker's pitch waveform 900. For example, the interpolation weight vector 920 is given by
s=(s1,s2, . . . ,sm, . . . , sM−1,sM) (21)
where s (left-hand side) is the interpolation weight vector 920. Each component of the interpolation weight vector 920 satisfies
Σm=1Msm=1 (22)
Based on the pitch pattern 006, the phoneme duration 007, the phoneme symbol sequence 008, and the speaker's parameter of a target speaker, the target speaker's pitch waveform generating unit 91 generates a target speaker's pitch waveform 910 corresponding to a target speaker's speech. The arrangement of the target speaker's pitch waveform generating unit 91 may be the same as or different from that of, e.g., the pitch waveform generating unit 04 shown in
The optimum interpolation weight calculating unit 92 calculates the similarity between the spectrum of the interpolated speaker's pitch waveform 900 and that of the target speaker's pitch waveform 910. More specifically, the optimum interpolation weight calculating unit 92 calculates, for example, the correlation between these two spectra. The optimum interpolation weight calculating unit 92 feedback-controls the interpolation weight vector 920 so as to increase the similarity. The optimum interpolation weight calculating unit 92 updates the interpolation weight vector 920 based on the calculated similarity, and supplies the new interpolation weight vector 920 to the interpolated speaker's pitch waveform generating unit 90. The optimum interpolation weight calculating unit 92 outputs, as the optimum interpolation ratio 921, an interpolation weight vector 920 obtained when the similarity converges. Note that the similarity convergence condition may be determined arbitrarily based on the design/experiment. For example, when variations of the similarity fall within a predetermined range, or when the similarity becomes equal to or higher than a predetermined threshold, the optimum interpolation weight calculating unit 92 may determine that the similarity has converged.
As described above, the speech synthesis apparatus according to the sixth embodiment calculates an optimum interpolation ratio for obtaining interpolated speech which imitates a target speaker's speech. Even if there are only a small number of speaker's parameters of a target speaker, the speech synthesis apparatus according to the sixth embodiment can utilize interpolated speech which imitates the target speaker's speech, and thus can synthesize speech sounds with various voice qualities from a small number of speaker's parameters.
For example, a program for carrying out the processing in each of the above embodiments can also be provided by storing it in a computer-readable storage medium. The storage medium can take any storage format as long as it can store a program and is readable by a computer, like a magnetic disk, an optical disc (e.g., CD-ROM, CD-R, or DVD), a magneto-optical disk (e.g., MO), or a semiconductor memory.
The program for carrying out the processing in each of the above embodiments may be provided by storing it in a computer connected to a network such as the Internet, and downloading it via the network.
While certain embodiments have been described, these embodiments have been presented by way of example only, and are not intended to limit the scope of the inventions. Indeed, the novel embodiments described herein may be embodied in a variety of other forms; furthermore, various omissions, substitutions and changes in the form of the embodiments described herein may be made without departing from the spirit of the inventions. The accompanying claims and their equivalents are intended to cover such forms or modifications as would fall within the scope and spirit of the inventions.
Number | Date | Country | Kind |
---|---|---|---|
2009-074707 | Mar 2009 | JP | national |
This is a Continuation Application of PCT Application No. PCT/JP2010/054250, filed Mar. 12, 2010, which was published under PCT Article 21(2) in Japanese. This application is based upon and claims the benefit of priority from prior Japanese Patent Application No. 2009-074707, filed Mar. 25, 2009, the entire contents of which are incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
6366883 | Campbell et al. | Apr 2002 | B1 |
6442519 | Kanevsky et al. | Aug 2002 | B1 |
7251601 | Kagoshima et al. | Jul 2007 | B2 |
7716052 | Aaron et al. | May 2010 | B2 |
20020120450 | Junqua et al. | Aug 2002 | A1 |
20050065795 | Mutsuno et al. | Mar 2005 | A1 |
20050182629 | Coorman et al. | Aug 2005 | A1 |
20060259303 | Bakis | Nov 2006 | A1 |
20060271367 | Hirabayashi et al. | Nov 2006 | A1 |
20090048841 | Pollet et al. | Feb 2009 | A1 |
20090177474 | Morita et al. | Jul 2009 | A1 |
20100250257 | Hirose et al. | Sep 2010 | A1 |
Number | Date | Country |
---|---|---|
2951514 | Jul 1999 | JP |
2005-43828 | Feb 2005 | JP |
3732793 | Oct 2005 | JP |
2009-216723 | Sep 2009 | JP |
Entry |
---|
Tatzuya Mizutani, “Speech Synthesis based on Selection and Fusion of a Multiple Unit”; The 2004 Spring Meeting of the Acoustical Society of Japan, Koen Ronbunshu-I-, Mar. 2004, pp. 217-218. |
Ryo Morinaka, “Speech Synthesis based on the Plural Unit Selection and Fusion Method Using FWF Model”; IEICE Technical Report, Jan. 2009, vol. 108, No. 422, pp. 67-72. |
International Search Report from PCT/JP2010/054250 dated May 11, 2010. |
Number | Date | Country | |
---|---|---|---|
20110087488 A1 | Apr 2011 | US |
Number | Date | Country | |
---|---|---|---|
Parent | PCT/JP2010/054250 | Mar 2010 | US |
Child | 12970162 | US |