WO2011030424A1 - 音声合成装置およびプログラム - Google Patents

音声合成装置およびプログラム Download PDF

Info

Publication number
WO2011030424A1
WO2011030424A1 PCT/JP2009/065838 JP2009065838W WO2011030424A1 WO 2011030424 A1 WO2011030424 A1 WO 2011030424A1 JP 2009065838 W JP2009065838 W JP 2009065838W WO 2011030424 A1 WO2011030424 A1 WO 2011030424A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
speech
segment
information
target
Prior art date
Application number
PCT/JP2009/065838
Other languages
English (en)
French (fr)
Inventor
正統 田村
籠嶋 岳彦
Original Assignee
株式会社東芝
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社東芝 filed Critical 株式会社東芝
Priority to JP2011530679A priority Critical patent/JP5275470B2/ja
Priority to PCT/JP2009/065838 priority patent/WO2011030424A1/ja
Publication of WO2011030424A1 publication Critical patent/WO2011030424A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/08Text analysis or generation of parameters for speech synthesis out of text, e.g. grapheme to phoneme translation, prosody generation or stress or intonation determination

Definitions

  • the present invention relates to speech synthesis.
  • a speech synthesis method based on segment selection is known as one of corpus methods that are speech synthesis methods.
  • speech synthesis based on unit selection an optimal speech unit is selected from speech units obtained by dividing speech data into predetermined speech units, and a speech waveform is generated from the selected optimal speech unit.
  • the speech waveforms are connected as they are to synthesize the speech, a voice with a high sense of real voice can be obtained, but the sound quality deteriorates due to discontinuity of the connection points.
  • the prosodic deformation is used for connection, the real voice feeling deteriorates due to the prosodic deformation.
  • Patent Document 1 discloses an apparatus that determines a fusion method based on the degree of distortion with voice to be synthesized.
  • the present invention has been made in view of the above, and an object thereof is to provide a speech synthesizer and a program capable of synthesizing high-quality speech.
  • the present invention is a speech synthesizer, comprising a plurality of speech units obtained by dividing speech data in predetermined units, a phoneme sequence of the speech unit, and a first adjacent unit adjacent to the speech unit.
  • a storage unit that associates and stores identification information for identifying pieces; a division unit that divides a phoneme sequence of input text data into a plurality of segments of the same unit as the speech unit; and A target speech determined based on the input prosodic information of the segment, which is input together with the text data, and a speech segment extraction unit that extracts a plurality of the speech segments that are associated with the same phoneme sequence as the phoneme sequence
  • a calculation unit that calculates a cost indicating a degree of distortion between speech synthesized from each of the plurality of speech units based on the prosodic information of the segment; and An optimal segment selection unit that selects the optimal segment with the minimum cost, and an optimal segment that is an array of the optimal segments obtained for each of a plurality of segments included in the phoneme sequence of the text
  • a program for causing a computer to execute a speech synthesis process wherein the computer includes a plurality of speech segments obtained by dividing speech data by a predetermined unit, and the speech A storage unit that associates and stores a phoneme sequence of a segment and identification information for identifying a first adjacent segment adjacent to the speech unit; and the computer stores the phoneme sequence of input text data as the speech A segmentation unit that divides the segment into a plurality of segments in the same unit, and a speech segment extraction that extracts the plurality of speech segments associated with the same phoneme sequence as the phoneme sequence of the segment in the storage unit
  • a calculation unit that calculates a cost indicating the degree of the segment based on the prosodic information of the segment, and an optimal unit selection unit that selects an optimal unit that minimizes the cost from the plurality of speech units, , For the target segment to be processed among the
  • the adjacent determination unit to be determined matches the first adjacent element and the second adjacent element, a first number is assigned to the target segment, and the first adjacent element and the second adjacent element are allocated. If does not match A number allocating unit that allocates a second number larger than the first number to the recording target segment, and a plurality of units extracted by the speech segment extraction unit for the target segment when there are a plurality of allocated numbers.
  • the number of speech units is selected from the speech units, and the number is 1, the speech unit for selecting the optimum unit selected by the optimum unit selection unit for the target segment.
  • a speech unit fusion unit that fuses the plurality of speech units to obtain a fusion unit, and the number assigned to the target segment is
  • This is a program for connecting a fusion unit in the case of a plurality, and connecting the optimum unit in the case where the assigned number is 1, to function as a connection unit for generating a speech waveform.
  • the speech synthesizer and program according to the present invention have the effect of being able to synthesize high-quality speech.
  • FIG. 1 is a configuration diagram of a speech synthesizer 1.
  • FIG. 3 is a block diagram showing the configuration of a speech synthesizer 24.
  • FIG. The flowchart which shows a speech synthesis process.
  • FIG. 3 is a block diagram showing a configuration of a speech synthesizer 34.
  • the speech synthesizer 1 includes a text input unit 11, a language processing unit 12, a prosody processing unit 13, a speech synthesis unit 14, and a speech waveform output unit 15.
  • the language processing unit 12 performs morphological analysis / syntactic analysis of text data input from the text input unit 11 to obtain information such as phoneme series (phoneme symbol string) and accent type, and sends the results to the prosody processing unit 13. send.
  • the prosodic processing unit 13 generates prosodic information such as a phoneme continuation length representing the length of the sound and a fundamental frequency representing the pitch of the sound from the language analysis result, and sends it to the speech synthesis unit 14.
  • the speech synthesizer 14 inputs a phoneme sequence and prosodic information, and generates a speech waveform.
  • the speech waveform generated in this way is output from the speech waveform output unit 15.
  • the speech synthesis unit 14 includes a speech data storage unit 101, a speech unit storage unit 102, a division unit 111, a speech unit extraction unit 112, a calculation unit 113, and an optimum unit selection.
  • Unit 114 adjacency determination unit 115, number allocation unit 116, speech unit selection unit 117, speech unit creation unit 118, speech unit fusion unit 119, and connection unit 120.
  • the voice data storage unit 101 stores voice waveform data used for voice synthesis. For example, a plurality of sound waveform data for the same phoneme are stored, such as sound data for “Valerie's faith”, sound data for “value-added tax”, and sound data for “value-added”. Each voice waveform data is associated with a voice data ID for identifying the voice waveform data such as “S01” and “S02”.
  • the speech unit storage unit 102 stores various pieces of information on a plurality of speech units obtained from the speech data stored in the speech data storage unit 101, as shown in FIG.
  • the speech segment is data obtained by dividing speech data in a predetermined speech unit.
  • the speech unit is a unit determined by, for example, a phoneme, a unit obtained by dividing a phoneme, or a combination thereof.
  • the phonetic unit is a phoneme, a semiphoneme obtained by dividing the phoneme in half, a diphone whose unit is from the center of the phoneme to the center of the adjacent phoneme, a triphone that classifies the phoneme according to the phoneme type before and after, a vowel or Syllables consisting of consonants + vowels can be used.
  • a speech unit used for speech synthesis is called a synthesis unit, and is used as a unit for performing a segment selection process and a waveform generation process described later.
  • the voice unit and the synthesis unit are the same, and this is called a segment.
  • the speech segment is created by dividing speech waveform data into synthesis units with reference to label information including information on classification names (for example, phoneme names) of speech units and boundary time information.
  • the speech unit is a semiphone. That is, the phoneme boundary is a semiphoneme boundary.
  • the speech unit storage unit 102 associates the speech unit ID for identifying the speech unit with the speech waveform of the speech unit, the pitch mark indicating the center position of the pitch waveform, and the adjacent unit ID.
  • the speech element ID of the present embodiment includes a phoneme sequence. For example, “ae-R” of the speech unit ID “ae-R-1” in the first row shown in FIG. 3 indicates the phoneme sequence (phoneme name) of the speech unit. Note that “1” at the end distinguishes from other speech segments having the same phoneme sequence. That is, each speech unit of the same phoneme sequence is uniquely identified by the last unit number.
  • the adjacent element ID is information for identifying an adjacent element.
  • the adjacent unit is a speech unit adjacent to the speech unit in the speech data including the speech unit. That is, there are a total of two adjacent segments before and after one speech segment. Note that there is one adjacent unit for the head or end speech unit.
  • the adjacent element in the audio data is referred to as a first adjacent element.
  • the pitch waveform has a length up to several times the basic period of speech, and is itself a relatively short waveform having no fundamental period, and its spectrum represents the spectrum envelope of the speech signal.
  • information representing the linguistic or acoustic features of the speech unit is associated with the speech unit ID as attribute information.
  • it is information such as phonological environment information, language information, prosodic information, and acoustic parameter information.
  • the phoneme environment information includes a phoneme name of the speech unit and a preceding or succeeding phoneme name.
  • the language information includes a position in a sentence in speech data, a position in an exhalation paragraph, a position from an accent nucleus, the presence or absence of stress, a sentence type (question sentence / command sentence / plain sentence etc.), and the like.
  • the prosodic information includes a fundamental frequency (F0) and a phoneme duration.
  • the acoustic parameter information includes spectral parameter information (such as a mel cepstrum) at the connection boundary.
  • spectral parameter information such as a mel cepstrum
  • the degree of emphasis, emotion, paralinguistic information, and the like may be included.
  • the data shown in FIG. 4A is voice waveform data of “Valerie's faith” identified in S01.
  • the data shown in FIG. 4B is voice waveform data of “value-added tax” identified in S02.
  • the data shown in FIG. 4C is “value-added” speech waveform data identified in S03.
  • the speech data storage unit 101 stores these speech waveform data in association with phoneme boundaries and phoneme names.
  • the speech unit storage unit 102 stores speech units obtained by dividing these speech waveform data into speech units, that is, semi-phonemes based on the label information described above.
  • semiphoneme boundaries such as “v”, “ae”, and “l” sections of the speech waveform data of S01 are cut out and stored in the speech unit storage unit 102 in association with the respective speech unit names.
  • a speech segment obtained by cutting a speech waveform in units of semiphonemes is used.
  • v-L-1”, “v-R-1”, “ae-L-1”, “ae-R-1”, and the like indicate speech unit IDs.
  • the speech unit ID is assigned according to the rule of “phoneme name (phoneme symbol) -L / R-unit number”.
  • L in L / R indicates that the speech segment is the left segment of the phoneme.
  • R indicates that the speech segment is the right segment of the phoneme.
  • the dividing unit 111 acquires information such as phoneme series, phonological environment information, language information, prosodic information, and acoustic parameter information corresponding to the text data output from the language processing unit 12 or the prosody processing unit 13.
  • a phoneme sequence obtained from input text data is referred to as an input phoneme sequence
  • prosodic information obtained from input text data is referred to as input prosodic information.
  • the dividing unit 111 divides the input phoneme sequence into a plurality of segments based on information such as phoneme sequences.
  • the segment is a section of a phoneme sequence in the same unit as the speech unit stored in the speech unit storage unit 102.
  • the speech unit extraction unit 112 extracts a speech unit associated with the same phoneme sequence as the phoneme sequence of the segment in the speech unit storage unit 102. For example, it is assumed that five segments “vR”, “ae-L”, “ae-R”, “l-L”, and “l-R” are obtained from the text data. In this case, the speech unit extraction unit 112 extracts speech units having the same phoneme sequence (phoneme name) as each segment in the speech unit storage unit 102. Specifically, for “vR”, all voices having the same front part (in this case, “vR”) indicating the phoneme name in the voice unit ID, such as “vR-1”. Extract the fragment. Similarly, for “ae-L”, “ae-R”, “l-L”, and “l-R”, all speech segments having the same phoneme name are extracted.
  • the calculation unit 113 calculates a cost indicating the degree of distortion between the target speech of each segment and the speech unit extracted by the speech unit extraction unit 112.
  • the target speech is synthesized speech that is determined from the phoneme sequence of segments and the prosodic information.
  • the calculation unit 113 calculates a cost based on the prosodic information of the segment obtained by the dividing unit 111 and the prosodic information of the speech unit extracted by the speech unit extraction unit 112.
  • the cost can be obtained by a cost function.
  • the cost function is expressed as a weighted sum of the target cost and the connection cost.
  • the target cost is distortion based on the difference between the prosodic information of the segment obtained by the dividing unit 111 and the prosodic information of the speech unit extracted by the speech unit extracting unit 112.
  • the connection cost is a distortion indicating the degree of discontinuity between adjacent speech segments.
  • the target cost is distortion caused by using the speech unit stored in the speech unit storage unit 102 under the input text data
  • the connection cost is the speech unit to be connected. Is a distortion caused by discontinuity.
  • a sub-cost function is determined for each factor of distortion that occurs when speech units are deformed and connected to generate synthesized speech.
  • the target phoneme environment information is represented, and u i represents a speech unit having the same phoneme as t i among speech units stored in the speech unit storage unit 102.
  • the sub-cost function is used to calculate a cost for estimating the degree of distortion of the synthesized speech with respect to the target speech that occurs when the synthesized speech is generated using the speech unit stored in the speech unit storage unit 102. Is. In order to calculate the cost, a target cost for estimating the degree of distortion of the synthesized speech with respect to the target speech generated by using the speech unit, and when the speech unit is connected to another speech unit are generated. There are two types of sub-costs, connection costs for estimating the degree of distortion of the synthesized speech with respect to the target speech.
  • the target cost includes a fundamental frequency cost representing a difference between a fundamental frequency of a speech unit stored in the speech unit storage unit 102 and a target fundamental frequency, and a speech unit stored in the speech unit storage unit 102 Phoneme duration time cost representing the difference between the phoneme duration length of the current phoneme and the target phoneme duration length, and the phoneme environment cost representing the difference in the phoneme environment.
  • the connection cost a spectrum connection cost representing a difference in spectrum at a connection boundary and a fundamental frequency connection cost representing a difference in fundamental frequency are used.
  • the fundamental frequency cost is calculated by equation (1).
  • f 0 u i (t) is the basic frequency information of the speech unit u i stored in the speech unit storage unit 102
  • f 0 t i (t) is the target obtained from the input attribute t i.
  • Fundamental frequency information T t i represents the number of frames of the target fundamental frequency
  • ⁇ (t) represents a function to be mapped in order to align the number of frames.
  • T u i represents the time length of the speech unit u i
  • T t i represents the target time length obtained from the input attribute t i .
  • the phonological environment cost is calculated by equation (3).
  • the spectrum connection cost is calculated from the cepstrum distance between two speech segments shown in Equation (4).
  • c u i represents the cepstrum of the connection boundary at the start point of the speech unit u i
  • c u i ⁇ 1 represents the cepstrum of the connection boundary at the end point of the speech unit u i ⁇ 1 .
  • the target cost is defined as the formula (6).
  • the connection cost is defined as equation (7).
  • w n represents the weight of the sub cost function. In the present embodiment, for simplicity, all w n is "1".
  • the above equation (6) is the target cost of the speech unit when a speech unit is applied to a synthesis unit, and the equation (7) is the case where speech units u i-1 and u i are connected. Connection cost.
  • the cost obtained by adding up all the segments is called the cost obtained by adding up all the segments, and the cost function for calculating this cost is represented by the formula (8). Define as follows.
  • the calculation unit 113 calculates the cost for all the speech units extracted by the speech unit extraction unit 112 using the cost function of Expression (8).
  • the optimal segment selection unit 114 selects the optimal segment of each segment based on the cost calculated by the calculation unit 113.
  • the optimal unit is a speech unit that has the lowest cost calculated by the calculation unit 113 among the plurality of speech units extracted from the speech unit storage unit 102 by the speech unit extraction unit 112. . That is, the optimal segment selection unit 114 selects the speech segment with the lowest cost as the optimal segment.
  • the optimum element selection unit 114 further obtains an optimum element sequence by arranging the selected optimum elements along the arrangement of the corresponding segments in the text data.
  • the optimum segment series is an optimum segment arrangement according to the arrangement in the text data of the segment. Note that the cost of the optimum segment sequence is smaller than that of any other speech segment sequence.
  • Dynamic programming DP: dynamic programming
  • the adjacency determination unit 115 selects the target segment that is the optimal segment selected for the target segment to be processed among the plurality of segments obtained from the text data.
  • the adjacency determination unit 115 further specifies an adjacent element that is an optimal element adjacent to the target element in the optimum element sequence. That is, when the target segment is not the first or last segment of the optimum segment series, two adjacent segments before and after are specified. When the target element is the first or last element of the optimum element sequence, one adjacent element is specified. Then, the adjacency determination unit 115 determines whether or not the identified adjacent element matches the adjacent element associated with the target element in the speech element storage unit 102.
  • the optimal segment adjacent to the target segment in the optimal segment sequence is the speech segment that was adjacent to the target segment in the speech data, these are originally continuous data. However, there is no discontinuity at the connection boundary.
  • the optimal segment adjacent to the target segment in the optimal segment sequence is a speech segment that is not adjacent in the speech data, these are originally non-consecutive data. In this case, the sound quality deteriorates due to the discontinuity of the sound. Therefore, in the speech synthesizer 1 according to the present embodiment, different processing is performed depending on whether or not the adjacent speech unit in the optimal speech unit sequence is the adjacent speech unit in the original speech data.
  • the adjacency determination unit 115 it is first determined whether or not the adjoining element of each optimum element coincides with the adjacent element in the audio data.
  • the adjacent element in the optimum element sequence is referred to as a second adjacent element.
  • the number allocation unit 116 determines the number of each segment based on the determination result by the adjacency determination unit 115 and allocates it to each segment. This number is the number of speech segments used for speech synthesis corresponding to the segment. Specifically, the number allocation unit 116 determines whether the second adjacent element in the optimum element sequence for the target element and the first adjacent element associated with the target element in the speech element storage unit 102 are the same. If they match, the first number is assigned. If both adjacent segments do not match, a second number is assigned. Note that the second number is larger than the first number. Although the first number and the second number can be set arbitrarily, in this case as well, it is necessary to set a larger number than the first number as the second number. In the present embodiment, a case where the first number is “1” and the second number is “3” will be described.
  • the target unit is adjacent to the adjacent speech unit in the original speech data in the optimal unit sequence. If so, the number of speech units used for speech synthesis is set to a relatively small number. Thereby, a real voice feeling can be left. Furthermore, since the speech units are originally adjacent, even if they are connected, unnaturalness caused by discontinuity does not occur.
  • both adjacent segments More speech segments are used for speech synthesis than when the segments match.
  • speech synthesis is performed using speech units close to the average, unnaturalness caused by discontinuity can be eliminated.
  • the speech unit selection unit 117 selects the number of speech units selected by the number assignment unit 116 for each segment.
  • the speech segment selection unit 117 performs the target segment, that is, the target segment.
  • the optimum element selected by the optimum element selection unit 114 is selected.
  • the speech unit extracting unit 112 calculates a calculation unit from the speech units selected for the target segment. A plurality of speech segments are selected in descending order of the cost calculated by 113.
  • the speech element selected by the speech element selection unit 117 is used for speech synthesis described later.
  • the speech unit selection unit 117 fixes the segments of “ae-R” in a state where segments other than “ae-R” are fixed to the optimal units 71, 72, 74, 75 of the optimal unit series. Are calculated for each of the plurality of speech elements 73a, 73b, 73c... Obtained by the speech element extraction unit 112. Then, the second number of speech segments is selected in descending order of cost.
  • Formula (8) is used to calculate the cost. However, when the cost is calculated for each speech unit, the value changes for the target cost of the target segment, the connection cost between the target segment and the previous segment, the target segment and the next segment Connection cost. Therefore, only these costs need be considered. That is, the cost is calculated by the following procedure. (Procedure 1) One of a plurality of speech units having the same unit name as “ae-R” extracted by the speech unit extraction unit 112 is defined as a speech unit u i . A target cost C target (u i , t i ) is calculated from the speech element u i and the target attribute t i according to equation (6).
  • connection cost c concat (u i , u i-1 ) is calculated between the speech unit u i and the previous speech unit u i-1 according to equation (7).
  • the connection cost c concat (u i + 1 , u i ) between the subsequent speech unit u i + 1 and the speech unit u i is calculated.
  • (Procedure 3) The sum of the target cost and the connection cost calculated in the above (Procedure 1) and (Procedure 2) is calculated, and the cost of the speech unit u i is calculated.
  • the method for selecting a plurality of speech units is not limited to the embodiment, and ranking is performed based on a predetermined degree of distortion, and the degree of distortion is small (the degree of similarity is large). From which a predetermined number of speech segments are selected.
  • the speech segment creation unit 118 uses the optimal segment to generate speech for speech synthesis. Create a fragment.
  • the speech unit fusion unit 119 when a plurality of speech units are selected by the speech unit selection unit 117, fuses the plurality of speech units to obtain a fusion unit.
  • a fusion speech unit is a speech unit that represents those created from a plurality of selected speech units.
  • An average speech unit creation process that is, a pitch waveform averaging process, a band-divided pitch waveform.
  • the speech segment is generated by the process of aligning, averaging and summing, the process of extracting and averaging the spectrum or spectrum parameter, and generating the waveform from the average spectrum or average spectrum parameter.
  • the speech unit fusion unit 119 obtains a fusion unit by creating a new pitch waveform by fusing the pitch waveforms of the speech units.
  • the speech unit that has obtained the highest cost in the processing of the speech unit selection unit 117 is used as the fusion unit.
  • the connecting unit 120 applies a smoothing process to the target segment by connecting a fusion unit when a fusion speech unit is obtained, and connecting a target unit when a fusion unit is not obtained. By doing so, a speech waveform for the text data is generated.
  • the dividing unit 111 divides an input phoneme sequence corresponding to text data into a plurality of segments (step S100).
  • the speech unit extraction unit 112 extracts a speech unit having the same phoneme name as the phoneme name of each segment from the speech unit storage unit 102 (step S102).
  • the calculation unit 113 calculates the cost of all speech units extracted by the speech unit extraction unit 112 (step S104).
  • the optimal segment selection unit 114 searches for an optimal segment sequence (step S106).
  • the optimum unit selection unit 114 refers to the cost of each of the plurality of speech units extracted by the speech unit extraction unit 112 for each segment, and determines the speech unit having the maximum cost for each segment.
  • the optimum segment sequence is selected as an optimum segment for the segment, and an optimum segment sequence that is an array of optimum segments is obtained.
  • the adjacency determination unit 115 sets one of the optimal segments included in the optimal segment sequence as a target segment, and specifies a second adjacent segment adjacent to the target segment in the optimal segment sequence. Further, in the speech element storage unit 102, the first adjacent element associated with the target element is specified. Then, these two adjacent segments are compared to determine whether or not they match (step S108). Next, the number assigning unit 116 assigns the number of speech units used for speech synthesis for the target segment, which is a segment corresponding to each target unit, based on the determination result by the adjacency determining unit 115 (step S110).
  • the speech unit selection unit 117 obtains the target segment in the speech unit extraction unit 112. The cost of the plurality of speech units obtained is calculated, and the speech units are ranked according to the cost (step S114). Then, the speech element selection unit 117 selects the second number of speech elements in descending order of cost (step S116). Next, the speech unit fusion unit 119 fuses the second number of speech units selected by the speech unit selection unit 117 to obtain a fusion unit (step S118).
  • the speech unit fusion process (step S118) will be described.
  • the speech unit fusion unit 119 cuts out a pitch waveform from the speech unit and fuses the pitch waveform to create a new pitch. Generate a waveform.
  • the pitch waveform can be extracted by simply cutting out with the fundamental period synchronization window, by inverse discrete Fourier transform of the power spectrum envelope obtained by cepstrum analysis or PSE analysis, and by the impulse response of the filter obtained by linear prediction analysis.
  • There are various methods such as a method for obtaining a waveform and a method for obtaining a pitch waveform that reduces distortion with respect to natural speech at the level of synthesized speech by a closed loop learning method.
  • the pitch waveform is extracted using a method of cutting out with a basic period synchronization window.
  • the speech unit fusion unit 119 performs windowing with reference to the pitch mark associated with the speech unit in the speech unit storage unit 102 to cut out the pitch waveform (step S202).
  • a Hanning window is used as the window, and the window length is twice the basic period. This cuts out the windowed waveform as a pitch waveform.
  • the pitch waveform for each of the plurality of speech units selected by the speech unit selection unit 117 is cut out. Thereby, a series of pitch waveforms composed of a plurality of pitch waveforms is obtained for each of the plurality of speech elements.
  • the speech unit fusion unit 119 adjusts the pitch so that the number of pitch waveforms in each series of the plurality of pitch waveforms is the same according to the number of pitch marks created from the target prosody of each segment. For a series of pitch waveforms with a small number of waveforms, the pitch waveform is duplicated, and for a series of pitch waveforms with a large number of pitch waveforms, the pitch waveform is deleted to make the number of pitch waveforms uniform (step S204).
  • the speech unit fusion unit 119 averages the pitch waveforms corresponding to the plurality of speech units obtained for the target segment for each position, and generates a new series of pitch waveforms (step S206). .
  • the speech unit fusion unit 119 superimposes the generated new pitch waveform series according to the pitch mark created from the target prosody to obtain a fusion unit (step S208).
  • the pitch waveform fusion processing is not limited to averaging pitch waveforms.
  • the segmented speech segment may be divided into bands, and the speech waveforms in each band may be aligned so as to maximize the correlation, and then averaged.
  • the fusion pitch waveform which suppressed attenuation for every zone
  • ae-R-1”, “ae-R-2”, and “ae-R-3” shown in FIG. 8 are speech segments each provided with a pitch mark. Each of these speech segments is subjected to pitch waveform extraction processing (step S202) and processing for aligning the number of pitch waveforms (step S204). As a result, a pitch waveform series of PW1 to PW3 is obtained. These pitch waveforms (PW1 to PW3) are merged (averaged) (step S206), and a fused pitch waveform sequence PW4 is obtained. By superimposing this in accordance with the target pitch mark (step S208), a fusion unit “ae-R-fused” is created.
  • the speech segment creation unit 118 creates speech segments connected by the connection unit 120 based on the optimal segment (step S122). Specifically, the speech segment creation unit 118 creates a speech segment by transforming a speech waveform according to a target pitch mark. As shown in FIG. 9, when the speech unit “ae-L-1” is created by pitch waveform superposition, the pitch waveform is extracted from the selected optimal unit so that the target number of pitch marks is obtained. The pitch waveform series PW5 is created by aligning the number of waveforms by duplication or deletion. Furthermore, by superimposing this, a speech unit “ae-L-optimum” is created.
  • connection unit 120 connects the fusion unit obtained in step S118 or the speech unit created in step S122 to obtain a speech waveform of the synthesized speech (step S124).
  • the processing from step S108 to step S122 is repeated until the above processing is performed for all segments (step S126, No).
  • step S126, Yes the speech synthesis processing is completed. .
  • the phoneme series of the text data “valley” is composed of four phonemes “v”, “ae”, “l”, and “ii”, and the segment is obtained by dividing these into semiphonemes.
  • the audio data storage unit 101 stores the audio data of S04 to S10 including S04 “charge” and S05 “early” in addition to the audio data of S01 to S03 described above. . Furthermore, it is assumed that the speech unit storage unit 102 stores these speech units.
  • the segments “vL”, “vR”, “ae-L”, and “ae-R” are selected, and for the segments “l-L” and “l-R”, the speech unit obtained from the speech data of S04 is selected, and “ii ⁇ For the segments “L” and “ii-R”, speech segments obtained from the speech data in S05 are selected.
  • the speech unit (optimal unit) of S01 is selected. Also, in the “ii-R” segment, since the first adjacent element and the second adjacent element coincide with each other, the speech element selection unit 117 selects the speech element (optimum element) in S05.
  • the first adjacent element and the second adjacent element do not match, and the number allocation unit 116
  • the second number is assigned, and the second number, that is, three speech units are selected by the speech unit selection unit 117.
  • the speech unit selection unit 117 As a result of ranking by cost, for example, three “ae-R” speech segments S01 to S03 are selected for “ae-R”.
  • a fusion unit is obtained by fusing three selected speech units.
  • the speech unit created from the optimal segment is connected to the segments “vL”, “vR”, “ae-L”, and “ii-R” by the connecting unit 120, and “ae”
  • the segments “ ⁇ R”, “1-L”, “1-R”, and “ii-L” fused segments are connected to generate a speech waveform.
  • the speech synthesizer 1 when speech units that are not adjacent in speech data are connected, a fusion unit obtained by fusing more speech units is used. It was decided to connect. As a result, the fusion unit close to the average speech unit is connected, so that the sound quality deterioration due to the discontinuity can be eliminated.
  • some of the plurality of speech segments selected for each segment may be continuous, thereby reducing discontinuity.
  • the speech synthesizer 1 according to the first embodiment, it is possible to obtain high-quality synthesized speech in which the sense of discontinuity is eliminated while improving the sense of real voice.
  • a speech synthesizer according to the second embodiment will be described.
  • the speech synthesizer according to the second embodiment performs different processing not only on speech units but also on prosodic information of speech units according to adjacent speech units.
  • the speech synthesizer 24 of the speech synthesizer 2 according to the second embodiment includes a prosody information creation unit 131 and And a prosodic information fusion unit 132.
  • the speech unit storage unit 130 displays the basic frequency sequence information and the number of frames in addition to the information stored in the speech unit storage unit 102 according to the first embodiment. It is stored in association with the ID.
  • the fundamental frequency sequence information is information indicating a sequence of fundamental frequency information in the speech unit, such as fundamental frequency information calculated at predetermined time intervals and fundamental frequency information at pitch mark positions.
  • the fundamental frequency information is information representing the pitch of sound represented by pitch, fundamental frequency, logarithmic fundamental frequency, and the like. In the example shown in FIG. 13, a logarithmic fundamental frequency sequence is shown with a frame period of 22 ms.
  • the prosodic information creation unit 131 uses the speech segment selection unit 117 for speech synthesis based on the prosodic information of the optimal segment when the target segment, that is, one optimal segment is selected for the target segment. Create optimal prosodic information.
  • the prosody information associated with the optimal unit in the speech unit storage unit 130 is used as the prosody information of the optimal unit.
  • the speech segment creation unit 118 creates speech segments based on the prosodic information created by the prosody information creation unit 131.
  • the prosodic information fusion unit 132 fuses the prosodic information associated with each of the plurality of speech units in the speech unit storage unit 130 when a plurality of speech units are selected by the speech unit selection unit 117. And obtain fusion prosody information.
  • the fusion prosody information includes a fusion continuation length and a fusion fundamental frequency.
  • the prosodic information fusion unit 132 calculates the fusion continuation length by averaging the phoneme durations of a plurality of speech segments. Then, according to the obtained fusion continuation length, the fundamental frequency information is averaged to create a fusion fundamental frequency.
  • the speech segment fusion unit 119 uses the fused prosody information obtained by the prosody information fusion unit 132 to obtain a fused unit.
  • the connection unit 133 performs processing such as smoothing with the fundamental frequency of the front and back speech segments.
  • the prosody information fusion unit 132 is selected by the speech unit selection unit 117. Based on the prosodic information of each of the plurality of speech segments, fusion prosodic information is created (step S130).
  • the prosody information creation unit 131 uses the prosody information of the optimal segment to obtain the prosody information of the target segment used for speech synthesis. Create (step S132).
  • the prosody information fusion unit 132 calculates the fusion continuation length by averaging the number of frames of a plurality of speech segments (step S300). Specifically, the prosodic information fusion unit 132 averages the duration length according to Expression (10).
  • T syn i in Equation (10) is a phoneme duration duration used for speech synthesis of the i-th segment
  • T n i is the nth of N speech units selected by the speech unit selection unit 117.
  • the phoneme duration duration of the speech segment is shown. That is, N is the number of fusions.
  • the prosodic information fusion unit 132 maps the frames of the fundamental frequency of each speech unit, and aligns the number of frames of the fundamental frequency sequence (step S302).
  • the prosodic information fusion unit 132 creates a fused fundamental frequency sequence by averaging the fundamental frequencies of each frame (step S304).
  • the fundamental frequency mapping process in step S302 and the average fundamental frequency calculation process in step S304 are expressed by equation (11).
  • Equation (11) f 0 i syn (t) and f 0 i n (t) represent the fundamental frequency used for synthesis and the fundamental frequency of the speech unit, and here, mapping in the time direction is performed linearly.
  • connection unit 133 performs a process for improving the naturalness of the fundamental frequency sequence, such as smoothing with the fundamental frequency of the preceding and following speech segments and a process for preventing an accent error. Process.
  • connection unit 133 performs a process of smoothing the fundamental frequency.
  • smoothing will be described.
  • the connection unit 133 Smoothing can be performed so that the prosody information created by 131 gradually changes to fusion prosody information.
  • fusion prosodic information is used in the target segment of interest and the prosodic information created by the prosodic information creation unit 131 is used for the previous segment, the optimal segment of the target segment and the front adjacent segment Is continuous with the original audio data, and is not continuous with the rear adjacent segment.
  • the prosody information created by the prosody information creation unit 131 is gradually switched to fusion prosody information, so that the naturalness of the synthesized speech can be improved.
  • the graph of FIG. 16 shows the basic frequency sequence (in) obtained for the text data “Fifty Miles from previous destination.” And the basic frequency sequence (syn after smoothing processing by the connecting unit 133). ) And is shown. From the graph shown in FIG. 17, it can be seen that a more natural fundamental frequency sequence with undulations is generated by the smoothing process.
  • the fundamental frequency pattern may be modified so that an accent or intonation perception error does not occur.
  • an offset value for correcting a perceptual error may be calculated, and the obtained offset value may be added to the basic frequency sequence.
  • the offset value for correcting the perceptual error can be created, for example, from the difference in average fundamental frequency between the preceding and following syllables in the input prosodic information and the syllable including the speech unit of interest.
  • the determination can be made by performing threshold processing between the difference information of the input prosodic information and the difference information of the optimal prosodic information or the fused prosodic information created from the speech segment.
  • the audio data storage unit 101 stores the audio data of S01 to S10 including S01 to S05 shown in FIG. 10, and the audio unit storage unit 130 stores the audio data. Assume that these speech segments are stored.
  • input prosodic information for text data is shown.
  • the middle part of FIG. 17 shows prosodic information associated with the speech unit extracted by the speech unit storage unit 130.
  • the lower part of FIG. 17 shows prosodic information created by the prosodic information creating unit 131 or fused prosodic information obtained by the prosodic information fusion unit 132.
  • the first adjacent element and the second adjacent element of the optimum element coincide with each other.
  • Prosodic information is generated from the prosodic information, and speech segments of each segment are obtained based on the prosodic information.
  • the first adjacent element and the second adjacent element of the optimum element do not match.
  • the second number, ie, three speech segments are selected.
  • three “ae-R” speech segments S01 to S03 are selected for “ae-R”.
  • fusion prosody information is obtained by fusing prosody information of three selected speech segments. Based on the fusion prosody information, a fusion segment of each segment is obtained.
  • the other configurations and processes of the speech synthesizer 2 according to the second embodiment are the same as the configurations and processes of the speech synthesizer 1 according to the first embodiment.
  • the phoneme is based on the phoneme information corresponding to the optimal segment. Information is created, and speech segments used for speech synthesis are created based on the phoneme information. Thereby, a discontinuity feeling can be reduced. Furthermore, since voice elements are not fused, the real voice can be enhanced.
  • the speech synthesizer 2 according to the second embodiment, it is possible to obtain high-quality synthesized speech in which the sense of discontinuity is eliminated while improving the sense of real voice.
  • connection unit 133 also performs smoothing on the speech unit, and at this time, the weighting function used for the smoothing process of the fundamental frequency It is also possible to use w (t). In this case, instead of f 0 i syn (t) and f 0 i n (t), the pitch waveform corresponding to each pitch mark shown in FIG. 8 is weighted between the optimum speech unit and the fused speech unit. Smoothing is performed by obtaining the sum.
  • the value of offset in Equation (13) is obtained by calculating the average value of the fundamental frequencies of the end point of the left semiphoneme and the start point of the right semiphoneme, and the obtained average and the end point of the left semiphoneme and the start point of the right semiphoneme, respectively. Differences can be used. That is, when the target segment is a left semiphone, it can be calculated by Expression (14), and when it is a right semiphone, it can be calculated by Expression (15). As a result, when a unit that can be connected within a phoneme, such as a semiphone, is used as a synthesis unit, it is possible to suppress the discontinuity of the fundamental frequency sequence at the phoneme center.
  • smoothing between prosodic information of adjacent segments may be performed.
  • the smoothing can be performed by Expression (16).
  • w pre (t) is a smoothing weight with respect to the fundamental frequency at the end point of the front side adjacent unit, and for example, a function that gradually decreases monotonically from 0.5 to 0 can be used.
  • w post (t) a function that monotonically increases from 0 to 0.5 by the smoothing weight with the start point of the rear adjacent segment can be used.
  • Equation (17) when smoothing up to the center of the target segment with the front end point fundamental frequency and smoothing with the back side start point fundamental frequency from the center, w pre (t) and w post (t) are expressed by Equation (17) and Equation (18). Can be determined.
  • the smoothing according to the equation (16) may not be performed when adjacent speech segments are continuous.
  • the calculation can be performed by setting the weight of w pre (t) and w post (t) on which the continuous speech element is used to 0.
  • the smoothing of Expression (16) may be performed not only on the fundamental frequency but also on the pitch waveform of the speech unit.
  • the pitch waveform is smoothed by obtaining a weighted sum with the pitch waveform at the start point or end point of the adjacent speech unit.
  • the connecting unit 133 may apply smoothing by another method such as spline smoothing as a smoothing method.
  • the speech synthesizer In the speech synthesizer according to the third embodiment, either the prosody information created by the prosody information creation unit 131 or the fusion prosody information obtained by the prosody information fusion unit 132 or the input prosody information is used. You can switch between getting pieces.
  • the speech synthesizer 34 of the speech synthesizer 3 according to the third embodiment further includes a prosody information selection unit 140.
  • the prosodic information selection unit 140 determines the appropriateness of the regenerated basic frequency from the speech segment, and switches to use the regenerated basic frequency sequence if appropriate, and to use the input basic frequency sequence otherwise.
  • the prosodic information selection unit 140 includes linguistic information such as the accent type of the speech unit, the distance from the accent core of the corresponding syllable, the position within the accent phrase, and a predetermined appropriate fundamental frequency range. Or any one of the prosodic information and the input prosodic information obtained by the prosodic information creation unit 131 and the prosodic information fusion unit 132 based on the information obtained from the text data such as the information on the difference of the average fundamental frequency described above. select.
  • the speech segment creation unit 118 creates a speech segment using the prosodic information selected by the prosody information selection unit 140.
  • the speech segment fusion unit 119 obtains a fusion segment using the prosodic information selected by the prosody information selection unit 140.
  • input prosodic information and more natural prosodic information among prosodic information obtained by the prosodic information creating unit 131 or the prosodic information fusion unit 132 are obtained.
  • the prosody information selection unit 140 may refer to a tag of text data and select prosody information based on the tag.
  • Information indicating which of the prosodic information obtained by the input prosodic information and the prosodic information creating unit 131 or the prosody information merging unit 132 and a tag for designating the range are given to the text data in advance.
  • the text data input to the text input unit 11 may be “ ⁇ UNITPROS> Fifty Miles ⁇ / UNITROS> ⁇ IMPROS> from previous ⁇ / INPROS> ⁇ UNITPROS> destination ⁇ / UNITPROS>.”.
  • Tag information is given.
  • the prosody information selection unit 140 selects the prosody information obtained by the prosody information creation unit 131 or the prosody information fusion unit 132 for the range surrounded by ⁇ UNITPROS> to ⁇ / UNITPROS>, and from ⁇ INPROS> For the range surrounded by ⁇ / INPROS>, input prosodic information is selected. As a result, it is possible to manually check where the segment prosody is unnatural and switch to the input prosody.
  • the speech synthesizer of the present embodiment includes a control device such as a CPU, a storage device such as a ROM (Read Only Memory) and a RAM, an external storage device such as an HDD and a CD drive device, and a display device such as a display device. It has an input device such as a keyboard and a mouse, and has a hardware configuration using a normal computer.
  • a control device such as a CPU
  • a storage device such as a ROM (Read Only Memory) and a RAM
  • an external storage device such as an HDD and a CD drive device
  • a display device such as a display device. It has an input device such as a keyboard and a mouse, and has a hardware configuration using a normal computer.
  • the speech synthesis program executed by the speech synthesizer of this embodiment is an installable or executable format file such as a CD-ROM, a flexible disk (FD), a CD-R, a DVD (Digital Versatile Disk), or the like.
  • the program is provided by being recorded on a computer-readable recording medium.
  • the speech synthesis program executed by the speech synthesizer of this embodiment may be provided by being stored on a computer connected to a network such as the Internet and downloaded via the network. Further, the voice synthesis program executed by the voice synthesis apparatus of the present embodiment may be provided or distributed via a network such as the Internet.
  • the speech synthesis program according to the present embodiment may be provided by being incorporated in advance in a ROM or the like.
  • the speech synthesis program executed by the speech synthesis apparatus has a module configuration including the above-described units, and as actual hardware, a CPU (processor) reads the speech synthesis program from the storage medium. By executing, the above-described units are loaded onto the main storage device, and the respective units are generated on the main storage device.
  • a CPU processor
  • the present invention is not limited to the above-described embodiment as it is, and can be embodied by modifying the constituent elements without departing from the scope of the invention in the implementation stage.
  • various inventions can be formed by appropriately combining a plurality of constituent elements disclosed in the above embodiments. For example, some components may be deleted from all the components shown in the embodiment. Furthermore, constituent elements over different embodiments may be appropriately combined.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Machine Translation (AREA)

Abstract

 入力されたテキストデータの音韻系列を複数のセグメントに分割する分割部と、記憶部において、セグメントの音韻系列と同一の音韻系列に対応付けられている複数の音声素片を抽出する音声素片抽出部と、複数の音声素片の中から、コストが最小となる最適素片を選択する最適素片選択部と、最適素片のうち処理対象となる対象セグメントに対して選択された最適素片である対象素片に隣接する第2隣接素片と、記憶部において対象素片に対応付けられている第1隣接素片とが一致する場合に第1個数、一致しない場合に第2個数を割り当てる個数割当部と、個数が複数である場合に、複数の音声素片から音声素片を選択し、個数が1である場合に前記最適素片を選択する音声素片選択部と、複数の音声素片が選択された場合に、複数の音声素片を融合し融合素片を得る音声素片融合部と、融合素片または最適素片を接続し、音声波形を生成する接続部とを備えた。

Description

音声合成装置およびプログラム
 本発明は、音声合成に関する。
 従来、音声合成の方式であるコーパス方式の1つとして素片選択に基づく音声合成方法が知られている。素片選択に基づく音声合成においては、音声データを所定の音声単位に分割した音声素片から最適音声素片を選択し、選択した最適音声素片から音声波形を生成する。しかしながら、音声波形をそのまま接続して音声を合成すると、肉声感の高い音声が得られるものの、接続点の不連続により音質劣化が生じる。また、韻律変形を行って接続した場合には、韻律変形により肉声感が劣化してしまう。このような音声劣化を防ぐものとして、例えば特許文献1には、合成すべき音声との歪みの度合い等に基づいて融合方法を決定する装置が開示されている。
 しかしながら、例えば特許文献1にかかる技術においても、音質劣化を十分に低減できたとは言い難く、音質劣化の問題は依然解消されていない。
特開2006-276522号公報
 本発明は、上記に鑑みてなされたものであって、高品質な音声を合成することのできる音声合成装置およびプログラムを提供することを目的とする。
 本発明は、音声合成装置であって、音声データを所定の単位で分割して得た複数の音声素片と、当該音声素片の音韻系列と、当該音声素片に隣接する第1隣接素片を識別する識別情報を対応付けて記憶する記憶部と、入力されたテキストデータの音韻系列を前記音声素片と同一単位の複数のセグメントに分割する分割部と、前記記憶部において前記セグメントの音韻系列と同一の音韻系列に対応付けられている、複数の前記音声素片を抽出する音声素片抽出部と、前記テキストデータとともに入力された、前記セグメントの入力韻律情報に基づいて定まる目標音声と、前記複数の音声素片それぞれから合成された音声の間の歪みの度合いを示すコストを、前記セグメントの前記韻律情報に基づいて算出する算出部と、前記複数の音声素片の中から、前記コストが最小となる最適素片を選択する最適素片選択部と、前記テキストデータの前記音韻系列に含まれる複数のセグメントそれぞれに対して得られた前記最適素片の配列である最適素片系列に含まれる前記最適素片のうち処理対象となる対象セグメントに対して選択された最適素片である対象素片に隣接する第2隣接素片と、前記記憶部において前記対象素片に対応付けられている前記第1隣接素片とが一致するか否かを判定する隣接判定部と、前記第1隣接素片と第2隣接素片とが一致する場合に、前記対象セグメントに対し第1個数を割り当て、前記第1隣接素片と前記第2隣接素片とが一致しない場合に、前記対象セグメントに対し前記第1個数に比べて多い第2個数を割り当てる個数割当部と、割り当てられた個数が複数である場合に、前記対象セグメントに対し前記音声素片抽出部により抽出された複数の音声素片から、前記個数の音声素片を選択し、前記個数が1である場合に、前記対象セグメントに対し、前記最適素片選択部により選択された前記最適素片を選択する音声素片選択部と、複数の前記音声素片が選択された場合に、当該複数の音声素片を融合し融合素片を得る音声素片融合部と、前記対象セグメントに対し前記割り当てられた個数が複数の場合には融合素片、前記割り当てられた個数が1の場合には前記最適素片を接続し、音声波形を生成する接続部とを備えたことを特徴とする。
 また、本発明の他の形態は、コンピュータに音声合成処理を実行させるためのプログラムであって、前記コンピュータは、音声データを所定の単位で分割して得た複数の音声素片と、当該音声素片の音韻系列と、当該音声素片に隣接する第1隣接素片を識別する識別情報を対応付けて記憶する記憶部を備え、前記コンピュータを、入力されたテキストデータの音韻系列を前記音声素片と同一単位の複数のセグメントに分割する分割部と、前記記憶部において前記セグメントの音韻系列と同一の音韻系列に対応付けられている、複数の前記音声素片を抽出する音声素片抽出部と、前記テキストデータとともに入力された、前記セグメントの入力韻律情報に基づいて定まる目標音声と、前記複数の音声素片それぞれから合成された音声の間の歪みの度合いを示すコストを、前記セグメントの前記韻律情報に基づいて算出する算出部と、前記複数の音声素片の中から、前記コストが最小となる最適素片を選択する最適素片選択部と、前記テキストデータの前記音韻系列に含まれる複数のセグメントそれぞれに対して得られた前記最適素片の配列である最適素片系列に含まれる前記最適素片のうち処理対象となる対象セグメントに対して選択された最適素片である対象素片に隣接する第2隣接素片と、前記記憶部において前記対象素片に対応付けられている前記第1隣接素片とが一致するか否かを判定する隣接判定部と、前記第1隣接素片と第2隣接素片とが一致する場合に、前記対象セグメントに対し第1個数を割り当て、前記第1隣接素片と前記第2隣接素片とが一致しない場合に、前記対象セグメントに対し前記第1個数に比べて多い第2個数を割り当てる個数割当部と、割り当てられた個数が複数である場合に、前記対象セグメントに対し前記音声素片抽出部により抽出された複数の音声素片から、前記個数の音声素片を選択し、前記個数が1である場合に、前記対象セグメントに対し、前記最適素片選択部により選択された前記最適素片を選択する音声素片選択部と、複数の前記音声素片が選択された場合に、当該複数の音声素片を融合し融合素片を得る音声素片融合部と、前記対象セグメントに対し前記割り当てられた個数が複数の場合には融合素片、前記割り当てられた個数が1の場合には前記最適素片を接続し、音声波形を生成する接続部として機能させるためのプログラムである。
 本発明にかかる音声合成装置およびプログラムは、高品質な音声を合成することができるという効果を奏する。
音声合成装置1の構成図。 音声合成部14の構成を示すブロック図。 音声素片記憶部102のデータ構成を示す図。 音声波形データを示す図。 音声波形データを示す図。 音声波形データを示す図。 音声素片選択部117の処理の説明図。 音声合成処理を示すフローチャート。 融合処理を示すフローチャート。 融合処理の具体例を示す図。 音声素片作成処理の具体例を示す図。 音声データを示す図である。 音声合成処理の具体例を示す図。 音声合成部24の構成を示すブロック図。 音声素片記憶部130のデータ構成を示す図。 音声合成処理を示すフローチャート。 韻律情報融合処理を示すフローチャート。 基本周波数系列の平滑化の処理を示す図。 音声合成処理の具体例を示す図。 音声合成部34の構成を示すブロック図。
 以下に添付図面を参照して、この発明にかかる音声合成装置およびプログラムの実施の形態を詳細に説明する。図1に示すように、音声合成装置1は、テキスト入力部11、言語処理部12、韻律処理部13、音声合成部14、音声波形出力部15を備えている。
 言語処理部12は、テキスト入力部11から入力されるテキストデータの形態素解析・構文解析を行い、音韻系列(音韻記号列)およびアクセント型などの情報を得て、その結果を韻律処理部13へ送る。
 韻律処理部13は、言語解析結果から音の長さを表す音韻継続長や音の高さを表す基本周波数などの韻律情報を生成し、音声合成部14へ送る。
 音声合成部14は、音韻系列及び韻律情報を入力し、音声波形を生成する。こうして生成された音声波形は音声波形出力部15で出力される。
 図2に示すように、音声合成部14は、音声データ記憶部101と、音声素片記憶部102と、分割部111と、音声素片抽出部112と、算出部113と、最適素片選択部114と、隣接判定部115と、個数割当部116と、音声素片選択部117と、音声素片作成部118と、音声素片融合部119と、接続部120とを有している。
 音声データ記憶部101は、音声合成に用いる音声波形データを記憶している。例えば「Valerie‘s faith」に対する音声データ、「value-added tax」に対する音声データ、「value-added」に対する音声データというように、同一の音素に対する複数の音声波形データを記憶している。なお、各音声波形データはそれぞれ「S01」、「S02」など音声波形データを識別する音声データIDに対応付けられている。
 音声素片記憶部102は、図3に示すように、音声データ記憶部101に記憶されている音声データから得られた複数の音声素片の各種情報を記憶している。ここで、音声素片とは、所定の音声単位で音声データを分割することにより得られたデータである。音声単位は、例えば音素や、音素を分割した単位、またはこれら複数の組み合わせにより決定される単位である。音声単位は、具体的には、音素、音素をさらに半分に分割した半音素、音素の中心から隣接音素の中心までを単位とするダイフォン、前後の音素種別によって音素を分類したトライフォン、母音または子音+母音からなる音節などを用いることができる。また、これらの基本的な音声単位が混在していてもよく、可変長であってもよい。音声合成の際に用いる音声単位を合成単位と呼び、後述の素片選択処理や波形生成処理を行う際の単位として用いる。なお、本実施の形態においては、音声単位と合成単位は同じであり、これをセグメントと称する。
 音声素片は、音声単位の分類名(たとえば音素名)の情報と境界の時刻の情報とを含むラベル情報を参照して、音声波形データを合成単位に分割することにより作成される。なお、本実施の形態においては、音声単位を半音素とする。すなわち、音素境界は半音素境界とする。
 音声素片記憶部102は、具体的には、音声素片を識別する音声素片IDに対応付けて、音声素片の音声波形、ピッチ波形の中心位置を示すピッチマーク、隣接素片IDを記憶している。本実施の形態の音声素片IDは、音韻系列を含んでいる。例えば、図3に示す1行目の音声素片ID「ae-R-1」の「ae-R」は、音声素片の音韻系列(音素名)を示している。なお、末尾の「1」により、音韻系列が同一の他の音声素片と区別される。すなわち、末尾の素片番号により同一音韻系列の各音声素片も一意に識別される。
 隣接素片IDは、隣接素片を識別する情報である。隣接素片は、音声素片が含まれていた音声データにおいて、この音声素片に隣接している音声素片のことである。すなわち、1つの音声素片に対し、前後の計2つの隣接素片が存在する。なお、先頭または末尾の音声素片については、隣接素片は1つである。なお、以下、音声データにおける隣接素片を第1隣接素片と称する。
 ピッチ波形は、その長さが音声の基本周期の数倍程度までであり、それ自身は基本周期を有さない比較的短い波形であり、そのスペクトルが音声信号のスペクトル包絡を表すものである。
 音声素片記憶部102においては、この他、音声素片の言語的または音響的な特徴を表す情報が属性情報として音声素片IDに対応付けられている。具体的には、音韻環境情報、言語情報、韻律情報、音響パラメータ情報などの情報である。音韻環境情報としては、当該音声素片の音素名や先行または後続の音素名がある。言語情報としては、音声データにおける文内の位置、呼気段落内の位置、アクセント核からの位置、ストレスの有無、文の種別(疑問文・命令文・平叙文等)などがある。韻律情報としては、基本周波数(F0)および音韻継続時間長がある。音響パラメータ情報としては、接続境界におけるスペクトルパラメータ情報(メルケプストラム等)などがある。これ以外にも、強調の度合いや、感情、パラ言語情報などを含んでもよい。これらの情報は、音声データ記憶部101に記憶されている音声波形データから抽出される。
 図4-1に示すデータは、S01で識別される「Valerie‘s faith」の音声波形データである。図4-2に示すデータは、S02で識別される「value-added tax」の音声波形データである。図4-3に示すデータは、S03で識別される「value-added」の音声波形データである。音声データ記憶部101には、これらの音声波形データが音素境界および音素名と対応付けて記憶されている。音声素片記憶部102には、これらの音声波形データを前述のラベル情報に基づいて、音声単位、すなわち半音素に分割して得られた音声素片が記憶されている。
 例えば、S01の音声波形データの「v」、「ae」、「l」の区間など半音素境界が切り出され、それぞれの音声素片名と対応付けて音声素片記憶部102に記憶される。このように、本実施の形態においては、半音素単位で音声波形を切り出したものを音声素片とする。なお、「v-L-1」、「v-R-1」、「ae-L-1」、「ae-R-1」等は、音声素片IDを示している。音声素片IDは、「音素名(音素記号)-L/R-素片番号」の規則にしたがって付与されている。ここで、L/RのうちLは、音声素片が音素の左側の素片であることを示している。Rは、音声素片が音素の右側の素片であることを示している。
 分割部111は、言語処理部12または韻律処理部13から出力されたテキストデータに対応する音韻系列、音韻環境情報、言語情報、韻律情報、音響パラメータ情報などの情報を取得する。以下、入力されたテキストデータから得られた音韻系列を入力音韻系列、入力されたテキストデータから得られた韻律情報を入力韻律情報と称する。分割部111は、音韻系列等の情報に基づいて、入力音韻系列を複数のセグメントに分割する。ここで、セグメントとは、音声素片記憶部102に記憶されている音声素片と同一単位の音韻系列の区間である。
 音声素片抽出部112は、分割部111により得られた各セグメントに対し、音声素片記憶部102において、セグメントの音韻系列と同一の音韻系列に対応付けられている音声素片を抽出する。例えば、テキストデータから「v-R」、「ae-L」、「ae-R」、「l-L」、「l―R」の5つのセグメントが得られたとする。この場合、音声素片抽出部112は、音声素片記憶部102において各セグメントと音韻系列(音素名)が同一の音声素片を抽出する。具体的には、「v-R」については、「v-R-1」など、音声素片IDのうち音素名を示す前方部分(この場合、「v-R」)が一致するすべての音声素片を抽出する。同様に、「ae-L」、「ae-R」、「l-L」、「l―R」についても、音素名が一致するすべての音声素片を抽出する。
 算出部113は、各セグメントの目標音声と、音声素片抽出部112により抽出された音声素片との間の歪みの度合いを示すコストを算出する。ここで、目標音声は、セグメントの音韻系列と韻律情報から定まる合成音声である。算出部113は、分割部111により得られたセグメントの韻律情報と音声素片抽出部112により抽出された音声素片の韻律情報に基づいて、コストを算出する。
 以下、コストの算出方法について説明する。コストは、コスト関数により求めることができる。コスト関数は、目標コストと接続コストの重み付け和として表される。目標コストは、分割部111により得られたセグメントの韻律情報と音声素片抽出部112により抽出された音声素片の韻律情報の違いに基づく歪みである。接続コストは、隣接する音声素片間の不連続の度合いを表す歪みである。
 すなわち、目標コストとは、音声素片記憶部102に記憶されている音声素片を入力されたテキストデータのもとで使用することによって生じる歪みであり、接続コストとは、接続する音声素片が不連続であることによって生じる歪みである。
 具体的には、まず、音声素片を変形・接続して合成音声を生成する際に生ずる歪みの要因ごとにサブコスト関数を定める。ここで、tは、入力音韻系列および入力韻律情報に対応する目標とする音声(目標音声)をt=(t,…,t)としたときのi番目のセグメントの音声素片の目標とする音韻環境情報を表し、uは音声素片記憶部102に記憶されている音声素片のうち、tと同じ音韻の音声素片を表す。
 サブコスト関数は、音声素片記憶部102に記憶されている音声素片を用いて合成音声を生成したときに生ずる当該合成音声の目標音声に対する歪みの度合いを推定するためのコストを算出するためのものである。当該コストを算出するために、当該音声素片を使用することによって生じる合成音声の目標音声に対する歪みの度合いを推定する目標コストと、当該音声素片を他の音声素片と接続したときに生じる当該合成音声の目標音声に対する歪みの度合いを推定する接続コストという2種類のサブコストがある。
 目標コストとしては、音声素片記憶部102に記憶されている音声素片の基本周波数と目標の基本周波数との違いを表す基本周波数コスト、音声素片記憶部102に記憶されている音声素片の音韻継続時間長と目標の音韻継続時間長との違いを表す音韻継続時間長コスト、および音韻環境の違いをあらわす音韻環境コストを用いる。接続コストとしては、接続境界でのスペクトルの違いを表すスペクトル接続コストおよび基本周波数の違いを表す基本周波数接続コストを用いる。具体的には、基本周波数コストは、式(1)により算出される。
Figure JPOXMLDOC01-appb-M000001
ここで、f (t)は音声素片記憶部102に記憶されている音声素片uの基本周波数情報、f (t)は入力された属性tから得られる目標の基本周波数情報、T は目標の基本周波数のフレーム数、φ(t)はフレーム数をそろえるためにマッピングする関数を表す。なお、音声素片記憶部102に平均基本周波数が記憶されている場合はその距離を基本周波数コストとして用いる。
 また、音韻継続時間長コストは、式(2)により算出される。
Figure JPOXMLDOC01-appb-M000002
ここで、T は音声素片uの時間長を、T は入力された属性tから得られる目標の時間長を表す。
 音韻環境コストは、式(3)により算出される。
 スペクトル接続コストは、式(4)に示す2つの音声素片間のケプストラム距離から算出する。
Figure JPOXMLDOC01-appb-M000004
ここで、c は音声素片uの開始点の接続境界のケプストラムを、c i-1は音声素片ui-1の終点の接続境界のケプストラムを表す。
 また、f接続コストは、式(5)により算出される。
Figure JPOXMLDOC01-appb-M000005
 以上、式(1)~(3)から、目標コストは式(6)のように定義される。
また、式(4)、(5)から、接続コストは式(7)のように定義される。
Figure JPOXMLDOC01-appb-M000007
ここで、wはサブコスト関数の重みを表す。本実施の形態においては、簡単のため、wはすべて「1」とする。上記式(6)は、ある合成単位に、ある音声素片を当てはめた場合の当該音声素片の目標コストであり、式(7)は音声素片ui-1とuを接続した場合の接続コストである。
 セグメントのそれぞれに対し、上記式(6)、(7)よりコストを算出した結果を、全セグメントについて足し合わせたものをコストと呼び、このコストを算出するためのコスト関数を式(8)のように定義する。
Figure JPOXMLDOC01-appb-M000008
 算出部113は、式(8)のコスト関数により、音声素片抽出部112により抽出されたすべての音声素片に対するコストを算出する。
 最適素片選択部114は、算出部113により算出されたコストに基づいて、各セグメントの最適素片を選択する。ここで、最適素片とは、音声素片抽出部112により音声素片記憶部102から抽出された複数の音声素片のうち算出部113により算出されたコストが最小となる音声素片である。すなわち、最適素片選択部114は、コストが最小となる音声素片を最適素片として選択する。最適素片選択部114は、さらに選択した最適素片を対応するセグメントのテキストデータ内での配列に沿って配列することにより、最適素片系列を得る。すなわち、最適素片系列は、セグメントのテキストデータ内の配列に従った、最適素片の配列である。なお、最適素片系列のコストは、他のいずれの音声素片列よりも小さい値となる。最適素片系列の探索には、動的計画法(DP:dynamic programming)を用いてもよい。これにより、効率的に最適素片系列を得ることができる。
 隣接判定部115は、テキストデータから得られた複数のセグメントのうち処理対象となる対象セグメントに対して選択された最適素片である対象素片を選択する。隣接判定部115は、さらに最適素片系列において、対象素片に隣接する最適素片である隣接素片を特定する。すなわち、対象素片が、最適素片系列の先頭または最後の素片でない場合には、前後の2つの隣接素片が特定される。対象素片が最適素片系列の先頭または最後の素片である場合には、1つの隣接素片が特定される。そして、隣接判定部115は、特定した隣接素片と、音声素片記憶部102において対象素片に対応付けられている隣接素片とが一致するか否かを判定する。
 最適素片系列において対象素片に隣接する最適素片が、音声データにおいて対象素片に隣接していた音声素片である場合には、これらは元々連続するデータであるので、これらを接続しても接続境界における不連続は生じない。一方で、最適素片系列において対象素片に隣接する最適素片が、音声データにおいて隣接していない音声素片である場合には、これらは元々連続しないデータであるから、これらを接続した場合には、音の不連続による音質劣化が生じてしまう。そこで、本実施の形態にかかる音声合成装置1においては、最適音声素片系列において隣接する音声素片が、元の音声データにおいて隣接していた音声素片であるか否かに応じて異なる処理を施すべく、隣接判定部115において、まず各最適素片の隣接素片が音声データにおける隣接素片と一致したか否かを判定する。なお、以下、最適素片系列における隣接素片を第2隣接素片と称する。
 個数割当部116は、隣接判定部115による判定結果に基づいて、各セグメントの個数を決定し、これを各セグメントに割り当てる。この個数は、セグメントに対応する音声合成に利用する音声素片の数である。具体的には、個数割当部116は、対象素片に対する最適素片系列における第2隣接素片と、音声素片記憶部102において対象素片に対応付けられている第1隣接素片とが一致する場合には、第1個数を割り当てる。両隣接素片が一致しない場合には、第2個数を割り当てる。なお、第2個数は、第1個数に比べて大きい個数である。第1個数と第2個数は任意に設定することができるが、この場合においても、第2個数としては第1個数に比べて大きい個数を設定する必要がある。本実施の形態においては、第1個数を「1」、第2個数を「3」とする場合について説明する。
 このように、対象素片の第1隣接素片と第2隣接素片が一致する場合、すなわち対象素片が最適素片系列において元の音声データにおいて隣接している音声素片と隣接している場合には、音声合成に利用する音声素片の数を比較的少ない数とする。これにより、肉声感を残すことができる。さらに、元々隣接していた音声素片であるから、これらを接続しても不連続に起因した不自然さが生じることもない。
 一方、対象素片の第1隣接素片と第2隣接素片が一致しない場合、すなわち対象素片が元の音声データにおいて隣接していない音声素片と隣接している場合には、両隣接素片が一致する場合に比べてより多くの音声素片を音声合成に利用することとする。これにより、平均に近い音声素片による音声合成がなされるので、不連続に起因した不自然さを解消することができる。
 また、対象素片の第1隣接素片と第2隣接素片が一致しない場合であっても、音声合成に比較的多くの音声素片を用いることにより、そのうちのいくつかの隣接素片が一致する場合がある。これにより、さらに不連続感を減少させることができる。
 音声素片選択部117は、各セグメントに対し、個数割当部116により選択された個数の音声素片を選択する。音声素片選択部117は、処理対象となる対象セグメントに対して、個数割当部116により割り当てられた個数が1である場合には、対象セグメントに対し、対象素片、すなわち対象セグメントに対して最適素片選択部114により選択された最適素片を選択する。一方、対象セグメントに対して、個数割当部116により割り当てられた個数が複数である場合には、音声素片抽出部112により、対象セグメントに対して選択された音声素片の中から、算出部113により算出されたコストが高い順に複数の音声素片を選択する。音声素片選択部117により選択された音声素片は、後述の音声合成に用いられる。
 図5に示すように、テキストデータから例えば「v-R」、「ae-L」、「ae-R」、「l-L」、「l-R」の連続する5つのセグメントが得られたとする。さらに、図5に示すように、各セグメントに対し音声素片抽出部112により複数の音声素片が抽出されて、最適素片を要素とする最適素片系列が得られているとする。対象セグメント「ae―R」には、個数割当部116により第2個数が割り当てられているとする。この場合は、音声素片選択部117は、「ae―R」に対し第2個数の音声素片を選択する。音声素片選択部117は、具体的には、「ae―R」以外のセグメントを最適素片系列の最適素片71,72,74,75に固定した状態で、「ae―R」のセグメントに対して音声素片抽出部112により得られた複数の音声素片73a,73b,73c・・・それぞれのコストを算出する。そして、コストが高い順に第2個数の音声素片を選択する。
 コストの算出には、式(8)を用いる。ただし、各音声素片に対してコストを求める際に、値が変わるのは、対象セグメントの目標コスト、対象セグメントとその一つ前のセグメントとの接続コスト、対象セグメントとその一つ後のセグメントとの接続コストである。したがって、これらのコストのみを考慮すればよい。すなわち、以下の手順でコストを算出する。
(手順1) 音声素片抽出部112により抽出された「ae-R」と同一の素片名の複数の音声素片のうちの1つを音声素片uとする。音声素片uと目標の属性tによって式(6)によって目標コストCtarget(u,t)を算出する。
(手順2) 式(7)によって音声素片uと、ひとつ前の音声素片ui-1との間で接続コストcconcat(u,ui-1)を算出する。また後続の音声素片ui+1と音声素片uとの接続コストcconcat(ui+1,u)を算出する。
(手順3) 上記(手順1)、(手順2)で算出された目標コストと接続コストの和を算出して、音声素片uのコストを算出する。
(手順4) 音声素片抽出部112により得られた複数の音声素片すべてについて、上記(手順1)~(手順3)に従って、コストを算出した後、その値の最も小さい音声素片ほど高い順位となるように順位付けを行う。すなわち、コストとして、直前の音声素片からの接続コスト、対象セグメントの目標コストおよび後続の音声素片への接続コストの和である次式(9)を用い、c(u)の値の小さい方から第2個数の音声素片を選択する。
Figure JPOXMLDOC01-appb-M000009
 なお、複数の音声素片の選択方法は、実施の形態に限定されるものではなく、予め定めた歪みの度合いに基づいて順位付けを行い、歪みの度合いの小さい方(類似度の大きい方)から所定個数の音声素片を選択するものであればよい。
 音声素片作成部118は、音声素片選択部117により対象セグメントに対し、対象素片、すなわち1つの最適素片が選択された場合に、この最適素片に基づいて、音声合成に用いる音声素片を作成する。
 音声素片融合部119は、音声素片選択部117により複数の音声素片が選択された場合には、これら複数の音声素片を融合し、融合素片を得る。融合音声素片とは、選択された複数の音声素片から作成したそれらを代表する音声素片であり、平均的な音声素片の作成処理すなわちピッチ波形の平均化処理、帯域分割したピッチ波形の位置合わせし平均化し足し合わせる処理、スペクトルもしくはスペクトルパラメータを抽出して平均化し平均スペクトルもしくは平均スペクトルパラメータから波形生成する処理等より作成する音声素片である。音声素片融合部119は具体的には、対象セグメントが有声音の場合には、音声素片のピッチ波形を融合することにより新たなピッチ波形を作り出すことにより、融合素片を得る。一方、対象セグメントが無声音の場合には、音声素片選択部117の処理において最も高いコストが得られた音声素片を融合素片として用いる。
 接続部120は、対象セグメントに対し、融合音声素片が得られている場合には融合素片を、融合素片が得られていない場合には対象素片を接続し、スムージングの処理を適用することにより、テキストデータに対する音声波形を生成する。
 図6に示すように、音声合成装置1による音声合成処理においては、まず分割部111は、テキストデータに対応する入力音韻系列を複数のセグメントに分割する(ステップS100)。次に、音声素片抽出部112は、音声素片記憶部102から各セグメントの音素名と同一の音素名の音声素片を抽出する(ステップS102)。次に、算出部113は、音声素片抽出部112により抽出されたすべての音声素片のコストを算出する(ステップS104)。次に、最適素片選択部114は、最適素片系列の探索を行う(ステップS106)。具体的には、最適素片選択部114は、各セグメントに対して音声素片抽出部112により抽出された複数の音声素片それぞれのコストを参照し、コストが最大となる音声素片を各セグメントに対する最適素片として選択し、最適素片の配列である最適素片系列を得る。
 次に、隣接判定部115は、最適素片系列に含まれる最適素片のうちの1つを対象素片とし、最適素片系列において対象素片に隣接する第2隣接素片を特定する。さらに、音声素片記憶部102において、対象素片に対応付けられている第1隣接素片を特定する。そして、これら2つの隣接素片を比較し、両者が一致するか否かを判定する(ステップS108)。次に、個数割当部116は、隣接判定部115による判定結果に基づいて、各対象素片に対応するセグメントである対象セグメントに対する音声合成に用いる音声素片の個数を割り当てる(ステップS110)。
 個数割当部116により割り当てられた個数が複数の場合、すなわち第2個数の場合には(ステップS112,Yes)、音声素片選択部117は、音声素片抽出部112において対象セグメントに対して得られた複数の音声素片のコストを算出し、コストにより音声素片を順位付けする(ステップS114)。そして、音声素片選択部117は、コストの高い順に第2個数の音声素片を選択する(ステップS116)。次に、音声素片融合部119は、音声素片選択部117により選択された第2個数の音声素片を融合し、融合素片を得る(ステップS118)。
 ここで、音声素片融合処理(ステップS118)について説明する。図7に示すように、対象セグメントが有声音である場合には(ステップS200,Yes)、音声素片融合部119は、音声素片からピッチ波形を切り出し、ピッチ波形を融合して新たなピッチ波形を生成する。ピッチ波形の抽出方法としては、単に基本周期同期窓で切り出す方法、ケプストラム分析やPSE分析によって得られたパワースペクトル包絡を逆離散フーリエ変換する方法、線形予測分析によって得られたフィルタのインパルス応答によってピッチ波形を求める方法、閉ループ学習法によって合成音声のレベルで自然音声に対する歪が小さくなるようなピッチ波形を求める方法など様々なものがある。
 本実施の形態においては、基本周期同期窓で切り出す方法を用いてピッチ波形を抽出することとする。まず、音声素片融合部119は、音声素片記憶部102において音声素片に対応付けられているピッチマークを基準として窓掛けを行ってピッチ波形を切り出す(ステップS202)。ここで、窓にはハニング窓を用い、その窓長は基本周期の2倍とする。 これにより、窓掛けされた波形をピッチ波形として切り出す。なお、音声素片選択部117により選択された複数の音声素片それぞれに対するピッチ波形を切り出す。これにより、複数の音声素片それぞれについて、複数個のピッチ波形からなるピッチ波形の系列が求まる。
 次に、音声素片融合部119は、各セグメントの目標とする韻律から作成したピッチマークの個数に合わせて、複数のピッチ波形それぞれの系列中のピッチ波形の数が同じになるように、ピッチ波形の数が少ないピッチ波形の系列についてはピッチ波形を複製し、ピッチ波形の多いピッチ波形の系列についてはピッチ波形を削除して、ピッチ波形の数を揃える(ステップS204)。
 次に、音声素片融合部119は、対象セグメントに対して得られた複数の音声素片に対応するピッチ波形をその位置ごとに平均化し、新たなピッチ波形の系列を生成する(ステップS206)。次に、音声素片融合部119は、生成された新たなピッチ波形の系列を目標とする韻律から作成したピッチマークに従って重畳し、融合素片を得る(ステップS208)。
 なお、ピッチ波形の融合処理はピッチ波形の平均化に限定するものではない。例えば、切り出された音声素片を帯域分割し、各帯域の音声波形を相関最大になるようにアライメントし、その後で平均化してもよい。これにより帯域毎の減衰を抑えた融合ピッチ波形を生成することができる。
 一方、対象セグメントが無声音である場合には(ステップS200,No)、音声素片選択部117により選択された第2個数の音声素片のうちコストによる順位が1位の音声素片の音声波形を選択し(ステップS210)、これをそのまま利用することとする。
 「ae-R」のセグメントを例に融合処理を具体的に説明する。図8に示す「ae-R-1」、「ae―R-2」、「ae-R-3」は、それぞれピッチマークが付与された音声素片である。これらの音声素片はそれぞれ、ピッチ波形抽出処理(ステップS202)およびピッチ波形の数を揃える処理(ステップS204)が施される。これにより、PW1~PW3のピッチ波形系列が得られる。これらのピッチ波形(PW1~PW3)の融合(平均化)の処理が行われ(ステップS206)、融合ピッチ波形列PW4が求められる。これを目標のピッチマークに従って重畳することで(ステップS208)、融合素片「ae-R-fused」が作成される。
 図6に示す音声合成処理のステップS112において、個数割当部116により割り当てられた個数が単数である場合、すなわち第1個数の場合には(ステップS112,No)、音声素片選択部117は、対象セグメントに対する対象素片、すなわち最適素片を選択する(ステップS120)。
 次に、音声素片作成部118は、最適素片に基づいて、接続部120により接続される音声素片を作成する(ステップS122)。音声素片作成部118は、具体的には、目標のピッチマークに従って音声波形を変形することにより、音声素片を作成する。図9に示すように、「ae-L-1」の音声素片をピッチ波形重畳によって作成する場合には、選択された最適素片からピッチ波形抽出を行い、目標のピッチマーク数になるように複製もしくは削除によって波形数を揃えることにより、ピッチ波形系列PW5が作成される。さらに、これを重畳することにより、音声素片「ae-L-optimum」が作成される。
 音声合成処理において、接続部120は、ステップS118で得られた融合素片またはステップS122で作成された音声素片を接続し、合成音声の音声波形を得る(ステップS124)。すべてのセグメントに対し以上の処理が施されるまでステップS108からステップS122の処理を繰り返し(ステップS126,No)、すべてのセグメントに対する処理が完了すると(ステップS126,Yes)、音声合成処理が完了する。
 ここで、「vally」というテキストデータが与えられた場合の具体的な音声合成処理について説明する。テキストデータ「valley」の音素系列は「v」、「ae」、「l」、「ii」の4つの音素からなり、セグメントは、これらを半音素に分割したものになる。また、音声データ記憶部101には、図10に示すように、前述のS01~S03の音声データに加え、S04「challenge」、S05「early」を含むS04~S10の音声データが記憶されている。さらに、音声素片記憶部102には、これらの音声素片等が記憶されているものとする。
 さらに、図11に示すように、テキストデータから得られたセグメントに対する最適素片選択において、「v-L」、「v-R」、「ae-L」、「ae-R」のセグメントについては、S01の音声データから得られた音声素片が選択され、「l-L」、「l-R」のセグメントについては、S04の音声データから得られた音声素片が選択され、「ii-L」、「ii-R」のセグメントについては、S05の音声データから得られた音声素片が選択されているものとする。
 この場合、「v-L」、「v-R」、「ae-L」のセグメントに対しては、第1隣接素片と第2隣接素片が一致するので、音声素片選択部117によりS01の音声素片(最適素片)が選択される。また、「ii-R」のセグメントも、第1隣接素片と第2隣接素片が一致するので、音声素片選択部117によりS05の音声素片(最適素片)が選択される。
 一方、「ae-R」、「l-L」、「l-R」、「ii-L」のセグメントにおいては、第1隣接素片と第2隣接素片が一致せず、個数割当部116により第2個数が割り当てられ、音声素片選択部117により第2個数、すなわち3つの音声素片が選択される。コストによる順位付けの結果、例えば「ae-R」に対してはS01~S03の3つの「ae-R」の音声素片が選択される。「ae-R」、「l-L」、「l-R」、「ii-L」のセグメントにおいては、それぞれ選択された3つの音声素片の融合により融合素片が得られる。
 そして、接続部120により、「v-L」、「v-R」「ae-L」および「ii-R」のセグメントについては、最適素片から作成された音声素片が接続され、「ae-R」、「l-L」、「l-R」、「ii-L」のセグメントについては、融合素片が接続されて、音声波形が生成される。
 音声データ内で隣接している音声素片を合成に用いる場合、元の音声データで連続しているため、接続境界における不連続は生じない。このため、素片融合に用いる音声素片の個数を少なくしても不連続感は生じない。そこで、本実施の形態にかかる音声合成装置1においては、音声合成において、元の音声データ内で隣接している音声素片を隣接させる場合には、これらの音声素片を融合することなく用いることとした。これにより、不連続感のない音声を合成することができる。さらに、音声素片の融合を行っていないので、肉声感を高めることができる。
 その一方で、音声データ内で隣接していない音声素片を接続して合成する場合には、不連続感による音質劣化が問題となる。そこで、本実施の形態にかかる音声合成装置1においては、音声データ内で隣接していない音声素片を接続させる場合には、より多くの音声素片を融合して得られた融合素片を接続させることとした。これにより、平均的な音声素片に近い融合素片を接続することになるため、不連続による音質劣化を解消することができる。さらに、各セグメントに対して選ばれた複数の音声素片のうちの幾つかが連続していることがあり、これにより不連続感を減少させることができる。
 以上のように、第1の実施の形態にかかる音声合成装置1によれば、肉声感を向上させつつ、不連続感を解消した、高品質な合成音声を得ることができる。
 第2の実施の形態にかかる音声合成装置について説明する。第2の実施の形態にかかる音声合成装置は、音声素片だけでなく、音声素片の韻律情報に対しても、隣接する音声素片に応じて異なる処理を施す。図12に示すように、第2の実施の形態にかかる音声合成装置2の音声合成部24は、第1の実施の形態にかかる音声合成部14の構成に加えて、韻律情報作成部131と、韻律情報融合部132とを備えている。
 図13に示すように、音声素片記憶部130は、第1の実施の形態にかかる音声素片記憶部102に記憶されている情報に加えて、基本周波数系列情報およびフレーム数を音声素片IDに対応付けて記憶している。ここで、基本周波数系列情報は、所定の時間間隔ごとに算出された基本周波数情報やピッチマーク位置の基本周波数情報など、音声素片内の基本周波数情報の系列を示す情報である。さらに、基本周波数情報は、ピッチ、基本周波数、対数基本周波数などにより表される音の高さを表す情報である。なお、図13に示す例においては、フレーム周期を22msとし、対数基本周波数系列を示している。
 韻律情報作成部131は、音声素片選択部117により対象セグメントに対し、対象素片、すなわち1つの最適素片が選択された場合に、最適素片の韻律情報に基づいて、音声合成に用いる最適韻律情報を作成する。ここで、最適素片の韻律情報には、音声素片記憶部130において最適素片に対応付けられている韻律情報を用いる。音声素片作成部118は、韻律情報作成部131により作成された韻律情報に基づいて、音声素片を作成する。
 韻律情報融合部132は、音声素片選択部117により複数の音声素片が選択された場合に、音声素片記憶部130においてこれら複数の音声素片それぞれに対応付けられている韻律情報を融合し、融合韻律情報を得る。ここで、融合韻律情報は、融合継続長および融合基本周波数を含んでいる。韻律情報融合部132は、具体的には、複数の音声素片の音韻継続時間長を平均化することにより融合継続長を算出する。そして、得られた融合継続長に従い、基本周波数情報を平均化し、融合基本周波数を作成する。音声素片融合部119は、韻律情報融合部132により得られた融合韻律情報を用いて、融合素片を得る。接続部133は、前後の音声素片の基本周波数とのスムージング等の処理を行う。
 図14に示すように、音声合成処理においては、ステップS116において、音声素片選択部117が複数の音声素片を選択した後、韻律情報融合部132は、音声素片選択部117により選択された複数の音声素片それぞれの韻律情報に基づいて、融合韻律情報を作成する(ステップS130)。一方、ステップS120において、音声素片選択部117が最適素片を選択した後、韻律情報作成部131は、最適素片の韻律情報を用いて、音声合成に利用する、対象セグメントの韻律情報を作成する(ステップS132)。
 図15に示すように、韻律情報融合処理(ステップS130)においては、韻律情報融合部132は、複数の音声素片のフレーム数を平均化することにより融合継続長を計算する(ステップS300)。具体的には、韻律情報融合部132は、式(10)により継続時間長を平均化する。
Figure JPOXMLDOC01-appb-M000010
式(10)のTsyn はi番目のセグメントの音声合成に用いる音韻時間継続長であり、T は、音声素片選択部117により選択されたN個の音声素片のうちn番目の音声素片の音韻時間継続長を示している。すなわち、Nは融合数である。
 次に、韻律情報融合部132は、各音声素片の基本周波数のフレームをマッピングし、基本周波数系列のフレーム数を揃える(ステップS302)。次に、韻律情報融合部132は、各フレームの基本周波数を平均化することにより融合基本周波数系列を作成する(ステップS304)。ステップS302の基本周波数のマッピング処理およびステップS304の平均基本周波数の算出の処理は、式(11)により表わされる。
Figure JPOXMLDOC01-appb-M000011
式(11)のf syn(t)、f (t)は合成に用いる基本周波数と音声素片の基本周波数とを表し、ここでは線形に時間方向のマッピングを行っている。これらの処理により、融合韻律情報が作成される。
 図14に示す接続処理(ステップS134)においては、接続部133は、前後の音声素片の基本周波数とのスムージングや、アクセントの誤りを防止する処理など、基本周波数列の自然性を向上させる後処理を行う。
 接続処理(ステップS134)において、接続部133は、基本周波数の平滑化の処理等を行う。以下、平滑化について述べる。接続部133は、接続する音声素片の韻律情報が、韻律情報作成部131により作成された韻律情報と、韻律情報融合部132により得られた融合韻律情報である場合には、韻律情報作成部131により作成された韻律情報から徐々に融合韻律情報に変わるように平滑化を行うことができる。着目している対象セグメントにおいて融合韻律情報が用いられ、一つ前のセグメントに韻律情報作成部131により作成された韻律情報を利用している場合、対象セグメントの最適素片と、前側隣接素片とは元の音声データで連続しており、後側隣接素片とは連続していないものになる。この場合、式(12)と最適素片の基本周波数系列と式(11)の平均基本周波数系列との重みづけ和を求め、w(t)として0から1に単調増加する関数を用いることにより徐々に最適素片の基本周波数と平均基本周波数とを切り替えることができる。なお、w(t)は、w(t)=t/Tsyn によって求めることができる。
Figure JPOXMLDOC01-appb-M000012
 逆に、対象セグメントの最適素片と後ろ側隣接素片が連続していて、前側隣接素片が連続していない場合はw(t)として1から0に単調減少する関数を用いることで徐々に切り替えることができる。この場合は、例えばw(t)は、w(t)=1-t/Tsyn によって求めることができる。
 これらの処理により、韻律情報作成部131により作成された韻律情報から融合韻律情報に徐々に切り替わるため、合成音声の自然性を向上させることができる。
 図16のグラフには、「Fifty miles from previous destination.」というテキストデータに対して得られた基本周波数系列(in)と、接続部133による平滑化処理が施された後の基本周波数系列(syn)とが示されている。図17に示すグラフから、平滑化処理により、起伏の付いたより自然な基本周波数系列が生成されていることがわかる。
 他の例としては、接続処理(ステップS134)においては、さらにアクセントやイントネーションの知覚誤りが生じることのないように、基本周波数パターンを変形してもよい。パターンの変形としては例えば、知覚誤りを補正するオフセット値を算出し、得られたオフセット値を基本周波数列に加算してもよい。知覚誤りを補正するオフセット値は、例えば、入力韻律情報における前後の音節と着目している音声素片の含まれる音節との平均基本周波数の差から作成することができる。入力韻律情報の差の情報と音声素片から作成した最適韻律情報または融合韻律情報の差の情報との間で閾値処理を行うことにより判断することができる。
 ここで、「vally」というテキストデータが与えられた場合の具体的な音声合成処理について説明する。第1の実施の形態において説明したのと同様に、音声データ記憶部101には、図10に示すS01~S05を含むS01~S10の音声データが記憶され、音声素片記憶部130には、これらの音声素片が記憶されているものとする。図17の上段には、テキストデータに対する入力韻律情報が示されている。図17の中段には、音声素片記憶部130により抽出された音声素片に対応付けられている韻律情報が示されている。図17の下段には、韻律情報作成部131により作成された韻律情報または韻律情報融合部132により得られた融合韻律情報が示されている。
 図11において説明したのと同様に、テキストデータから得られたセグメントに対する最適素片選択において、「v-L」、「v-R」「ae-L」、「ae-R」のセグメントについては、S01の音声データから得られた音声素片が選択され、「l-L」、「l-R」のセグメントについては、S04の音声データから得られた音声素片が選択され、「ii-L」、「ii-R」のセグメントについては、S05の音声データから得られた音声素片が選択されているものとする。
 この場合、「v-L」、「v-R」「ae-L」のセグメントに対しては、最適素片の第1隣接素片と、第2隣接素片とが一致するので、S01の韻律情報から韻律情報が生成され、この韻律情報に基づいて、各セグメントの音声素片が得られる。
 一方、「ae-R」、「l-L」、「l-R」、「ii-L」のセグメントにおいては、最適素片の第1隣接素片と第2隣接素片とが一致せず、第2個数、すなわち3つの音声素片が選択される。コストによる順位付けの結果、例えば「ae-R」に対してはS01~S03の3つの「ae-R」の音声素片が選択される。「ae-R」、「l-L」、「l-R」、「ii-L」のセグメントにおいては、それぞれ選択された3つの音声素片の韻律情報の融合により融合韻律情報が得られる。そして、この融合韻律情報に基づいて、各セグメントの融合素片が得られる。
 なお、第2の実施の形態にかかる音声合成装置2のこれ以外の構成および処理は、第1の実施の形態にかかる音声合成装置1の構成および処理と同様である。
 このように、第2の実施の形態にかかる音声合成装置2においては、音声データ内で隣接している音声素片を合成に用いる場合には、最適素片に対応する音韻情報に基づいて音韻情報を作成し、この音韻情報に基づいて、音声合成に用いる音声素片を作成することとした。これにより、不連続感を低減させることができる。さらに、音声素片の融合を行わないので、肉声感を高めることができる。
 一方、音声データ内で隣接していない音声素片を接続して合成する場合には、より多くの音声素片を融合して得られた融合素片を接続させるだけでなく、各音声素片の音韻情報から融合音韻情報を得て、これに基づいて融合素片を得ることとした。これにより、平均的な音声素片に近い融合素片を接続することができるだけでなく、韻律変形の変化量を少なくすることができるので、不連続による音質劣化を解消することができる。
 以上のように、第2の実施の形態にかかる音声合成装置2によれば、肉声感を向上させつつ、不連続感を解消した、高品質な合成音声を得ることができる。
 第2の実施の形態にかかる音声合成装置2の第1の変更例としては、接続部133は、音声素片についても平滑化を行い、このとき、基本周波数の平滑化処理に用いた重み関数w(t)を利用することとしてもよい。この場合、f syn(t)、f (t)にかえて、図8に示す各ピッチマークに対応するピッチ波形を、最適音声素片と融合音声素片との間で重み付け和を求めることにより平滑化を行う。
 次に、第2の変更例について説明する。左側半音素と右側半音素との間で、融合数の切り替えや、不連続な融合韻律の接続などの影響により、音素内での急な基本周波数の変化が生じて、震えのある不自然な韻律になる場合がある。そこで、第2の変更例としては、この問題に対応するため、基本周波数の平滑化の処理において、有声音の中心で切り替わる場合(左音素・右音素の少なくともどちらかを融合する場合)に、音素中心の不連続を減少させるべく、左半音素・右半音素それぞれにオフセットを加え、滑らかに接続する処理を行ってもよい。この場合、融合基本周波数は、式(13)により作成される。
Figure JPOXMLDOC01-appb-M000013
式(13)のoffsetの値は、左半音素の終点および右半音素の始点の基本周波数の平均値を求め、得られた平均と、それぞれ左半音素の終点および右半音素の始点との差を用いることができる。すなわち、対象セグメントが左半音素の場合には式(14)、右半音素の場合には式(15)により算出することができる。
Figure JPOXMLDOC01-appb-M000014
Figure JPOXMLDOC01-appb-M000015
これにより合成単位として半音素などの音素内接続可能な単位を用いた場合に、音素中心で基本周波数系列が不連続になることを抑えることができる。
 第3の変更例としては、隣接するセグメントの韻律情報との間の平滑化を行ってもよい。たとえば端点において連続に接続されるように平滑化する場合は、式(16)により平滑化を行うことができる。
Figure JPOXMLDOC01-appb-M000016
pre(t)は前側隣接素片の終点の基本周波数との平滑化重みで、たとえば0.5から0に徐々に単調減少する関数を用いることができる。wpost(t)は、後側隣接素片の開始点との平滑化重みで0から0.5に単調増加する関数を用いることができる。たとえば対象セグメントの中心までを前側終点基本周波数と平滑化し、中心から後側始点基本周波数と平滑化する場合、式(17)および式(18)によりwpre(t)とwpost(t)を定めることができる。
Figure JPOXMLDOC01-appb-M000017
Figure JPOXMLDOC01-appb-M000018
 なお、式(16)による平滑化は、隣接する音声素片が連続している場合には行わなくてもよい。この場合は、wpre(t)およびwpost(t)のうち、連続している音声素片が用いられている側の重みを0とすることにより計算することができる。
 さらに、式(16)の平滑化は、基本周波数だけでなく、音声素片のピッチ波形に対して行ってもよい。その場合、f syn(t)ではなく、ピッチ波形を、隣接する音声素片の始点もしくは終点のピッチ波形との間で重み付け和を求めることにより平滑化される。
 また、第4の変更例としては、接続部133は、平滑化の方法として、スプライン平滑化など、他の方法によるスムージングを適用することとしてもよい。
 第3の実施の形態にかかる音声合成装置においては、韻律情報作成部131により作成された韻律情報または韻律情報融合部132により得られた融合韻律情報と、入力韻律情報のいずれを用いて音声素片を得るかを切り替えることができる。図18に示すように、第3の実施の形態にかかる音声合成装置3の音声合成部34は、韻律情報選択部140をさらに備えている。
 韻律情報選択部140は、音声素片から再生成した基本周波数の適切さを判断し、適切な場合は再生成した基本周波数列を用い、そうでない場合は入力基本周波数列を用いるように切り替える。韻律情報選択部140は、具体的には、音声素片のアクセント型、該当する音節のアクセント核からの距離、アクセント句内の位置などの言語的な情報、予め定めた適切な基本周波数の範囲、または前述した平均基本周波数の差の情報など、テキストデータから得られる情報に基づいて、韻律情報作成部131および韻律情報融合部132により得られた韻律情報と入力韻律情報のうちいずれか一方を選択する。音声素片作成部118は、韻律情報選択部140により選択された韻律情報を用いて音声素片を作成する。音声素片融合部119は、韻律情報選択部140により選択された韻律情報を用いて融合素片を得る。
 このように、第3の実施の形態にかかる音声合成装置3によれば、入力韻律情報と、韻律情報作成部131または韻律情報融合部132により得られた韻律情報のうちより自然な韻律情報を用いて音声合成を行うことができる。
 なお、第3の実施の形態にかかる音声合成装置3のこれ以外の構成および処理は、他の実施の形態にかかる音声合成装置の構成および処理と同様である。
 第3の実施の形態にかかる音声合成装置3の第1の変更例としては、韻律情報選択部140は、テキストデータのタグを参照し、タグに基づいて、韻律情報を選択してもよい。テキストデータに、入力韻律情報と韻律情報作成部131または韻律情報融合部132により得られる韻律情報のいずれを選択するかを示す情報と、その範囲を指定するタグを予め付与しておく。具体的には、テキスト入力部11に入力されるテキストデータには、「<UNITPROS>Fifty miles</UNITPROS> <INPROS>from previous</INPROS> <UNITPROS>destination</UNITPROS>.」の様にタグ情報が付与されている。そして、韻律情報選択部140は、<UNITPROS>から</UNITPROS>で囲まれた範囲については、韻律情報作成部131または韻律情報融合部132により得られた韻律情報を選択し、<INPROS>から</INPROS>で囲まれた範囲については、入力韻律情報を選択する。これにより、素片韻律が不自然になる個所を人手によりチェックし、入力韻律に切り替えることができるようになる。
 本実施の形態の音声合成装置は、CPUなどの制御装置と、ROM(Read Only Memory)やRAMなどの記憶装置と、HDD、CDドライブ装置などの外部記憶装置と、ディスプレイ装置などの表示装置と、キーボードやマウスなどの入力装置を備えており、通常のコンピュータを利用したハードウェア構成となっている。
 本実施形態の音声合成装置で実行される音声合成プログラムは、インストール可能な形式又は実行可能な形式のファイルでCD-ROM、フレキシブルディスク(FD)、CD-R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
 また、本実施形態の音声合成装置で実行される音声合成プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施形態の音声合成装置で実行される音声合成プログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
 また、本実施形態の音声合成プログラムを、ROM等に予め組み込んで提供するように構成してもよい。
 本実施の形態の音声合成装置で実行される音声合成プログラムは、上述した各部を含むモジュール構成となっており、実際のハードウェアとしてはCPU(プロセッサ)が上記記憶媒体から音声合成プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、各部が主記憶装置上に生成されるようになっている。
 なお、本発明は、上記実施の形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記実施の形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施の形態に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施の形態にわたる構成要素を適宜組み合わせても良い。
 1 音声合成装置
 11 テキスト入力部
 12 言語処理部
 13 韻律処理部
 14 音声合成部
 15 音声波形出力部
 101 音声データ記憶部
 102 音声素片記憶部
 111 分割部
 112 音声素片抽出部
 113 算出部
 114 最適素片選択部
 115 隣接判定部
 116 個数割当部
 117 音声素片選択部
 118 音声素片作成部
 119 音声素片融合部
 120 接続部

Claims (6)

  1.  音声データを所定の単位で分割して得た複数の音声素片と、当該音声素片の音韻系列と、当該音声素片に隣接する第1隣接素片を識別する識別情報を対応付けて記憶する記憶部と、
     入力されたテキストデータの音韻系列を前記音声素片と同一単位の複数のセグメントに分割する分割部と、
     前記記憶部において前記セグメントの音韻系列と同一の音韻系列に対応付けられている、複数の前記音声素片を抽出する音声素片抽出部と、
     前記テキストデータとともに入力された、前記セグメントの入力韻律情報に基づいて定まる目標音声と、前記複数の音声素片それぞれから合成された音声の間の歪みの度合いを示すコストを、前記セグメントの前記韻律情報に基づいて算出する算出部と、
     前記複数の音声素片の中から、前記コストが最小となる最適素片を選択する最適素片選択部と、
     前記テキストデータの前記音韻系列に含まれる複数のセグメントそれぞれに対して得られた前記最適素片の配列である最適素片系列に含まれる前記最適素片のうち処理対象となる対象セグメントに対して選択された最適素片である対象素片に隣接する第2隣接素片と、前記記憶部において前記対象素片に対応付けられている前記第1隣接素片とが一致するか否かを判定する隣接判定部と、
     前記第1隣接素片と第2隣接素片とが一致する場合に、前記対象セグメントに対し第1個数を割り当て、前記第1隣接素片と前記第2隣接素片とが一致しない場合に、前記対象セグメントに対し前記第1個数に比べて多い第2個数を割り当てる個数割当部と、
     割り当てられた個数が複数である場合に、前記対象セグメントに対し前記音声素片抽出部により抽出された複数の音声素片から、前記個数の音声素片を選択し、前記個数が1である場合に、前記対象セグメントに対し、前記最適素片選択部により選択された前記最適素片を選択する音声素片選択部と、
     複数の前記音声素片が選択された場合に、当該複数の音声素片を融合し融合素片を得る音声素片融合部と、
     前記対象セグメントに対し前記割り当てられた個数が複数の場合には融合素片、前記割り当てられた個数が1の場合には前記最適素片を接続し、音声波形を生成する接続部と
    を備えたことを特徴とする音声合成装置。
  2.  前記個数割当部は、前記第1個数として1を割り当て、
     前記個数が1である場合に、前記対象セグメントに対して選択された前記最適素片の音声波形に基づいて、前記接続部により利用される音声素片を作成する音声素片作成部をさらに備え、
     前記接続部は、前記割り当てられた個数が1である場合には、前記音声素片作成部により作成された前記音声素片を接続し、前記音声波形を生成することを特徴とする請求項1に記載の音声合成装置。
  3.  前記記憶部は、前記音声データの基本周波数情報または継続長情報のうち少なくとも一方を含む、前記音声素片の韻律情報を前記識別情報に対応付けてさらに記憶し、
     前記割り当てられた個数が複数の場合には、前記記憶部において当該複数の音声素片それぞれに対応付けられている前記韻律情報を融合し融合韻律情報を得る韻律情報融合部と
    をさらに備え、
     前記音声素片融合部は、前記融合韻律情報に基づいて前記融合素片を得ることを特徴とする請求項1に記載の音声合成装置。
  4.  前記記憶部は、前記音声素片の韻律情報を前記識別情報に対応付けてさらに記憶し、
     前記個数割当部により割り当てられた個数が1である場合に、前記対象セグメントに対して前記音声素片選択部により選択された前記最適素片の前記韻律情報に基づいて韻律情報を作成する韻律情報作成部をさらに備え、
     前記音声素片作成部は、前記韻律情報作成部により作成された前記韻律情報に基づいて、前記音声素片を作成することを特徴とする請求項1に記載の音声合成装置。
  5.  前記入力韻律情報を用いるか、前記韻律情報融合部もしくは前記韻律情報作成部で作成した作成韻律情報を用いるかを選択する韻律選択情報をさらに入力し、前記韻律情報作成部または前記韻律情報融合部により得られた前記韻律情報と、前記入力韻律情報のいずれか一方を選択する韻律情報選択部をさらに備え、
     前記音声素片作成部は、前記韻律情報選択部により選択された韻律情報から音声素片を作成し、または前記音声素片融合部は、前記韻律情報選択部により選択された韻律情報から融合音声素片を作成し、
     前記接続部は、得られた前記音声素片または前記融合音声素片を接続し、音声波形を生成することを特徴とする請求項3または請求項4に記載の音声合成装置。
  6.  コンピュータに音声合成処理を実行させるためのプログラムであって、
     前記コンピュータは、
     音声データを所定の単位で分割して得た複数の音声素片と、当該音声素片の音韻系列と、当該音声素片に隣接する第1隣接素片を識別する識別情報を対応付けて記憶する記憶部を備え、
     前記コンピュータを、
     入力されたテキストデータの音韻系列を前記音声素片と同一単位の複数のセグメントに分割する分割部と、
     前記記憶部において前記セグメントの音韻系列と同一の音韻系列に対応付けられている、複数の前記音声素片を抽出する音声素片抽出部と、
     前記テキストデータとともに入力された、前記セグメントの入力韻律情報に基づいて定まる目標音声と、前記複数の音声素片それぞれから合成された音声の間の歪みの度合いを示すコストを、前記セグメントの前記韻律情報に基づいて算出する算出部と、
     前記複数の音声素片の中から、前記コストが最小となる最適素片を選択する最適素片選択部と、
     前記テキストデータの前記音韻系列に含まれる複数のセグメントそれぞれに対して得られた前記最適素片の配列である最適素片系列に含まれる前記最適素片のうち処理対象となる対象セグメントに対して選択された最適素片である対象素片に隣接する第2隣接素片と、前記記憶部において前記対象素片に対応付けられている前記第1隣接素片とが一致するか否かを判定する隣接判定部と、
     前記第1隣接素片と第2隣接素片とが一致する場合に、前記対象セグメントに対し第1個数を割り当て、前記第1隣接素片と前記第2隣接素片とが一致しない場合に、前記対象セグメントに対し前記第1個数に比べて多い第2個数を割り当てる個数割当部と、
     割り当てられた個数が複数である場合に、前記対象セグメントに対し前記音声素片抽出部により抽出された複数の音声素片から、前記個数の音声素片を選択し、前記個数が1である場合に、前記対象セグメントに対し、前記最適素片選択部により選択された前記最適素片を選択する音声素片選択部と、
     複数の前記音声素片が選択された場合に、当該複数の音声素片を融合し融合素片を得る音声素片融合部と、
     前記対象セグメントに対し前記割り当てられた個数が複数の場合には融合素片、前記割り当てられた個数が1の場合には前記最適素片を接続し、音声波形を生成する接続部と
    して機能させるためのプログラム。
PCT/JP2009/065838 2009-09-10 2009-09-10 音声合成装置およびプログラム WO2011030424A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011530679A JP5275470B2 (ja) 2009-09-10 2009-09-10 音声合成装置およびプログラム
PCT/JP2009/065838 WO2011030424A1 (ja) 2009-09-10 2009-09-10 音声合成装置およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2009/065838 WO2011030424A1 (ja) 2009-09-10 2009-09-10 音声合成装置およびプログラム

Publications (1)

Publication Number Publication Date
WO2011030424A1 true WO2011030424A1 (ja) 2011-03-17

Family

ID=43732111

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2009/065838 WO2011030424A1 (ja) 2009-09-10 2009-09-10 音声合成装置およびプログラム

Country Status (2)

Country Link
JP (1) JP5275470B2 (ja)
WO (1) WO2011030424A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112562635A (zh) * 2020-12-03 2021-03-26 云知声智能科技股份有限公司 解决语音合成中拼接处产生脉冲信号的方法、装置及系统
CN113763931A (zh) * 2021-05-07 2021-12-07 腾讯科技(深圳)有限公司 波形特征提取方法、装置、计算机设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003208188A (ja) * 2002-01-15 2003-07-25 Advanced Telecommunication Research Institute International 日本語テキスト音声合成方法
JP2006084854A (ja) * 2004-09-16 2006-03-30 Toshiba Corp 音声合成装置、音声合成方法および音声合成プログラム
JP2006276522A (ja) * 2005-03-29 2006-10-12 Toshiba Corp 音声合成装置及びその方法
JP2008033133A (ja) * 2006-07-31 2008-02-14 Toshiba Corp 音声合成装置、音声合成方法および音声合成プログラム
JP4274852B2 (ja) * 2003-05-20 2009-06-10 日本電信電話株式会社 音声合成方法及びその装置並びにそのコンピュータプログラム及びそれを記憶した情報記憶媒体
JP2009133890A (ja) * 2007-11-28 2009-06-18 Toshiba Corp 音声合成装置及びその方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003208188A (ja) * 2002-01-15 2003-07-25 Advanced Telecommunication Research Institute International 日本語テキスト音声合成方法
JP4274852B2 (ja) * 2003-05-20 2009-06-10 日本電信電話株式会社 音声合成方法及びその装置並びにそのコンピュータプログラム及びそれを記憶した情報記憶媒体
JP2006084854A (ja) * 2004-09-16 2006-03-30 Toshiba Corp 音声合成装置、音声合成方法および音声合成プログラム
JP2006276522A (ja) * 2005-03-29 2006-10-12 Toshiba Corp 音声合成装置及びその方法
JP2008033133A (ja) * 2006-07-31 2008-02-14 Toshiba Corp 音声合成装置、音声合成方法および音声合成プログラム
JP2009133890A (ja) * 2007-11-28 2009-06-18 Toshiba Corp 音声合成装置及びその方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112562635A (zh) * 2020-12-03 2021-03-26 云知声智能科技股份有限公司 解决语音合成中拼接处产生脉冲信号的方法、装置及系统
CN112562635B (zh) * 2020-12-03 2024-04-09 云知声智能科技股份有限公司 解决语音合成中拼接处产生脉冲信号的方法、装置及系统
CN113763931A (zh) * 2021-05-07 2021-12-07 腾讯科技(深圳)有限公司 波形特征提取方法、装置、计算机设备及存储介质
CN113763931B (zh) * 2021-05-07 2023-06-16 腾讯科技(深圳)有限公司 波形特征提取方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
JP5275470B2 (ja) 2013-08-28
JPWO2011030424A1 (ja) 2013-02-04

Similar Documents

Publication Publication Date Title
JP4551803B2 (ja) 音声合成装置及びそのプログラム
JP3910628B2 (ja) 音声合成装置、音声合成方法およびプログラム
JP2008033133A (ja) 音声合成装置、音声合成方法および音声合成プログラム
JPH10116089A (ja) 音声合成用の基本周波数テンプレートを収容する韻律データベース
JP4406440B2 (ja) 音声合成装置、音声合成方法及びプログラム
JPH10153998A (ja) 補助情報利用型音声合成方法、この方法を実施する手順を記録した記録媒体、およびこの方法を実施する装置
JPWO2005109399A1 (ja) 音声合成装置および方法
JP2010049196A (ja) 声質変換装置及び方法、音声合成装置及び方法
JP2005164749A (ja) 音声合成方法、音声合成装置および音声合成プログラム
US8626510B2 (en) Speech synthesizing device, computer program product, and method
JP2011186143A (ja) ユーザ挙動を学習する音声合成装置、音声合成方法およびそのためのプログラム
JP6669081B2 (ja) 音声処理装置、音声処理方法、およびプログラム
JP6013104B2 (ja) 音声合成方法、装置、及びプログラム
JP6330069B2 (ja) 統計的パラメトリック音声合成のためのマルチストリームスペクトル表現
JP5275470B2 (ja) 音声合成装置およびプログラム
JP4532862B2 (ja) 音声合成方法、音声合成装置および音声合成プログラム
JP5819147B2 (ja) 音声合成装置、音声合成方法およびプログラム
JP2009133890A (ja) 音声合成装置及びその方法
JP3346671B2 (ja) 音声素片選択方法および音声合成装置
JP5874639B2 (ja) 音声合成装置、音声合成方法及び音声合成プログラム
JP4829605B2 (ja) 音声合成装置および音声合成プログラム
JP4476855B2 (ja) 音声合成装置及びその方法
JP2010008922A (ja) 音声処理装置、音声処理方法及びプログラム
JP2003208188A (ja) 日本語テキスト音声合成方法
EP1589524B1 (en) Method and device for speech synthesis

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09849204

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2011530679

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09849204

Country of ref document: EP

Kind code of ref document: A1