Speech synthesis apparatus and method
11170755 · 2021-11-09
Assignee
Inventors
Cpc classification
International classification
G10L13/06
PHYSICS
Abstract
The present disclosure relates to a speech synthesis apparatus and method that can remove discontinuity between phoneme units when generating a synthesized sound from the phoneme units, thereby implementing natural utterances and producing a high-quality synthesized sound having stable prosody.
Claims
1. A speech synthesis apparatus comprising: a phoneme database storing a plurality of phoneme units including one or more candidate units per phoneme; a prosody processor analyzing prosody information on an inputted text and thereby predicting a target prosody parameter of a target phoneme unit; a unit selector selecting a specific phoneme unit from among the one or more candidate units per phoneme stored in the phoneme database, based on the prosody information analyzed by the prosody processor; a prosody adjuster adjusting a prosody parameter of the specific phoneme unit selected by the unit selector to be the target prosody parameter of the target phoneme unit predicted by the prosody processor; and a speech synthesizer generating a synthesized sound by removing discontinuity between the specific phoneme units each having the prosody parameter adjusted by the prosody adjuster, wherein the speech synthesizer identifies a prosody parameter of a last frame of a previous phoneme unit and a prosody parameter of a start frame of a next phoneme unit from among the specific phoneme units having the prosody parameters adjusted by the prosody adjuster, calculates an average value of the identified prosody parameters, and removes the discontinuity by applying the calculated average value to each of the last frame and the start frame or by applying the calculated average value to a frame produced by overlapping the last frame and the start frame.
2. The apparatus of claim 1, wherein the plurality of phoneme units stored in the phoneme database are constructed in a form of voice waveforms or in a form of parameter sets.
3. The apparatus of claim 1, wherein the prosody parameter includes at least one of a fundamental frequency, an energy, or a signal duration.
4. The apparatus of claim 1, wherein the prosody adjuster adjusts a signal duration of the selected phoneme unit to be a signal duration of the target phoneme unit, and then adjusts a fundamental frequency and energy of the selected phoneme unit to be a fundamental frequency and energy of the target phoneme unit, respectively.
5. The apparatus of claim 4, wherein the prosody adjuster copies or deletes at least one of a plurality of frames constituting the selected phoneme unit such that the signal duration of the selected phoneme unit is the signal duration of the target phoneme unit.
6. The apparatus of claim 4, wherein the prosody adjuster converts frame indexes of the selected phoneme unit into new frame indexes by using Equation below, and
7. A speech synthesis method performed by a speech synthesis apparatus including a phoneme database storing a plurality of phoneme units including one or more candidate units per phoneme, the method comprising: analyzing prosody information on an inputted text to thereby predict a target prosody parameter of a target phoneme unit; selecting a specific phoneme unit from among the one or more candidate units per phoneme stored in the phoneme database, based on the analyzed prosody information; adjusting a prosody parameter of the selected specific phoneme unit to be the target prosody parameter of the target phoneme unit; and generating a synthesized sound by removing discontinuity between the specific phoneme units each having the adjusted prosody parameter, wherein the generating includes: identifying a prosody parameter of a last frame of a previous phoneme unit and a prosody parameter of a start frame of a next phoneme unit from among the specific phoneme units having the adjusted prosody parameters; calculating an average value of the identified prosody parameters; and removing the discontinuity by applying the calculated average value to each of the last frame and the start frame or by applying the calculated average value to a frame produced by overlapping the last frame and the start frame.
8. The method of claim 7, wherein the adjusting includes: adjusting a signal duration of the selected phoneme unit to be a signal duration of the target phoneme unit; and then adjusting a fundamental frequency and energy of the selected phoneme unit to be a fundamental frequency and energy of the target phoneme unit, respectively.
9. The method of claim 8, wherein the adjusting includes: copying or deleting at least one of a plurality of frames constituting the selected phoneme unit such that the signal duration of the selected phoneme unit is the signal duration of the target phoneme unit.
10. The method of claim 8, wherein the adjusting includes: converting frame indexes of the selected phoneme unit into new frame indexes by using Equation below, and
11. A non-transitory computer-readable recording medium storing a program for executing a speech synthesis method performed by a speech synthesis apparatus including a phoneme database storing a plurality of phoneme units including one or more candidate units per phoneme, the method comprising: analyzing prosody information on an inputted text to thereby predict a target prosody parameter of a target phoneme unit; selecting a specific phoneme unit from among the one or more candidate units per phoneme stored in the phoneme database, based on the analyzed prosody information; adjusting a prosody parameter of the selected specific phoneme unit to be the target prosody parameter of the target phoneme unit; and generating a synthesized sound by removing discontinuity between the specific phoneme units each having the adjusted prosody parameter, wherein the generating includes: identifying a prosody parameter of a last frame of a previous phoneme unit and a prosody parameter of a start frame of a next phoneme unit from among the specific phoneme units having the adjusted prosody parameters; calculating an average value of the identified prosody parameters; and removing the discontinuity by applying the calculated average value to each of the last frame and the start frame or by applying the calculated average value to a frame produced by overlapping the last frame and the start frame.
Description
DESCRIPTION OF DRAWINGS
(1)
(2)
(3)
(4)
(5)
DETAILED DESCRIPTION
(6) Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings.
(7) The present disclosure may be embodied in various forms and should not be construed as being limited to the embodiments disclosed herein. The disclosed embodiments are provided to fully convey the scope of the present disclosure to those skilled in the art. The principles and features of the disclosure may be applied in a wide variety of embodiments without departing from the scope of the disclosure.
(8) In addition, in describing the embodiments, techniques that are well known in the technical field to which the present disclosure pertains or are not directly related to the present disclosure may not be described or illustrated in detail to avoid obscuring the subject matter of the present disclosure. Like reference numerals refer to like or corresponding elements throughout the accompanying drawings.
(9) Also, the terms used herein are only for describing particular embodiments of this disclosure and do not limit such embodiments. Singular forms are intended to include plural forms unless the context clearly indicates otherwise. The terms “comprise”, “include”, “have” and the like used herein are intended to merely indicate that the features, numbers, steps, operations, components, parts, or combinations thereof described herein are present, and not intended to exclude any possibility that other non-described features, numbers, steps, operations, components, parts, or combinations thereof may be present or added.
(10) At the outset, the concept of a speech synthesis process will be described with reference to
(11) As shown in
(12) In particular, the speech synthesis apparatus 100 analyzes prosody information on an inputted text to predict a target prosody parameter of a target phoneme unit, selects a specific phoneme unit from among one or more candidate units per phoneme stored in a phoneme database, based on the analyzed prosody information, adjusts a prosody parameter of the selected specific phoneme unit to be the target prosody parameter of the target phoneme unit, and generates a synthesized sound by removing discontinuity between the specific phoneme units with the prosody parameter adjusted.
(13) The speech synthesis apparatus 100 may be applied to an automatic response service (ARS) system for various financial services such as banks, securities, insurance, and cards, and also applied to various services that read a designated text and offer it to the user in the form of voice, such as a voice portal service guiding web pages by voice, an integrated messaging system supporting a voice message transmission function, and an educational voice solution system.
(14) In addition, the speech synthesis apparatus 100 may be combined with a speech recognition apparatus (not shown) to construct a speech system. In this case, when the speech recognition apparatus (not shown) recognizes a user's speech and constructs a response text, the speech synthesis apparatus 100 may output the response text in the form of a synthesized sound. A representative example of such a voice system is an artificial intelligence speaker.
(15) Besides, the speech synthesis apparatus 100 may be employed in various services that support an output of a synthesis sound, while being equipped in a user terminal (not shown) or implemented in the form of a server. When implemented in the form of a server, it may also support a process of providing the synthesis sound to the user terminal (not shown) via a communication network (not shown).
(16) Now, elements and operations of the speech synthesis apparatus 100 according to an embodiment of the present disclosure will be described in detail.
(17)
(18) Referring to
(19) The phoneme database 160 stores a plurality of phoneme units. The phoneme units include one or more candidate units per phoneme. The plurality of phoneme units stored in the phoneme database 160 may be constructed in the form of voice waveforms or in the form of parameter sets.
(20) When any sentence is inputted in the form of text, the linguistic processor 110 performs language analysis and processing on the inputted text. Specifically, the linguistic processor 110 performs syntax analysis and morpheme analysis on the inputted text and thereby obtains information on a sentence structure and a sentence type. In addition, the linguistic processor 110 translates a letter of a language other than a specific language, contained in the sentence, into a letter of the specific language, and also predicts an actual pronunciation of the inputted text. The output of the linguistic processor 110 is used as an input of the prosody processor 120.
(21) The prosody processor 120 analyzes and processes prosody information on the text inputted through the linguistic processor 110. Specifically, the prosody processor 120 may analyze the prosody information such as intonation and accent according to the sentence structure and type, such as determining a part to be read with a pause in a sentence, a part to be read strongly, and a tone of a sentence ending. In addition, the prosody processor 120 determines a target phoneme unit predicted based on the analyzed prosody information, and predicts a prosody parameter (i.e., a target prosody parameter) of the determined target phoneme unit. The prosody parameter may be a fundamental frequency (or pitch period), an energy, a signal duration, and/or the like.
(22) The unit selector 130 selects a specific phoneme unit from among one or more candidate units per phoneme stored in the phoneme database 160, based on the prosody information analyzed by the prosody processor 120. That is, the phoneme database 160 may store several candidate units for each phoneme, and the unit selector 130 selects, based on the analyzed prosody information, a suitable phoneme unit from among the stored candidate units for each phoneme.
(23) The prosody adjuster 140 adjusts a prosody parameter of the specific phoneme unit selected by the unit selector 130 to be the target prosody parameter of the target phoneme unit predicted by the prosody processor 120. As mentioned above, the prosody parameter is a fundamental frequency, an energy, a signal duration, and/or the like. In particular, the prosody adjuster 140 may adjust the signal duration of the selected phoneme unit to be the signal duration of the target phoneme unit, and then adjust the fundamental frequency and energy of the selected phoneme unit to be the fundamental frequency and energy of the target phoneme unit, respectively.
(24) Thereafter, the speech synthesizer 150 generates a synthesized sound by synthesizing the phoneme units the prosody parameters of which are adjusted by the prosody adjuster 140. In particular, the speech synthesizer 150 may generate a high-quality synthesized sound by removing discontinuity between the phoneme units.
(25) As described above, the plurality of phoneme units stored in the phoneme database 160 may be constructed in the form of voice waveforms or in the form of parameter sets. Hereinafter, a case where the phoneme units are constructed and stored in the form of voice waveforms will be described as a first embodiment, and a case where the phoneme units are constructed and stored in the form of parameter sets will be described as a second embodiment.
(26) First, a speech synthesis method of the speech synthesis apparatus 100 according to the first embodiment of the present disclosure will be described with reference to
(27) As shown in
(28) As described above with reference to
(29) Now, this process will be described in more detail.
(30) In
(31) In
(32) The prosody adjuster 140 performs a process of changing prosody parameters such that the voice-waveform phoneme unit extracted by the unit selector 130 becomes the target phoneme unit corresponding to prosody information extracted based on an inputted text. In this process, the prosody adjuster 140 first adjusts the signal duration and then adjusts the fundamental frequency and energy, respectively. For example, when the signal duration (D) of the phoneme unit extracted by the unit selector 130 is 20 ms and when the signal duration (D′) of the target phoneme unit is 30 ms, the signal duration (D) of the extracted phoneme unit is adjusted from 20 ms to 30 ms. Adjusting the signal duration may be performed through frame copy or deletion. In the example of
(33) After adjusting the prosody parameters, the speech synthesizer 150 generates a synthesized sound by removing discontinuity between the phoneme units.
(34) In
(35) As shown in (b) of
(36) In order to solve this problem, as shown in (c) of
(37) Alternatively, as shown in (d) of
(38) Through these steps, a more natural synthesized sound can be generated.
(39) Next, a speech synthesis method of the speech synthesis apparatus 100 according to the second embodiment of the present disclosure will be described with reference to
(40) Referring to
(41) Specifically, as shown in
(42) As described above with reference to
(43) Now, this process will be described in more detail.
(44) In
(45) In addition, (a) of
(46) The prosody adjuster 140 adjusts the signal duration of the extracted phoneme unit to match the signal duration of the target phoneme unit. That is, because the signal duration of the extracted phoneme unit is 40 ms and the signal duration of the target phoneme unit is 50 ms in the above-described example, the signal duration may be adjusted by copying two frames corresponding to 10 ms.
(47) To this end, the prosody adjuster 140 converts the frame indexes of the extracted phoneme unit into new frame indexes by using Equation 1 below.
(48)
(49) In Equation 1, ‘M’ denotes the total number of frames of the target phoneme unit, and ‘N’ denotes the total number of frames of the extracted phoneme unit. Also, ‘i’ denotes a frame index of the extracted phoneme unit, and ‘r’ denotes a rounding-off operation.
(50) As shown in (b) of
(51) Therefore, as shown in (c) of
(52)
(53) As shown in (a) of
(54) Applying the above-mentioned Equation 1, the frame indexes 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 of the extracted phoneme unit are converted into new frame indexes 0, 1, 3, 4, 5, 6, 8, and 9 as shown in (b) of
(55) Therefore, as shown in (c) of
(56) Thereafter, the speech synthesizer 150 generates a synthesized sound by removing discontinuity between phoneme units with prosody parameters adjusted. Now, this will be described with reference to
(57) As shown in (a) of
(58) In a first case, as shown in (b) of
(59) In a second case, as shown in (c) of
(60) The above-described operations of the speech synthesis apparatus 100 may be implemented or controlled by one or more processors equipped in the speech synthesis apparatus 100. This processor may be a single-threaded processor or a multi-threaded processor. In addition, the processor is capable of processing instructions stored in a memory or any other storage device.
(61) Now, a speech synthesis method according to an embodiment of the present disclosure will be described with reference to
(62) First, when any text is inputted, the speech synthesis apparatus 100 performs language analysis and processing on the inputted text at step S10.
(63) For example, the speech synthesis apparatus 100 may perform syntax analysis and morpheme analysis on the inputted text and thereby obtain information on a sentence structure and a sentence type. In addition, the speech synthesis apparatus 100 may translate a letter of a language other than a specific language, contained in the sentence, into a letter of the specific language, and also predict an actual pronunciation of the inputted text.
(64) Next, at step S30, the speech synthesis apparatus 100 analyzes and processes prosody information on the inputted text. For example, the speech synthesis apparatus 100 may analyze the prosody information such as intonation and accent according to the sentence structure and type, such as determining a part to be read with a pause in a sentence, a part to be read strongly, and a tone of a sentence ending. In addition, the speech synthesis apparatus 100 may determine a target phoneme unit predicted based on the analyzed prosody information, and predict a prosody parameter (i.e., a target prosody parameter) of the determined target phoneme unit.
(65) Next, at step S50, the speech synthesis apparatus 100 selects a specific phoneme unit from among one or more candidate units per phoneme stored in the phoneme database 160, based on the analyzed prosody information. That is, the phoneme database 160 of the speech synthesis apparatus 100 may store several candidate units for each phoneme, and the speech synthesis apparatus 100 may select (i.e., extract), based on the analyzed prosody information, a suitable phoneme unit from among the stored candidate units for each phoneme.
(66) Next, at step S70, the speech synthesis apparatus 100 adjusts a prosody of the selected specific phoneme unit. That is, the speech synthesis apparatus 100 adjusts a prosody parameter of the specific phoneme unit selected at the step S50 to be the target prosody parameter of the target phoneme unit predicted at the step S30. As mentioned above, the prosody parameter is a fundamental frequency, an energy, a signal duration, and/or the like. In particular, the speech synthesis apparatus 100 may adjust the signal duration of the selected phoneme unit to be the signal duration of the target phoneme unit, and then adjust the fundamental frequency and energy of the selected phoneme unit to be the fundamental frequency and energy of the target phoneme unit, respectively.
(67) Next, at step S90, the speech synthesis apparatus 100 generates a synthesized sound by synthesizing the phoneme units having the prosody parameters adjusted at the step S70. In particular, at this step, the speech synthesis apparatus 100 generates a high-quality synthesized sound by removing discontinuity between the phoneme units. Specifically, the speech synthesis apparatus 100 may identify the prosody parameters in each of the last frame of the previous phoneme unit and the start frame of the next phoneme unit from among the specific phoneme units having the adjusted prosody parameters, calculate an average value of the identified prosody parameters, and then apply the calculated average value to each of the last frame of the previous phoneme unit and the start frame of the next phoneme unit in order to remove the discontinuity. Alternatively, the calculated average value may be applied to a frame produced by overlapping the last frame of the previous phoneme unit and the start frame of the next phoneme unit.
(68) Thereafter, at step S110, the speech synthesis apparatus 100 outputs the generated synthesized sound. When the speech synthesis apparatus 100 is implemented in the form of a module in a user terminal such as a smart phone, the speech synthesis apparatus 100 may transmit the synthesized sound to a speaker of the user terminal to output the synthesized sound through the speaker. When the speech synthesis apparatus 100 is implemented in a server, the speech synthesis apparatus 100 may transmit the synthesized sound to the user terminal through a communication network.
(69) Hereinbefore, the speech synthesis apparatus and method according to embodiments of the present disclosure have been described.
(70) The speech synthesis method according to embodiments of the present disclosure can be executed by a program recorded on a non-transitory computer-readable recording medium.
(71) The non-transitory computer-readable recording medium may include program instructions, data files, data structures, etc. alone or in combination, and includes all kinds of recording devices in which data that can be read by a computer system is stored. The computer-readable recording medium includes magnetic media such as a hard disk, a floppy disk, and a magnetic tape, optical media such as a compact disc read only memory (CD-ROM) and a digital versatile disc (DVD), magneto-optical media such as a floptical disk, and semiconductor memories such as a read only memory (ROM), a random access memory (RAM), and a flash memory.
(72) Further, the computer-readable recording medium may be distributed over networked computer systems so that computer-readable code can be stored and executed in a distributed fashion. In addition, functional programs, associated codes, and code segments for implementing the present disclosure may be easily deduced or altered by programmers in the art to which the present disclosure belongs.
(73) Embodiments of the present disclosure disclosed in the specification and the drawings are only specific examples to easily explain the technical contents of the present disclosure and aid the understanding of the present disclosure, and are not intended to limit the scope of the present disclosure. It will be apparent to those skilled in the art that other modifications based on the technical idea of the present disclosure can be carried out in addition to the embodiments disclosed herein.
(74) The present disclosure relates to the speech synthesis apparatus and method for outputting a text input as a speech. The speech synthesis apparatus and method can realize natural utterances by removing discontinuity between phoneme units when generating a synthesized sound from phoneme units, and also can generate a high-quality synthesized sound having a stable prosody. The speech synthesis apparatus and method according to the present disclosure can remove discontinuity between phoneme units, which is a problem of the typical USS method, and also can generate a more stable and high-quality synthesized sound than the typical SPS method. Therefore, speech synthesis technique according to the present disclosure has sufficient industrial applicability.