WO2001080222A1 - Procede et dispositif de reconnaissance vocale, procede et dispositif de synthese vocale, support d'enregistrement - Google Patents

Procede et dispositif de reconnaissance vocale, procede et dispositif de synthese vocale, support d'enregistrement Download PDF

Info

Publication number
WO2001080222A1
WO2001080222A1 PCT/JP2001/003079 JP0103079W WO0180222A1 WO 2001080222 A1 WO2001080222 A1 WO 2001080222A1 JP 0103079 W JP0103079 W JP 0103079W WO 0180222 A1 WO0180222 A1 WO 0180222A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
value
timing
amplitude
correlation
Prior art date
Application number
PCT/JP2001/003079
Other languages
English (en)
French (fr)
Inventor
Yukio Koyanagi
Original Assignee
Sakai, Yasue
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 Sakai, Yasue filed Critical Sakai, Yasue
Priority to EP01919863A priority Critical patent/EP1288912A4/en
Publication of WO2001080222A1 publication Critical patent/WO2001080222A1/ja

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01LMEASURING FORCE, STRESS, TORQUE, WORK, MECHANICAL POWER, MECHANICAL EFFICIENCY, OR FLUID PRESSURE
    • G01L13/00Devices or apparatus for measuring differences of two or more fluid pressure values
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/02Feature extraction for speech recognition; Selection of recognition unit
    • 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/02Methods for producing synthetic speech; Speech synthesisers

Definitions

  • the present invention relates to a speech recognition method and apparatus, a speech synthesis method and apparatus, and a recording medium storing a program for realizing these functions by software. This is related to speech synthesis technology that produces speech from data. Background art
  • voice recognition voice processing interface in which a computer recognizes a voice generated by a human and automatically processes the voice.
  • speech recognition technologies from word speech recognition that recognizes numbers and words to continuous speech recognition that understands meaning and content.
  • speaker identification technology for identifying who generated the voice is also included in the speech recognition technology in a broad sense.
  • speech synthesis technology for synthesizing and outputting speech from data such as text has been developed.
  • text-to-speech synthesis by analyzing the text data of words composed of various characters such as kanji and English characters, it is possible to provide accents and intonations based on pre-set rules. , Synthesize voice.
  • current speech recognition technology cannot recognize every uttered speech, and there is a limit to the degree of recognition. In other words, the same word may have different voices depending on the speaker, and the recognition accuracy may differ depending on the speaker. Also, as the number of vocabularies and speakers to be recognized increase, the ease of Nada of speech recognition will further increase.
  • the generated synthesized sound has not yet escaped the range of the mechanical sound, and it has been an issue to improve the quality of the synthesized sound to obtain a synthesized sound closer to the real human voice. .
  • the voice recognition method of the present invention differentiates an input voice signal, detects a point at which the differential value satisfies a predetermined condition as a sample point, and calculates a discrete amplitude data between each detected sample point and each sample point. Timing data representing a time interval is obtained, correlation data is generated using the amplitude data and the timing data, and the correlation data thus generated and correlations previously generated and accumulated for various sounds in the same manner.
  • the input speech is recognized by comparing it with data.
  • the input audio signal may be oversampled, and the oversampled data may be sampled at a time interval at a point where the differential value satisfies a predetermined condition.
  • the speech recognition device of the present invention is obtained by A / D conversion means for AZD converting an input speech signal, differentiation means for differentiating digital data output from the A / D conversion means, and the differentiation means.
  • Data generating means for detecting a point at which the differentiated value satisfies a predetermined condition as a sampling point, and generating amplitude data at each detected sampling point and timing data representing a time interval between each sampling point;
  • a correlation calculating means for generating correlation data using the amplitude data and the timing data generated by the data generating means; a correlation data generated by the correlation calculating means; It is provided with a data collating means for recognizing the input voice by collating the correlation data stored in the recording medium.
  • the correlation calculation means may perform a process of rounding the lower several bits of the correlation data.
  • oversampling means for performing oversampling of the digital data output from the AZD conversion means using a clock having an even-numbered frequency, wherein the differential value of the oversampled data is a predetermined value.
  • sampling may be performed at time intervals of points that satisfy.
  • the voice synthesis method is characterized in that amplitude data and sample points at data points other than voice and a voice signal corresponding to the data, which are generated in advance, and whose differential value of the voice signal satisfies a predetermined condition.
  • a set of timing data indicating the time interval between the two is associated with each other, and when a desired data is designated, the set of the amplitude data and the timing data associated with the designated data is used.
  • the timing Interpolates between the amplitude data having a time interval indicated by evening to synthesize speech by obtaining interpolation data.
  • the speech synthesis apparatus of the present invention also supports data other than speech.
  • the set of the amplitude data and the timing data stored in the storage means in association with the specified data is stored when the desired data is specified.
  • the computer-readable recording medium of the present invention executes the processing procedure of the speech recognition method described in claim 1 or the processing procedure of the speech synthesis method described in claim 17 on a computer.
  • a program for causing a computer to function as each means described in Claim 9 or Claim 19 is recorded.
  • the present invention comprises the above technical means, it is possible to provide an unprecedentedly simple speech recognition method and speech synthesis method using amplitude data and timing data at predetermined sample points.
  • the correlation data instead of the amplitude data and the timing data as they are, it is possible to improve the speech recognition degree. Furthermore, by performing processing to round the lower few bits of the correlation data and oversampling processing of the audio signal, the audio Can be further improved.
  • FIG. 1 is a block diagram illustrating a configuration example of the speech recognition device according to the first embodiment.
  • FIG. 2 is a diagram illustrating the principle of speech recognition according to the present embodiment.
  • FIG. 3 is a block diagram illustrating a configuration example of a data generation unit.
  • FIG. 4 is a diagram showing a configuration example of the differentiator shown in FIG.
  • FIG. 5 is a block diagram showing a configuration example for detecting a sample point by performing double differentiation.
  • FIG. 6 is a block diagram illustrating a configuration example of the speech synthesis device according to the first embodiment.
  • FIG. 7 is a diagram for explaining the principle of speech synthesis according to the present embodiment.
  • FIG. 8 is a diagram illustrating the interpolation principle of the present embodiment by extracting a section from time T 1 to T 2 shown in FIG. It is.
  • FIG. 9 is a diagram illustrating an example of a sampling function.
  • FIG. 10 is an explanatory diagram of an interpolation operation for speech synthesis.
  • FIG. 11 is a diagram for explaining an interpolation operation expression that is a specific example of the data interpolation processing.
  • FIG. 12 is a block diagram illustrating a configuration example of a speech recognition device according to the second embodiment.
  • FIG. 13 is a diagram showing a digital basic waveform used in the second embodiment.
  • FIG. 14 is a diagram for explaining an operation example of oversampling and compilation operation of the second embodiment. It is.
  • FIG. 15 is a diagram illustrating a function generated from the digital basic waveform according to the second embodiment.
  • FIG. 16 is a diagram showing a configuration example of the over one sample circuit shown in FIG. BEST MODE FOR CARRYING OUT THE INVENTION
  • FIG. 1 is a block diagram illustrating a configuration example of the speech recognition device according to the present embodiment.
  • the speech recognition device of the present embodiment includes a low-pass filter (LPF) 1, an AZD converter 2, a data generation unit 3, a correlation operation unit 4, a data registration unit 5, a data memory 6, a data collating unit 7, and a mode designating unit 8.
  • LPF low-pass filter
  • the input analog signal is obtained by inputting a voice uttered by a human or the like from a microphone phone (not shown) or the like.
  • This input analog signal is converted to digital data by the AZD converter 2 after noise is removed by the LPF 1 to make it easier to detect the sampling points described later. Is replaced.
  • the A / D converter 2 performs A / D conversion processing in accordance with the input clock CK0 of a predetermined frequency (for example, 44.1 kHz), and converts the input analog signal into, for example, 16-bit digital data. Convert.
  • the audio data digitized by the AZD converter 2 is input to the data generator 3.
  • the data generator 3 differentiates the digital data supplied from the AZD converter 2, and detects a sampling point described later according to the differentiation result. Then, the amplitude data representing the amplitude of the digital data at each detection point and the timing data (the number of clocks CK0) representing the time interval between each sampling point are obtained and output.
  • FIG. 2 is a diagram for explaining the principle of the data generation process performed by the data generation unit 3.
  • the data input to the data generator 3 is digital data obtained by subjecting an input analog signal to AZD conversion.
  • the waveform of the digital data output from the AZD converter 2 is converted to analog data. Is shown.
  • the numerical values shown in FIG. 2 are for explanation, and do not correspond to actual numerical values.
  • the point at which the differential absolute value (signal slope) becomes equal to or less than a predetermined value including “0” (this Are referred to as sampling points.) 102 a to l 102 f are detected. Then, a digital data value representing the amplitude at each of the sample points 102a to 102f and a timing data value representing the time interval at which each sample point 102a to 102f appears are obtained. A pair of the amplitude data value and the timing data is output.
  • the timing data value "5" indicating the time interval from the time T1 when the sample point 102a was detected earlier is set to "5". Since the amplitude data value "3" of the sampling point 102b is obtained, the set (5, 3) of these data is output as the data at time T2.
  • the evening data value “7” indicating the time interval from the time T2 when the sample point 102b was detected earlier.
  • the amplitude data value "9" of the sample point 102c are obtained, and the set (7, 9) of these data values is output as the data at time T3.
  • the timing data indicating the time interval between the time T3 and T4, the time between T4 and T5, the time between T5 and T6, and the time T4, ⁇ 5, and ⁇ 6 are detected.
  • the pairs (3, 1), (3, 6), and (3, 3) of the sampled points 10 2 d, 102 e, and 102 f with the amplitude values of the sampling points are represented by the time T Output as data in 4, T5, T6.
  • FIG. 3 is a block diagram showing a configuration example of the data generation unit 3.
  • a differentiator 301 differentiates the digital data input from the AZD converter 2 for each sampling point, and outputs the absolute value to a sampling point detector 302.
  • the sample point detector 3 02 Based on the result differentiated by, the sample point where the absolute value of the differential of the digital data is less than a predetermined value is detected.
  • FIG. 4 is a diagram showing a configuration example of the differentiator 301.
  • the differentiator 301 of the present embodiment is configured by a difference absolute value circuit that calculates a difference absolute value between data of two consecutive sampling points.
  • the differentiators 31 and 32 calculate the difference between the data at two consecutive sampling points input from the nodes a and b, respectively. That is, the differentiator 31 calculates the difference a ⁇ b, and the differentiator 32 calculates the difference b ⁇ a, and outputs the results to the ⁇ R circuits 33 and 34, respectively. When the calculated difference value becomes a negative value, these differentiators 31 and 32 output a value of “1” as a polow in addition to the difference value.
  • the OR circuit 33 takes a logical sum of the difference value calculated by the differentiator 31 and the output of the pole, and outputs the result to the AND circuit 35.
  • another OR circuit 34 takes the logical sum of the difference value calculated by the above-mentioned differentiator 32 and the porosity output, and outputs the result to the AND circuit 35.
  • the AND circuit 35 takes the logical product of the outputs from the two OR circuits 33, 34 and outputs the result to the node c. Further, the porosity output of the differentiator 31 is output to the node d, and the difference value calculated by the differentiator 32 is output to the node e.
  • the absolute value Ia—bI of the data at two consecutive sampling points is output to the node c, and the data value of the node b is output to the node d at the node d.
  • the value of "1" is output.
  • the difference value b—a between the data of nodes a and b is output.
  • the timing generation section 303 counts the number of clocks CK0 supplied from the detection of one sample point to the detection of the next sample point, and outputs this as timing data. At the same time, it outputs a timing clock indicating the timing of the detection point of each sample point.
  • the amplitude generation unit 304 extracts only the digital data at the corresponding sample point position in accordance with the timing clock output from the timing generation unit 303 and outputs it as amplitude data.
  • a pair of the amplitude data of each sample point generated by the amplitude generation section 304 in this way and the timing data indicating the time interval between each sample point generated by the timing generation section 303 is shown in FIG. Is output to the correlation calculation unit 4.
  • the correlation calculator 4 calculates the correlation between each amplitude data and each timing data output from the data generator 3.
  • Various methods are conceivable for this correlation operation.
  • the ratio between the respective amplitude data and the ratio between the respective timing data output from the data generator 3 are calculated. For example, assuming that dl, d 2, d 3, d 4,... Are obtained as the amplitude data and t 1, t 2, t 3, t 4,. Calculate the ratio as in the following formulas (la) and (lb).
  • the mode designating unit 8 is a mode for registering the correlation data generated by the correlation calculating unit 4 in the data memory 6 as matching data for use in speech recognition processing, or a mode for registering various types of matching registered in the data memory 6. De One of the modes for actually performing the voice recognition processing using the overnight is designated.
  • the data registration unit 5 registers the correlation data generated by the correlation calculation unit 4 in the data memory 6 as matching data when the registration mode is specified by the mode specification unit 8.
  • the data memory 6 is a recording medium for storing data. In the registration mode of the correlation data (matching data), the data memory 6 captures and records the correlation data generated by the correlation operation unit 4. Also, in the voice recognition mode, the stored correlation data (matching data) is read out and output in response to a request given from the data matching unit 7.
  • the data matching unit 7 performs a pattern matching process using the correlation data output from the correlation operation unit 4 and the matching data read from the data memory 6, and obtains a plurality of data stored in the data memory 6. From the matching data, matching data that matches the correlation data from the correlation calculator 4 with a certain probability or more is detected. As a result, the voice input from a microphone or the like (not shown) is recognized as the voice corresponding to the detected matching data, and the recognition result is output to a data processing unit or the like (not shown). As a result, the data processing unit executes a process corresponding to the content of the recognized voice.
  • the voice uttered by a human when registering the matching data, the voice uttered by a human is input as an analog signal, and the analog signal is digitized and operated, whereby the differential absolute value of the digital data is obtained. Detect sample points that are less than or equal to a fixed value. Then, amplitude data at the sample point—correlation data relating to the evening and timing data representing the time interval between the sampling points—correlation data relating to the evening are generated and registered as matching data in a recording medium such as the data memory 6. .
  • a speech uttered by a human is similarly processed to generate correlation data of amplitude data and correlation data of timing data. Then, by performing pattern matching processing using the correlation data generated in this way and a plurality of matching data registered in the data memory 6 in advance, it is possible to determine what the input voice is, etc. Recognize
  • the amplitude data and the timing data generated by the data generation unit 3 are unique data that differs depending on the content of the input voice. Therefore, by performing pattern matching using the correlation data generated from the amplitude data and the timing data, it is possible to perform voice recognition such as what the input voice is.
  • the amplitude data and the timing generated by the data generation unit 3 are not used as matching data as they are, but the correlation data having these ratios is used as the matching data. This makes it possible to improve the speech recognition rate.
  • the value of the amplitude data and the value of the timing data may be different depending on the size and speed of the utterance at that time. Therefore, if the amplitude data and the timing data are used as matching data as they are, even if the same word is uttered, it may be recognized as an incorrect sound depending on the state of the utterance at that time. .
  • the ratio between two consecutive amplitude data and the ratio between two consecutive timing data are calculated as in equations (la) and (lb), respectively.
  • the calculation of the correlation data is not limited to this example.
  • the denominator and the numerator may be reversed in the calculation of the ratio of the above equations (la) and (lb).
  • the ratio between separated data may be calculated.
  • the correlation value may be obtained by addition, subtraction, multiplication, or any combination of addition, subtraction, multiplication and division.
  • the correlation operation is not limited to the correlation operation using two data, but may be a correlation operation using more data.
  • the correlation value of the amplitude data and the correlation value of the timing data are separated.
  • the correlation value between the amplitude data and the evening data may be calculated.
  • the method of the correlation calculation is not particularly limited as long as the correlation is calculated so that the same voice has almost the same value in any utterance state.
  • the correlation operation it is possible to further increase the speech recognition rate.
  • the boundary value for judging whether or not the same voice is used in the pattern matching processing by the data matching unit 7, that is, the threshold value for the degree of matching with the matching data is adjusted. This makes it possible to increase the speech recognition rate to some extent.
  • the calculated ratio data can be obtained. — You may truncate the decimal places in the evening. In performing the rounding operation, the calculated correlation data may be first multiplied by several times, and then the lower several bits may be rounded.
  • the first and last few pieces of correlation data in the series of correlation data are used for pattern matching. You may not.
  • correlation data may be obtained without using the first and last several amplitude data and timing data. .
  • the amplitude data and the timing data obtained at the beginning and end of the utterance are incorrect. It is also possible that Therefore, pattern matching should be performed excluding the amplitude and timing data generated at the beginning and end of the unreliable utterance, or the correlation data generated from this. By doing so, the speech recognition rate can be further improved.
  • the data generation unit 3 of the above embodiment detects, from the data obtained by digitizing the input analog signal, a point at which the differential absolute value of the digital data is equal to or less than a predetermined value including “0” as a sample point.
  • the sampling point detection method is not limited to this. For example, from a series of digital data supplied by A / D conversion ⁇ 2, May be detected as a sample point at a position where is small, that is, a position at which the minimum value of the differential absolute value appears.
  • the digital data supplied from the AZD converter 2 is differentiated once, and then the obtained absolute differential value is further differentiated to perform double differentiation.
  • a point immediately before the polarity of the double differential value changes from minus or zero to plus may be extracted as a sampling point.
  • the points extracted based on the polarity of the double differential value only the point where the absolute value of the differential once becomes smaller than a certain value is detected as a regular sample point. May be.
  • the polarity of the double derivative value obtained by further differentiating the absolute value of the one-time derivative always changes from minus to plus. Therefore, by finding the double differential value of digital data and detecting the point where the polarity changes from negative to positive (including the point where the double differential value is zero), the minimum point of the absolute value of the first derivative is accurately determined. Can be detected. In this case, even when two minimum points having the same value occur consecutively, one of them can be reliably detected as a sample point. In addition, by detecting only points where the absolute value of the first derivative is smaller than a fixed value as regular sample points, unnecessary points can be prevented from being detected as sample points.
  • FIG. 5 is a block diagram showing an example of a configuration for detecting a sample point by performing double differentiation as described above.
  • the differentiator 301 and the sample point detector 302 shown in FIG. 2 shows a configuration example.
  • the differentiator 301 includes a first differentiating unit 21, a rounding unit 22, and a second differentiating unit 23.
  • the sample point detecting section 302 includes a polarity change point detecting section 24 and a threshold processing section 25.
  • the first differentiator 2 1 is configured as shown in FIG.
  • the digital data supplied from the detector 2 is differentiated for each sampling point, and its absolute value is obtained and output.
  • the rounding operation unit 22 performs a process of dropping lower-order bits of the absolute value of the one-time differential calculated by the first differentiating unit 21. This process is performed in order to allow a margin for determining whether or not a sample point is detected when detecting a sample point based on the differential absolute value calculated by the differentiator 301.
  • the process of dropping the lower 3 bits by dividing the absolute value of the first derivative by 8 is performed. By doing so, it is possible to avoid the influence of minute fluctuations such as noise, and prevent unnecessary points from being detected as sample points.
  • the data output from the rounding operation section 22 is supplied to a second differentiating section 23 and a threshold processing section 25 in the sampling point detecting section 302.
  • the second differentiation unit 23 is also configured as shown in FIG. 4, and further differentiates the one-time differential absolute value subjected to the rounding operation by the rounding operation unit 22 for each sampling point.
  • the double differential value obtained by the second differentiating unit 23 and the porosity value representing the polarity thereof are supplied to the polarity change point detecting unit 24 in the sampling point detecting unit 302.
  • the polarity change point detector 24 is a point just before the polarity of the double differential value supplied from the second differentiator 23 in the differentiator 301 changes from minus to plus, for example, when the polarity is In the case where negative double differential values are obtained continuously, the last negative point or the point where the double differential value becomes zero is extracted as a sample point candidate. Continuous negative differential value with negative polarity The negative point that has not been obtained may be further extracted as a sample point candidate.
  • the positive and negative polarities of the differential value are determined based on the porosity value of the differentiator 31 output to the node d shown in FIG.
  • the side where the polarity changes may be detected as a sample point.
  • the magnitude difference between the absolute values of the sampling points located before and after two consecutive sampling points of the same value is closer to the smaller value.
  • a point may be detected as a sample point.
  • the threshold processing unit 25 compares the first derivative absolute value supplied from the rounding operation unit 22 with a predetermined threshold value for the sample point candidates extracted by the polarity change point detection unit 24. Only the point where the absolute value of the differential becomes smaller than the threshold value is detected as a normal sample point, and is transmitted to the timing generation unit 303 in FIG.
  • the threshold processing is performed using the first-order differential absolute value subjected to the rounding operation by the rounding operation unit 22, but the first differential unit 21 calculates the threshold value.
  • threshold processing may be performed using the absolute value of the first derivative before the rounding operation is performed.
  • the point immediately before the polarity of the double differential value changes from negative to positive is extracted as a sampling point.
  • the point immediately after the change from minus to positive may be extracted as a sample point.
  • the sample point may be detected based on a derivative value including polarity without using the absolute value of the derivative.
  • a derivative value including polarity without using the absolute value of the derivative.
  • the differentiator 301 of FIG. 3 differentiates the digital data input from the AZD converter 2 once.
  • the differentiator 301 differentiates the digital data every time the input clock CK0 of the predetermined frequency is given.
  • the differential value is obtained by subtracting the immediately preceding data from the current data captured at the timing of a certain input clock CK0. At this time, where there is no data, the default value is used.
  • sampling point detector 302 inputs the digital data output from the A / D converter 2 in addition to the differential value calculated by the differentiator 301. Then, based on these data, the point at which the polarity of the differential value of the digital data changes is detected as a sample point.
  • the sampling point detector 302 first detects a point where the polarity of the differential value changes from positive to negative, a point where the polarity of the differential value changes from negative to positive, and a point where the differential value becomes 0.
  • the point where the polarity of the differential value changes from positive to negative the point having the larger digital data value from the AZD converter 2 is detected as the sample point among the points on both the positive and negative sides.
  • the point at which the polarity of the differential value changes from negative to positive the point on the positive and negative sides where the digital data value from the AD converter 2 is smaller is detected as the sample point.
  • the point itself is detected as a sample point.
  • the timing generation section 303 counts the number of clocks CK0 supplied from the time when one sample point is detected until the time when the next sample point is detected, and outputs this as timing data. A timing clock indicating the timing of the sampling point detection point is output.
  • the amplitude generation section 304 extracts only digital data at the corresponding sample point position and outputs it as amplitude data in accordance with the timing clock output from the timing generation section 303.
  • text data representing a predetermined word or sentence and a speech signal corresponding to the word or sentence are generated by processing up to the data generation unit 3 in the speech recognition device in FIG.
  • a set of the amplitude data and the timing data is associated with each other.
  • an interpolation operation as described later is performed by using the amplitude data and the timing data associated with the text data, so that individual Generates interpolated data that interpolates between the amplitudes of D and A, and then D / A converts and outputs the data.
  • FIG. 6 is a block diagram illustrating a configuration example of the speech synthesis device according to the present embodiment.
  • the speech synthesizer of this embodiment includes a text analysis unit 11, a data readout unit 12, a data memory 13, a timing generator 14, and a D-type flip-flop. 15, an interpolation processing section 16, a DZA converter 17, and an LPF 18.
  • the data memory 13 stores a set of amplitude data and timing data generated from speech corresponding to text data representing various syllables, words, sentences, and the like in association with the text data.
  • the timing data stored here is the audio data shown in Fig. 1. It is generated by the same processing as the data generation unit 3 of the recognition device.
  • the amplitude data generated from the audio corresponding to the text data and the timing data are stored in association with the text data.
  • icons, CG data, image data, and other non-text data are stored.
  • the amplitude data and the timing data generated from the audio (for example, the commentary audio) corresponding to the data in the format may be stored in association with the data.
  • the text analysis unit 11 analyzes the specified desired text data and recognizes the contents such as syllables, words or sentences. When icons, CG data, image data, etc. are specified, they are analyzed to recognize what is specified.
  • the data reading unit 12 reads, from the data memory 13, amplitude data and timing data corresponding to the contents of the designated text data and the like based on the analysis result by the text analysis unit 11.
  • the timing generator 14 receives the timing data read from the memory 13 and generates a read clock representing an indefinite time interval indicated by the timing data from the input clock CK0 having a predetermined frequency.
  • the D-type flip-flop 15 sequentially fetches the amplitude data stored in the data memory 13 in combination with the above-mentioned timing data at a timing according to the read clock generated by the above-mentioned timing generator 14. And outputs it to the interpolation processing unit 16.
  • the interpolation processing unit 16 stores the amplitude data of the input / output stage of the D-type flip-flop 15, that is, the amplitude data held in the D-type flip-flop 15 at a certain read clock timing and the next read-out.
  • Amplitude data to be held in D-type flip-flop 15 at clock timing (Two amplitude data at two consecutive sample points) are input to the interpolation processing unit 16, the two amplitude data input in this way, and the timing data input from the timing generator 14. Then, a digital interpolation data between each sample point is generated by an interpolation operation or a composition operation described later.
  • the digital interpolation data generated in this way is converted into an analog signal by the DZA converter 17, and then output as an analog synthesized voice signal via the LPF 18.
  • the principle of the data interpolation processing in the interpolation processing section 16 will be described with reference to FIG.
  • the data is a numerical sequence of (*, 7) (5, 3) (7, 9) (3, 1) (3, 6) (3, 3). Note that * indicates that the values are not shown in FIG. Data is read from the data memory 13 in the order shown here.
  • data of the waveform a1 is generated from two data values of the amplitude data value “7” and the timing data value “5” read from the data memory 13 by an interpolation operation.
  • data of the waveform a2 is generated by interpolation from the two data values of the above-mentioned timing data value "5" and the subsequently read amplitude data value "3".
  • data of the waveform b2 is generated by interpolation from two data values of the above-described amplitude data value "3" and the subsequently read timing value "7". Further, data of the waveform bl is generated from the above timing data value "7” and the amplitude data value "9” which is subsequently read out by interpolation. Similarly, the amplitude data read out in order The data of the waveforms cl, c2, d2, d1, el, and e2 are sequentially generated from the combination of the data values and the timing data.
  • the digital signal in which the waveforms al, bl, cl, d1, and el are continuous (the upper part of Fig. 7) and the waveforms a2, b2, c2, d2, and e2 are continuous.
  • Digital signal (lower part in Fig. 7) is generated. Then, the two digital signals generated in this way are added to each other to perform digital-to-analog conversion, thereby synthesizing an analog audio signal having a waveform as shown in FIG.
  • Fig. 8 shows the section of time T l-T 2 shown in Fig. 7, and Fig. 8 (a) shows the two waveforms al and a 2 before addition, and Fig. 8 (b) Indicates a composite waveform a1 + a2 generated by the addition.
  • D 1 is the amplitude data value at time T 1 (“7” in the example of FIG. 7)
  • D 2 is the amplitude data value at time T 2 (“3” in the example of FIG. 7)
  • T represents a timing data value ("5" in the example of FIG. 7) representing a time interval between times T1 and T2
  • t represents an arbitrary timing between times T1 and T2.
  • the data of the waveform a1 is generated by an interpolation operation while incrementing the value of the timing t by one according to the clock CK0 based on a certain sampling frequency, using the timing t as a variable.
  • the data of the waveform a 2 is similarly interpolated using the timing t as a variable. Generate.
  • the data of the waveforms a 1 and a 2 generated in this way are By adding mining t as a variable, a waveform as shown in Fig. 8 (b) is synthesized.
  • the sampling frequency is increased in a pseudo manner by interpolating between discretely input digital data.
  • data interpolation is performed using a predetermined sampling function.
  • Figure 9 shows the sinc function as an example of the sampling function.
  • FIG. 10 is a diagram for explaining a general data interpolation operation using such a sampling function.
  • the values of the discrete data at the equally-spaced sampling points tl, t2, t3, and t4 are represented by Y (t1), ⁇ (t2), ⁇ (t3), ⁇
  • Let (t 4) be, for example, a case where an interpolated value y corresponding to a predetermined position t 0 (a distance a from t 2) between the sampling points t 2 and t 3 is considered.
  • the value of the sampling function at the interpolation position t 0 is obtained for each given distributed data, and the convolution operation is performed using this. Good. Specifically, the peak height at the center position of the sampling function is matched for each sampling point from t1 to t4, and the value of the sampling function at each interpolation position t0 (X ) And add them all.
  • discrete data is obtained by sampling digital data at a time interval at a point where the differential absolute value is equal to or smaller than a predetermined value. Therefore, the intervals between the sample points from which the discrete data were obtained are not always equal, and in many cases are irregular (in the example of Fig. 2, the interval between each sample point is "5,7,3,3,3" is unspecified).
  • the sampling function a is calculated based on the time interval between the sampling points at times T1 and T2.
  • the convolution operation described above is performed using only 1 and a2, and other sampling functions b1, b2, c1, c2, d1, d2, el, and e2 are not considered in this convolution operation.
  • each amplitude data value at times T 1 and T 2 and timing data representing a time interval between times T 1 and T 2 Only sampling functions a 1 and a 2 obtained from the values are used. In other words, all the data necessary to obtain the interpolation value at each interpolation position t between time T1 and T2 has been obtained at time T2, and at this time, the data shown in FIG. 8 (b) is obtained. Therefore, in the present embodiment, two amplitude data values D 1 and D 2 and a timing data value ⁇ representing the time interval are obtained at each discrete time from T 1 to T 6. Each time, a digital waveform is sequentially synthesized by calculating an interpolated value using the data values according to an interpolation operation formula described below.
  • FIG. 11 is a diagram for explaining the interpolation formula.
  • the interpolated value between two sample points having amplitude data values D l and D 2 is continuous at two intermediate functions X 1 and X 2 at the interpolation position t.
  • the interpolated value is calculated using the quadratic functions X 1 and X 2 by dividing the space between the two sample points into the first half and the second half.
  • the timing data value T which is the time interval between the sample points, may be odd or even. In the case of odd, a state occurs where the interpolation position t does not come exactly at the intermediate point. Therefore, the timing data value obtained may always be an even number by executing double over sampling at the time of generating the amplitude data and the timing data.
  • the five timing data values “5, 7, 3, 3, 3, 3” shown in FIG. 2 are actually “10, 14, 6, 6, 6, 6” by double sampling. Is stored in the memory 13 overnight. In FIG. 11, the time interval between the sample points is represented by 2T after oversampling.
  • the clock is successively clocked at twice the original sampling frequency.
  • interpolation calculation processing is sequentially performed as a signal sequence including an amplitude data and a timing data value is input for each of the discrete times T1 to T6.
  • the amplitude data at each sample point generated from actual speech and the timing data indicating the interval between each sample point are associated with the text data
  • an analog audio signal is synthesized and output by interpolation from the corresponding amplitude data and timing data.
  • amplitude data and timing data are stored, and the human voice can be recorded.
  • Near high-quality speech can be synthesized from text data.
  • the read data can be sequentially processed by a simple interpolation operation to synthesize a voice, real-time operation can be realized.
  • interpolation calculation processing shown in the above equations (6) and (7) can be realized by an eighty-first hardware configuration such as a logic circuit, or a DSP (Digital Signal Processor) or software (R ⁇ M or RAM, etc.). Professional stored in G).
  • a logic circuit or a DSP (Digital Signal Processor) or software (R ⁇ M or RAM, etc.). Professional stored in G).
  • the speech recognition apparatus at least before the amplitude data and the timing data are generated by the data generation unit 3, the given digital data is oversampled n times.
  • smoother data By performing a moving average calculation or a convolution calculation (hereinafter, referred to as a "compilation operation"), smoother data can be obtained by connecting discrete data by interpolation.
  • FIG. 12 is a block diagram showing an example of the overall configuration of the speech recognition device according to the second embodiment.
  • the speech recognition apparatus according to the second embodiment differs from the speech recognition apparatus according to the first embodiment shown in FIG. 1 in that an oversampler 9 and a PLL (Phase Locked Loop) are used. Circuit 10 has been added.
  • an oversampler 9 and a PLL Phase Locked Loop
  • the oversampling circuit 9 is provided between the AZD converter 2 and the data generator 3, and performs n-times oversampling and compilation operation on digital data input from the AZD converter 2. In this way, a digital interpolation value that fills the gap between the discrete data is obtained.
  • the oversampling circuit 9 inputs audio data sampled at a frequency of 4 4. ⁇ ⁇ ⁇ , and oversamples it at eight times the frequency (352.8 KHz). Performs the compiling operation. Then, a series of over-sampled data thus obtained is output to the data generator 3.
  • the data generation unit 3 outputs a reference from any of the series of oversampled data supplied from the oversampled circuit 9 by any of the methods described above. This point is detected. Then, a set of the detected amplitude data value at each sample point and the timing value indicating the time interval at which each sample point appears is converted into a data set according to the mode specified by the mode specifying unit 8 at that time. Output to registration unit 5 or data collation unit 7.
  • the PLL circuit 10 generates a clock CK1 having an eight-fold frequency (352.8 KHz) from the input clock CK0 having a reference frequency (for example, 44.1 KHz), and outputs the clock CK1 having the above-described frequency. It is supplied to the sample circuit 9 and the data generator 3. The over-sample circuit 9 and the data generation section 3 operate in synchronization with the clock CK 1 having the octuple frequency.
  • the voice synthesizer according to the first embodiment shown in FIG. However, it is necessary to add a clock generator (not shown).
  • This clock generator generates an eight-fold frequency clock CK1 from the reference frequency input clock CK0 and supplies it to the timing generator 14, the interpolation processing unit 16 and the DA conversion unit 17.
  • FIG. 13 is an explanatory diagram of a digital basic waveform used in the present embodiment.
  • the digital basic waveform shown in Fig. 13 is the data complement by over sampling. This is the basis of the sampling function used when performing the interval.
  • This digital basic waveform was created by changing the data value to 11, 11, 8, 8, 1,-1 every clock (CK0) of the reference frequency.
  • FIG. 14 shows an example in which the oversampling is performed four times for the sake of illustration, the oversampling circuit 9 in FIG. 12 actually performs eight times oversampling.
  • the series of numerical values shown in the leftmost column is a four-fold oversampling of the original discrete data (11, 1, 8, 8, 8, 1,-1) / 8. This is the value that was printed.
  • the numerical sequence of four columns from the left to the right is the numerical sequence shown in the leftmost column shifted downward by one.
  • the column direction in Fig. 14 shows the time axis. Shifting the numerical sequence downward corresponds to gradually delaying the numerical sequence shown in the leftmost column.
  • the second numerical sequence from the left indicates that the numerical sequence shown in the leftmost column is shifted by 14 phases of the 4 ⁇ frequency clock 4 CLK.
  • the numerical sequence in the third column from the left is a numerical sequence in which the numerical sequence shown in the second column from the left is shifted by one-fourth phase of 4 ⁇ frequency clock 4 CLK, and the numerical sequence in the fourth column from the left The column shows that the numerical sequence shown in the third column from the left is a numerical sequence further shifted by 1/4 phase of clock 4 CLK of quadruple frequency.
  • the fifth numerical column from the left is a value obtained by adding each of the first to fourth numerical columns by the corresponding row and dividing by four. In the processing of the fifth column from the left Thus, a four-fold oversampling with four-phase compositing operations is performed digitally.
  • the four numeric columns are the numeric columns shown in the fifth column shifted down one by one. It is.
  • the ninth column from the left is a value obtained by adding each of the fifth to eighth columns in the corresponding row and dividing by four. By processing in the ninth column from the left, four times oversampling with four-phase com- positing operations is performed digitally twice.
  • the 10th numerical sequence from the left is the numerical sequence shown in the ninth column shifted down by one. Also, the numeric column in the 11th column (the rightmost column) from the left is the value obtained by adding the numeric column in the ninth column and the numeric column in the 10th column by the corresponding rows and dividing by 2. It is. This rightmost numerical sequence is the target interpolation value.
  • Figure 15 is a graph of the finally obtained numerical sequence shown in the rightmost column of Fig. 14.
  • the function having a waveform as shown in Fig. 15 is once differentiable over the entire area, and has a finite value other than 0 when the sample position t along the horizontal axis is between 1 and 33. However, in other areas, the function has a value of 0.
  • FIG. 16 is a block diagram showing a configuration example of the over one sample circuit 9 shown in FIG.
  • the oversampling circuit 9 of this embodiment includes a normalized data storage unit 41, a phase shift unit 42, a plurality of digital multipliers 43a to 43d, It comprises a plurality of digital adders 44a to 44c.
  • the PLL circuit 10 shown in FIG. 16 is the same as that shown in FIG.
  • the normalized data storage unit 41 stores the normalized data sequence shifted to four phases as shown in the rightmost column of FIG. Note that in Figure 14 Shows an example of performing 4 times oversampling on the digital basic waveform shown in Fig. 13, but the oversampling circuit 9 in Fig. 12 performs 8 times oversampling. Therefore, in the normalized data storage unit 41, a data string obtained by oversampling the digital basic waveform by 8 times and normalized by the composition calculation is stored.
  • the four-phase normalized data stored in the normalized data storage unit 41 is read out in accordance with clocks CKO and CK1 supplied from the PLL circuit 10, and each of the four digital multipliers 4 3 a to 43 d are supplied to one of the input terminals.
  • phase shift unit 42 performs a phase shift process for shifting the phase of the discrete data input from the AZD converter 2 to four phases.
  • the four-phase discrete data generated by the phase shift unit 42 is output according to the clocks CKO and CK1 supplied from the PLL circuit 10, and is output from the four digital multipliers 43a to 43d, respectively. It is supplied to the other input terminal.
  • the four digital multipliers 4 3a to 4 3d store the four-phase normalized data output from the normalized data storage unit 41 and the four-phase normalized data output from the phase shift unit 42. Multiply by discrete data.
  • the three digital adders 44 a to 44 c connected at the subsequent stage add all the multiplication results of the above four digital multipliers 43 a to 43 d and plot the addition results. 1 Output to 2 data generation unit 3.
  • the normalized data in the rightmost column obtained by the composition operation shown in FIG. Is stored in the normalized data storage unit 41. Then, the normalized data is modulated into an amplitude corresponding to the value of the input discrete data, and the obtained data is synthesized and output by a four-phase composition operation. The amplitude value of the input discrete data is multiplied by the digital basic waveform shown in Fig. 13, and the resulting data value is subjected to a composition operation as shown in Fig. 14 during speech recognition. If the oversampler circuit 9 is configured as shown in FIG. 16, it is not necessary to perform the computational operation itself in FIG. It has the advantage that it can be
  • the oversampling circuit 9 performs oversampling of eight times, but is not limited to eight times. For example, it may be 2 times or 4 times.
  • the input discrete digital data is subjected to oversampling and a composition operation to smoothly change. Then, from the obtained oversampled data, discrete amplitude data values and timing data values representing their indefinite time intervals are obtained.
  • the function generated from the digital fundamental waveform when performing oversampling and the compositing operation is a finite-level sampling function whose value converges to 0 at a finite sample position, and A possible function. Therefore, when obtaining a certain interpolated value, only a limited number of discrete data values need to be considered, and the amount of processing can be greatly reduced. Moreover, since no truncation error occurs, an accurate interpolated value can be obtained. When speech recognition processing is performed using this interpolated value, the speech recognition rate can be improved.
  • the speech recognition / speech synthesis methods according to the first and second embodiments described above can be realized by any of a hardware configuration, a DSP, and software.
  • a place realized by software the speech recognition device and the speech synthesis device according to the present embodiment are actually configured by a CPU or MPU, RAM, ROM, etc. of a convenience store, and a program stored in the RAM or ROM operates. This can be achieved.
  • the present invention can be realized by recording a program that causes a computer to perform the functions of the present embodiment on a recording medium such as a CD-ROM, and reading the program into the computer.
  • a recording medium for recording the above program a floppy disk, a hard disk, a magnetic tape, a magneto-optical disk, a nonvolatile memory card, or the like can be used in addition to the CD-ROM.
  • the computer executes the supplied program to realize the functions of the above-described embodiment, and also executes the OS (operating system) or other operating system on which the program is running on the computer.
  • OS operating system
  • the functions of the above-described embodiment are realized in cooperation with application software or the like, or all or a part of the processing of the supplied program is performed by a function expansion board or a function expansion unit of the computer.
  • Such a program is also included in the embodiment of the present invention when the functions of the above-described embodiment are realized.
  • the present invention relates to a method for detecting amplitude data and timing It provides an unprecedented new speech recognition method and speech synthesis method that uses speech data, and is useful for improving speech recognition, improving the quality of synthesized speech, and simplifying processing.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Electrically Operated Instructional Devices (AREA)

Description

明 細 音声認識方法および装置、 音声合成方法および装置、 記録媒体 技術分野
本発明は音声認識方法および装置、 音声合成方法および装置、 更には これらの機能をソフ トウェアにより実現するためのプログラムを格納し た記録媒体に関し、 特に、 人間などによる音声を聞き分ける音声認識技 術および、 データから音声を作る音声合成技術に関するものである。 背景技術
近年、 人間が発生した音声を計算機が認識して自動的に処理を行うと いった、 いわゆる音声認識の音声処理インタフェースが注目されている 。 音声認識技術には、 数字や単語などを認識する単語音声認識から、 意 味や内容まで理解する連続音声認識まで、 様々なものがある。 また、 発 生された音声が誰のものであるかを識別する話者識別の技術も広義には 音声認識技術の中に含まれる。
特に最近では、 単語音声認識から、 連続音声認識や自然な会話を対象 にした音声認識の技術に注目の対象が集まってきている。 また、 特定の 語彙を音声コマンドとして用いることによって、 計算機や携帯端末など を音声により操作する方法の研究も進められている。
一方、 音声認識とは逆に、 テキス トなどのデータから音声を合成して 出力する音声合成技術の開発も進められている。 例えば、 テキス ト音声 合成の技術では、 漢字や英字等の種々の文字から成る言葉のテキス トデ —夕を解析し、 アクセントやイントネ一ショ ンをぁらかじめ設定した規 則に基づき与えることにより、 音声を合成する。 しかしながら、 現在の音声認識技術では、 発せられた音声を何でも認 識できる訳ではなく、 認識度には限界がある。 すなわち、 同じ単語でも 発声者よつて音声が異なることがあり、 話す人によって認識精度に差が 生じることがある。 また、 認識対象とする語彙数や話者が増加すると、 音声認識の灘易度は更に増すことになる。
—方、 現在の音声合成技術では、 生成される合成音はまだ機械音の域 を脱することができず、 より人間の肉声に近い合成音を得るべくその高 品質化が課題となっている。
さらに、 現在の音声認識技術、 音声合成技術の何れも複雑な処理が必 要であり、 処理の高速化などを図るために処理の簡素化も望まれている 本発明は、 このような実情に鑑みて成されたものであり、 音声認識度 の向上、 合成音の高品質化、 および処理の簡素化等を図るために、 今ま でにはない全く新しい音声認識方式および音声合成方式を提供すること を目的とする。 発明の開示
本発明の音声認識方法は、 入力音声信号を微分してその微分値が所定 の条件を満たす点を標本点として検出し、 検出した各標本点における離 散的な振幅データと各標本点間の時間間隔を表すタイミングデータとを 得て、 上記振幅データおよびタイミングデータを用いて相関データを生 成し、 この生成した相関データと、 種々の音声についてあらかじめ同様 に生成して蓄積しておいた相関データとの照合により入力音声を認識す るようにしたものである。
ここで、 相関データの下位数ビッ トを丸める処理を行うようにしても 良い。 また、 入力音声信号をオーバーサンプリ ングし、 当該オーバーサンプ リ ングされたデータをその微分値が所定の条件を満たす点の時間間隔で 標本化するようにしても良い。
また、 本発明の音声認識装置は、 入力音声信号を A Z D変換する A / D変換手段と、 上記 A / D変換手段より出力されるデジタルデータを微 分する微分手段と、 上記微分手段により求められた微分値が所定の条件 を満たす点を標本点として検出し、 検出した各標本点における振幅デー 夕および各標本点間の時間間隔を表すタイミングデ一夕を生成するデ一 夕生成手段と、 上記データ生成手段により生成された上記振幅データお よびタイミングデータを用いて相関データを生成する相関演算手段と、 上記相関演算手段により生成された相関データと、 種々の音声について あらかじめ同様に生成して記録媒体に蓄積しておいた相関データとを照 合して入力音声を認識するデ一夕照合手段とを備えたものである。
ここで、 上記相関演算手段は、 上記相関データの下位数ビッ トを丸め る処理を行うようにしても良い。
また、 上記 A Z D変換手段より出力されたデジタルデータに対して偶 数倍周波数のクロックを用いてオーバーサンプリ ングを行うオーバーサ ンプリング手段を備え、 上記オーバーサンプリ ングされたデータをその 微分値が所定の条件を満たす点の時間間隔で標本化するようにしても良 い。 '
本発明の音声合成方法は、 音声以外のデータと、 当該データに対応す る音声信号についてあらかじめ生成された、 上記音声信号の微分値が所 定の条件を満たす標本点における振幅データおよび各標本点間の時間間 隔を表すタイミングデータの組とを互いに関連付けておき、 所望のデー 夕が指定されたときに、 その指定されたデータに関連付けられている上 記振幅データおよびタイミングデータの組を用いて、 上記タイミングデ —夕によって示される時間間隔を有する上記振幅データの間を補間する 補間データを求めることによって音声を合成するように'したものである また、 本発明の音声合成装置は、 音声以外のデータに対応する音声信 号についてあらかじめ生成された、 上記音声信号の微分値が所定の条件 を満たす標本点における振幅データおよび各標本点間の時間間隔を表す タイミングデータの組を、 上記音声以外のデータと互いに関連付けて記 憶した記憶手段と、 所望のデータが指定されたときに、 その指定された デ一夕に関連付けて上記記憶手段に記憶されている上記振幅データおよ びタイミングデ一夕の組を用いて、 上記タイミングデータによって示さ れる時間間隔を有する上記振幅データの間を補間する補間データを求め る補間処理手段と、 上記補間処理手段により求められた補間データを D Z A変換する D / A変換手段とを備えたものである。
また、 本発明のコンピュータ読み取り可能な記録媒体は、 請求の範囲 第 1項に記載の音声認識方法の処理手順、 あるいは請求の範囲第 1 7項 に記載の音声合成方法の処理手順をコンピュータに実行させるためのプ ログラム、 または、 請求の範囲第 9項、 あるいは請求の範囲第 1 9項に 記載の各手段としてコンピュータを機能させるためのプログラムを記録 したものである。
本発明は上記技術手段より成るので、 所定の標本点における振幅デー 夕とタイミングデータとを用いた今までには全くない簡単な音声認識手 法および音声合成手法を提供することが可能となる。
ここで、 振幅データおよびタイミングデータをそのまま用いるのでは なく、 それらの相関データを用いるようにすることで、 音声の認識度を 向上させることが可能となる。 さらに、 相関データの下位数ビッ トを丸 める処理や、 音声信号のオーバーサンプリ ング処理を行う ことで、 音声 の認識度を更に向上させることが可能となる。
また、 実際の音声信号から生成された振幅デ一夕およびタイミングデ 一夕を用いて音声を合成することにより、 少ないデータを記億しておく だけで、 より生音に近い音声を合成することが可能となる。 さらに、 音 声信号のオーバ一サンプリ ング処理を行った上で生成した振幅データお よびタイミングデータを用いて音声の合成を行う ことで、 合成音の品質 を更に向上させることが可能となる。
以上のように、 本発明によれば、 音声認識度の向上、 合成音の高品質 化および処理の簡素化を図ることができる。 図面の簡単な説明
図 1 は、 第 1 の実施形態による音声認識装置の構成例を示すプロック 図である。
図 2は、 本実施形態による音声認識の原理を説明するための図である 図 3は、 データ生成部の構成例を示すブロック図である。
図 4は、 図 3 に示した微分器の構成例を示す図である。
図 5は、 2重微分を行う ことによって標本点を検出するための構成例 を示すブロック図である。
図 6は、 第 1 の実施形態による音声合成装置の構成例を示すブロック 図である。
図 7は、 本実施形態による音声合成の原理を説明するための図である 図 8は、 図 7 に示した時刻 T 1 — T 2の区間を取り出して本実施形態 の補間原理を示した図である。
図 9は、 標本化関数の例を示す図である。 図 1 0は、 音声合成のための補間動作の説明図である。
図 1 1 は、 デ一夕補間処理の具体例である補間演算式について説明す るための図である。
図 1 2は、 第 2の実施形態による音声認識装置の構成例を示すブロッ ク図である。
図 1 3は、. 第 2の実施形態で用いるデジタル基本波形を示す図である 図 1 4は、 第 2の実施形態のオーバーサンプリ ングおよびコンポリュ —ショ ン演算の動作例を説明するための図である。
図 1 5は、 第 2の実施形態のデジタル基本波形から生成される関数を 示す図である。
図 1 6は、 図 1 2 に示したオーバ一サンプル回路の構成例を示す図で ある。 発明を実施するための最良の形態
(第 1 の実施形態)
以下、 本発明の一実施形態を図面に基づいて説明する。
図 1 は、 本実施形態による音声認識装置の構成例を示すブロック図で ある。 図 1 に示すように、 本実施形態の音声認識装置は、 ローパスフィ ルタ (L P F ) 1 と、 A Z D変換器 2 と、 データ生成部 3 と、 相関演算 部 4と、 データ登録部 5 と、 データメモリ 6 と、 データ照合部 7 と、 モ ード指定部 8 とを備えて構成されている。
図 1 において、 入力アナログ信号は、 人間などが発声した音声を図示 しないマイク口フォン等から入力したものである。 この入力アナログ信 号は、 後述する標本点の検出を行いやすくするために、 L P F 1 によつ てノィズが除去された後、 A Z D変換器 2 によってデジタルデータに変 換される。 このとき A/D変換器 2は、 所定周波数 (例えば、 4 4. 1 KH z ) の入力クロック C K 0 に従って A/D変換処理を実行し、 入力 アナログ信号を例えば 1 6 ビッ トのデジタルデータに変換する。
この AZD変換器 2によりデジタル化された音声データは、 データ生 成部 3 に入力される。 データ生成部 3は、 AZD変換器 2より供給され るデジタルデータを微分し、 その微分結果に応じて後述する標本点を検 出する。 そして、 各検出点におけるデジタルデータの振幅を表す振幅デ —夕と、 各標本点間の時間間隔を表すタイミングデータ (クロック C K 0の数) とを求めて出力する。
図 2は、 上記デ一夕生成部 3 によって行われるデータ生成処理の原理 を説明するための図である。 なお、 データ生成部 3に入力されるデータ は、 入力アナログ信号を AZD変換した後のデジタルデータであるが、 図 2では説明のために、 AZD変換器 2より出力されたデジタルデータ の波形をアナログ的に示している。 また、 この図 2中に示される数値は 説明用の数値であって、 実際の数値に即したものではない。
本実施形態においては、 例えば、 Aノ D変換器 2より出力されたデジ タルデータ 1 0 1の中から、 微分絶対値 (信号の傾斜) が " 0 " を含む 所定値以下となる点 (これを標本点と称する) 1 0 2 a〜 l 0 2 f を検 出する。 そして、 これら各標本点 1 0 2 a〜 l 0 2 f における振幅を表 すデジタルデータ値と、 各標本点 1 0 2 a〜 1 0 2 f が現れる時間間隔 を表すタイミングデータ値とを求め、 この振幅データ値とタイミングデ —夕値との組を出力する。
図 2の例では、 各標本点 1 0 2 a〜 1 0 2 f におけるデジタルの振幅 デ一タ値として、 " 7, 3 , 9 , 1, 6 , 3 " が求まり、 各標本点 1 0 2 &〜 1 0 2 が現れる時刻丁 1 —丁 2間、 T 2 — T 3間、 T 3 — T 4 間、 T 4— T 5間、 T 5 — T 6間のそれぞれの時間間隔を表すタイミン グデ一夕として、 " 5, 7 , 3 , 3 , 3 " が求まっている。 なお、 ここ でタイミングデータとして示される数字は、 あるサンプリ ング周波数に 基づくクロック C K 0の数を示している。
時刻 T 1 の時点では、 標本点 1 0 2 aの振幅データ値 " 7 " と、 それ より前に標本点 (図示せず) が検出された時刻からの時間間隔を表すタ イミングデータ値 (図示せず) とが得られているので、 それらデータ値 の組を時刻 T 1 のデータとして出力する。
次に、 標本点 1 0 2 bが検出された時刻 T 2の時点では、 それより前 に標本点 1 0 2 aが検出された時刻 T 1からの時間間隔を表すタイミン グデータ値 " 5 " と、 標本点 1 0 2 bの振幅データ値 " 3 " とが得られ ているので、 これらデ一夕値の組 ( 5 , 3 ) を時刻 T 2のデ一夕として 出力する。
さらに、 次に標本点 1 0 2 cが検出された時刻 T 3の時点では、 それ より前に標本点 1 0 2 bが検出された時刻 T 2からの時間間隔を表す夕 イミングデータ値 " 7 " と、 標本点 1 0 2 cの振幅データ値 " 9 " とが 得られているので、 これらデータ値の組 ( 7, 9 ) を時刻 T 3のデータ として出力する。
以下同様にして、 時刻 T 3— T 4間、 T 4— T 5間、 T 5— T 6間の 時間間隔を表すタイミングデ一夕値と、 時刻 T 4, Τ 5 , Τ 6で検出さ れた各標本点 1 0 2 d, 1 0 2 e , 1 0 2 f の振幅デ一夕値との組 ( 3 , 1 ) 、 ( 3, 6 ) 、 ( 3, 3 ) を、 それぞれ時刻 T 4 , T 5 , T 6 に おけるデータとして出力する。
図 3は、 このデ一夕生成部 3の一構成例を示すブロック図である。 図 3 において、 微分器 3 0 1 は、 AZD変換器 2より入力されたデジタル データを各サンプリ ングポイント毎に微分し、 その絶対値をとつて標本 点検出部 3 0 2 に出力する。 標本点検出部 3 0 2は、 上記微分器 3 0 1 により微分された結果に基づいて、 デジタルデータの微分絶対値が所定 値以下となる標本点を検出する。
図 4は、 上記微分器 3 0 1の一構成例を示す図である。 図 4に示すよ うに、 本実施形態の微分器 3 0 1 は、 連続する 2つのサンプリ ングボイ ン卜のデータ間の差分絶対値を演算する差分絶対値回路により構成され る。
図 4において、 差分器 3 1, 3 2は、 ノード a , bから入力される連 続する 2つのサンプリ ングポイントにおけるデータの差分をそれぞれ演 算する。 すなわち、 差分器 3 1 は差分 a— b、 差分器 3 2は差分 b— a をそれぞれ演算し、 その結果をそれぞれ〇 R回路 3 3, 3 4に出力する 。 これらの差分器 3 1, 3 2は、 演算された差分値が負の値になるとき には、 差分値の他にポロウとして " 1 " の値を出力する。
上記 O R回路 3 3は、 上記差分器 3 1で演算された差分値とポロゥ出 力との論理和をとり、 その結果を A N D回路 3 5に出力する。 また、 も う 1つの O R回路 3 4は、 上記差分器 3 2で演算された差分値とポロゥ 出力との論理和をとり、 その結果を A N D回路 3 5 に出力する。 A N D 回路 3 5は、 上記 2つの O R回路 3 3 , 3 4からの出力の論理積をとり 、 その結果をノード c に出力する。 また、 上記差分器 3 1 のポロウ出力 をノード dに出力し、 上記差分器 3 2で演算された差分値をノード e に 出力する。
これにより、 ノード c には、 連続する 2つのサンプリ ングポイントに おけるデータの差分絶対値 I a— b I が出力され、 ノード dには、 ノー ド bのデータ値の方がノ一 ド aのデータ値より大きいときに " 1 " の値 が出力され、 ノード eには、 ノード a , bのデータ間の差分値 b— aが 出力される。
なお、 図 4では説明の都合上、 ノード a, b, c , e のデータ線を 1 ビッ ト分しか示していないが、 実際にはデータのビッ ト数だけ備えられ ている。
図 3 ©タイミング生成部 3 0 3は、 1つの標本点が検出されてから次 の標本点が検出されるまでに供給されるクロック C K 0の数をカウン卜 し、 これをタイミングデータとして出力するとともに、 各標本点の検出 点のタイミングを表すタイミングクロックを出力する。
また、 振幅生成部 3 0 4は、 タイミ ング生成部 3 0 3より出力される タイミングクロックに従って、 該当する標本点位置のデジタルデ一夕の みを取り出して振幅データとして出力する。 このようにして振幅生成部 3 0 4により生成された各標本点の振幅データと、 タイミング生成部 3 0 3 により生成された各標本点間の時間間隔を表すタイミングデータと の組は、 図 1 の相関演算部 4に出力される。 相関演算部 4は、 上記デ一夕生成部 3より出力された各振幅デ一夕お よび各タイミングデータの相関を演算する。 この相関演算の方法として は種々のものが考えられる。 ここでは、 データ生成部 3より出力された 各振幅データ同士の比率および各タイミングデータ同士の比率を演算す るものとする。 例えば、 振幅データとして d l, d 2 , d 3 , d 4 , … が得られ、 タイミングデータとして t 1 , t 2, t 3 , t 4, …が得ら れたとすると、 相関演算部 4は、 以下の式(l a) , ( l b) のような比率を計 算する。
d 2 / d 1 , d 3 / d 2 , d 4 / d 3 , … ( l a)
t 2 / t 1 , t 3 / t 2 , t 4 / t 3 , ··· ( l b)
モード指定部 8は、 上記相関演算部 4により生成された相関デ一夕を 、 音声認識処理に用いるためのマッチングデータとしてデータメモリ 6 に登録するモードか、 データメモリ 6 に登録された各種のマッチングデ 一夕を用いて実際に音声認識処理を行うモードかの何れかを指定するも のである。
データ登録部 5は、 上記モード指定部 8 により登録モ一ドが指定され ているときに、 相関演算部 4により生成された相関データをマッチング データとしてデータメモリ 6 に登録するものである。
デ一タメモリ 6 は、 データを蓄積する記録媒体であり、 相関データ ( マッチングデータ) の登録モード時には、 相関演算部 4により生成され た相関データを取り込んで記録する。 また、 音声認識モ一ド時には、 デ —タ照合部 7から与えられる要求に応じて、 蓄積されている相関データ (マッチングデータ) を読み出して出力する。
データ照合部 7は、 相関演算部 4から出力される相関データと、 デー 夕メモリ 6から読み出されるマッチングデータとを用いてパターンマツ チングの処理を行い、 デ一タメモリ 6 に格納されている複数のマツチン グデータの中から、 相関演算部 4からの相関デ一夕とある確率以上で一 致するマッチングデータを検出する。 これにより、 図示しないマイクロ フォン等から入力された音声が上記検出したマッチングデータに対応す る音声であると認識し、 その認識結果を図示しないデータ処理部などに 出力する。 これによりデータ処理部では、 認識された音声の内容に応じ た処理が実行されることになる。
以上のように、 本実施形態の音声認識装置では、 マッチングデータの 登録時には、 人間が発声した音声をアナログ信号として入力し、 それを デジタル化して演算することにより、 デジタルデータの微分絶対値が所 定値以下となる標本点を検出する。 そして、 その標本点における振幅デ —夕に関する相関データと、 標本点間の時間間隔を表すタイミングデー 夕に関する相関データとを生成し、 それをマッチングデータとしてデー 夕メモリ 6などの記録媒体に登録する。 また、 音声認識の処理時には、 人間が発声した音声を同様に処理して 、 振幅データの相関データとタイミングデータの相関データとを生成す る。 そして、 こうして生成した相関データと、 データメモリ 6 にあらか じめ登録しておいた複数のマッチングデータとを用いてパターンマッチ ングの処理を行うことにより .、 入力された音声が何であるか等を認識す る。
こ こで、 データ生成部 3により生成される振幅データとタイミングデ —夕は、 入力される音声の内容によって異なるユニークなデータとなる 。 したがって、 この振幅データとタイミングデータとから生成した相関 デ一タを用いてパターンマッチングを行う ことにより、 入力された音声 が何であるか等の音声認識を行う ことが可能である。
しかも、 本実施形態では、 データ生成部 3で生成された振幅データと タイミングとをそのままマッチングデータとして用いるのではなく、 こ れらの比率をとつた相関データをマッチングデータとして用いている。 これにより、 音声認識率を向上させることが可能である。
すなわち、 同じ言葉を発声していても、 そのときの発声の大きさや速 さなどによって、 振幅データの値とタイミングデータの値が異なってく ることがある。 そのため、 振幅データとタイミングデ一夕とをそのまま マッチングデータとして用いると、 同じ言葉を発声していても、 そのと きの発声の状態によっては間違つた音声として認識してしまう ことが考 えられる。
これに対し、 本実施形態のように振幅デ一夕やタイミングデ一夕の比 率をとつてこれをマッチングデータとして用いるようにすることにより 、 全体として発声の大きさや速さが異なっていても、 同じ言葉を発声し ていれば、 各標本点における振幅値の変化比率や標本点間のピツチの変 化比率はほぼ同じとなり、 正しい音声を認識することが可能である。 こ れにより、 例えば特性の言葉を音声コマンドとして用い、 計算機や携帯 端末などを音声により操作することも可能となる。
なお、 上記実施形態の相関演算部 4では、 連続する 2つの振幅データ 間の比率および連続する 2つのタイミングデータ間の比率をそれぞれ式( l a) , ( l b) のように計算しているが、 相関デ一夕の計算はこの例に限定さ れない。 例えば、 上記式(l a),(l b) の比率計算において、 分母と分子は 逆であっても良い。 また、 連続する 2つのデータ間の比率ではなく、 離 れたデータ間の比率を演算するようにしても良い。
また、 ここでは 2つのデータ間の比率を除算により演算しているが、 加算や減算もしくは乗算、 または加減乗除の任意の組合せ演算によって 相関値を求めるようにしても良い。 さらに、 2つのデータを用いた相関 演算に限らず、 それより多くのデータを用いた相関演算であっても良い また、 上記実施形態では、 振幅データの相関値とタイミングデータの 相関値とを別々に演算しているが、 振幅データと夕イミングデータとの 間の相関値を演算するようにしても良い。
すなわち、 相関を演算することによって、 同じ音声ならばどんな発声 状態でもほぼ同じ値となるようにすれば、 相関演算の手法は特に限定し ない。 もちろん、 相関演算のし方によっては、 音声の認識率を更に高め ることも可能である。
なお、 相関を演算しなくても、 データ照合部 7 によるパターンマッチ ング処理の際に同じ音声か否かを判断するための境界値、 つまりマッチ ングデータとの一致度に関するしきい値を調整することにより、 音声の 認識率をある程度は高めることが可能である。
また、 上記相関演算部 4により計算された相関データに対して下位数 ビッ トを丸める処理を更に行う ことにより、 例えば、 演算された比率デ —夕の小数点以下を切り捨てるようにしても良い。 また、 この丸め演算 を行う際に、 演算された相関データをまず数倍してから下位数ビッ トを 丸めるようにしても良い。
このようにすれば、 同じ音声でも発声の状態によってわずかに異なる ことがある相関データの下位数ビッ トを無視してパターンマッチングの 処理を行う ことができ、 相関演算部 4より出力される相関データとデ一 タメモリ 6 より読み出されるマッチングデータとの一致率を上げて、 音 声認識率を更に向上させることができる。
また、 相関演算部 4により得られた一連の相関データをそのままパタ —ンマッチング処理に用いるのではなく、 一連の相関デ一夕のうち最初 と最後の数個の相関データはパターンマッチング処理に用いないように しても良い。 あるいは、 データ生成部 3により得られた一連の振幅デ一 夕およびタイミ ングデータのうち、 最初と最後の数個の振幅データおよ びタイミングデータは用いずに相関データを求めるようにしても良い。 人間が発声した音声を処理して各標本点における振幅データと夕イミ ングデ一夕とを検出する場合、 発声の最初の部分と最後の部分で得られ る振幅データとタイミングデ一夕は不正確であることも考えられる。 そ こで、 このように信頼性の低い発声の最初と最後の部分で生成された振 幅デ一夕とタイミングデ一夕、 あるいはこれから作られる相関デ一夕を 除外してパターンマッチングを行うようにすることにより、 音声認識率 を更に向上させることができる。
また、 上記実施形態のデータ生成部 3では、 入力アナログ信号をデジ タル化したデータの中から、 デジタルデータの微分絶対値が " 0 " を含 む所定値以下となる点を標本点として検出しているが、 標本点検出の方 法はこれに限定されるものではない。 例えば、 Aノ D変換^ 2より供給 される一連のデジタルデータの中から、 前後の位置と比べて微分絶対値 が小さくなる位置、 つまり微分絶対値の極小値が現れる位置を標本点と して検出するようにしても良い。
この場合、 標本点を検出するための処理として、 A Z D変換器 2より 供給されるデジタルデータを 1回微分した後、 得られた微分絶対値を更 に微分することによって 2重微分を実行し、 その 2重微分値の極性がマ ィナスまたはゼロからプラスに変化する直前の点を標本点として抽出す るようにしても良い。 さらに、 このように 2重微分値の極性に基づき抽 出した各点のうち、 1回微分絶対値が一定値より小さくなる点のみを正 規の標本点として検出するような処理を行うようにしても良い。
すなわち、 1回微分により得られる微分絶対値の極小点においては、 その 1回微分絶対値を更に微分した 2重微分値の極性は、 必ずマイナス からプラスに変化する。 したがって、 デジタルデータの 2重微分値を求 めてその極性がマイナスからプラスに変化する点 ( 2重微分値がゼロの 点を含む) を検出すれば、 1 回微分絶対値の極小点を正確に検出するこ とができる。 このとき、 同じ値の極小点が連続して 2つ生じるような場 合にも、 その一方を標本点として確実に検出することができる。 また、 1回微分絶対値が一定値より小さくなる点のみを正規の標本点として検 出するようにすれば、 不要な点を標本点として検出しないようにするこ とができる。
図 5は、 上記のように 2重微分を行う ことによって標本点を検出する ための構成例を示すブロック図であり、 図 3中の微分器 3 0 1および標 本点検出部 3 0 2の構成例を示している。
図 5に示すように、 微分器 3 0 1は、 第 1の微分部 2 1 と、 丸め演算 部 2 2 と、 第 2の微分部 2 3 とを備えている。 また、 標本点検出部 3 0 2は、 極性変化点検出部 2 4と、 閾値処理部 2 5 とを備えている。
上記第 1の微分部 2 1は、 図 4のように構成され、 図 1 の Aノ D変換 器 2より供給されるデジタルデータを各サンプリ ングポィント毎に微分 し、 その絶対値をとって出力する。 丸め演算部 2 2は、 第 1 の微分部 2 1で演算された 1 回微分絶対値の下位数ピッ トを落とす処理を行う。 こ の処理は、 微分器 3 0 1で算出された微分絶対値に基づき標本点を検出 する際に、 標本点かどうかの判定に裕度を持たせるために行っているも のである。
例えば、 下位 1 ビッ トを落とせば、 実際に算出された微分絶対値が 0 〜 1 の範囲は全て微分絶対値が 0であるとみなして判定を行う ことがで きる。 また、 下位 2 ビッ トを落とせば、 実際に算出された微分絶対値が 0 〜 3の範囲は全て微分絶対値が 0であるとみなして判定を行う ことが できる。 ここでは、 上記 1回微分絶対値を 8で除算することで下位 3 ビ ッ トを落とす処理を行う。 このようにすることにより、 雑音などの微小 変動による影響を避け、 不要な点を標本点として検出しないようにする ことができる。
上記丸め演算部 2 2より出力されたデ一夕は、 第 2の微分部 2 3およ び標本点検出部 3 0 2内の閾値処理部 2 5 に供給される。 この第 2の微 分部 2 3 も図 4のように構成され、 上記丸め演算部 2 2により丸め演算 が行われた 1回微分絶対値を更に各サンプリ ングポイント毎に微分する 。 この第 2の微分部 2 3 により求められた 2重微分値およびその極性を 表すポロゥ値は、 標本点検出部 3 0 2内の極性変化点検出部 2 4に供給 される。
上記極性変化点検出部 2 4は、 微分器 3 0 1 内の第 2の微分部 2 3よ り供給された 2重微分値の極性がマイナスからプラスに変化する直前の 点、 例えば、 極性がマイナスの 2重微分値が連続して得られている場合 において最後にマイナスとなる点、 あるいは 2重微分値がゼロとなる点 を標本点の候補として抽出する。 極性がマイナスの 2重微分値が連続し て得られていない場合における当該マイナスの点を標本点の候補として 更に抽出しても良い。
ところで、 標本点の検出に裕度を持たせるために丸め演算部 2 2で微 分絶対値の下位数ビッ トを落とした場合には、 同 'じ値の極小値が連続し て 2つ生じるケースが増えることが考えられる。 この場合でも、 2重微 分値を求めてその極性がマイナスからプラスに変化する点 ( 2重微分値 がゼロの点を含む) を検出すれば、 同じ値の極小点のうちの一方を標本 点として確実に検出することができる。
なお、 同じ値の極小値が連続して 2つ生じた場合、 図 4に示すノー ド dに出力される差分器 3 1 のポロウ値に基づいて微分値の正負の極性を 判断し、 微分値の極性が変化する側を標本点として検出するようにして も良い。
また、 微分値の極性が変化しない場合には、 同じ値が連続する 2つの サンプリ ングポイントの前後に位置するサンプリ ングポイントの微分絶 対値の大小関係を見て、 その値が小さい方に近い点を標本点として検出 するようにしても良い。
閾値処理部 2 5は、 上記極性変化点検出部 2 4により抽出された標本 点の候補について、 丸め演算部 2 2より供給される 1回微分絶対値と、 あらかじめ定められた閾値とを比較し、 1回微分絶対値が閾値より小さ くなる点のみを正規の標本点として検出し、 図 3のタイミング生成部 3 0 3 に伝える。
なお、 上記図 5の例では、 丸め演算部 2 2にて丸め演算が施された 1 回微分絶対値を用いて閾値処理を行っているが、 第 1 の微分部 2 1で求 められた、 丸め演算が施される前の 1回微分絶対値を用いて閾値処理を 行うようにしても良い。 また、 上記図 5では、 2重微分値の極性がマイ ナスからプラスに変化する直前の点を標本点として抽出しているが、 マ ィナスからプラスに変化した直後の点を標本点として抽出するようにし ても良い。
また、 標本点を検出する他の手法として、 微分絶対値は用いずに、 極 性を含む微分値に基づいて標本点を検出するようにしても良い。 例えば 、 A Z D変換器 2より出力されたデジタルデータを 1 回微分して、 その 微分値の極性が変化する点を標本点として検出するようにすることが可 能である。 この場合、 図 3の微分器 3 0 1 は、 A Z D変換器 2より入力 されたデジタルデータを 1回微分する。 このとき微分器 3 0 1は、 所定 周波数の入力クロック C K 0が与えられる毎にデジタルデータの微分を 行う。 微分値は、 ある入力クロック C K 0のタイミ ングで取り込んだ現 デ一夕から時間的に 1つ前のデータを減算することによって求まる。 こ のとき、 データのないところはデフォルト値とする。
また、 標本点検出部 3 0 2は、 微分器 3 0 1 により算出された微分値 の他に、 A / D変換器 2より出力されたデジタルデータも入力する。 そ して、 これらのデータに基づいて、 デジタルデ一夕の微分値の極性が変 化する点を標本点として検出する。
例えば、 標本点検出部 3 0 2は、 まず、 微分値の極性が正から負に変 わる点、 微分値の極性が負から正に変わる点、 および微分値が 0 となる 点を検出する。 そして、 微分値の極性が正から負に変わる点に関しては 、 その正負両側の点のうち、 A Z D変換器 2からのデジタルデータ値が 大きい方を標本点として検出する。 また、 微分値の極性が負から正に変 わる点に関しては、 その正負両側の点のうち、 A D変換器 2からのデ ジタルデータ値が小さい方を標本点として検出する。 また、 微分値が 0 となる点に関しては、 その点自体を標本点として検出する。 また、 微分 値が 0 となる点が 2つ以上連続して現れる場合には、 例えば、 その両端 の位置を標本点として検出する。 タイミング生成部 3 0 3は、 1つの標本点が検出されてから次の標本 点が検出されるまでに供給されるクロック C K 0の数をカウントし、 こ れをタイミングデータとして出力するとともに、 各標本点の検出点の夕 イミングを表すタイミングクロックを出力する。
また、 上記振幅生成部 3 0 4は、 このタイミング生成部 3 0 3より出 力されるタイミングクロックに従って、 該当する標本点位置のデジタル データのみを取り出して振幅データとして出力する。
次に、 本実施形態による音声合成装置について説明する。
本実施形態の音声合成装置では、 所定の単語あるいは文章などを表じ たテキス トデータと、 その単語あるいは文章に対応する音声信号から図 1 の音声認識装置におけるデータ生成部 3 までの処理によって生成した 振幅データおよびタイミングデータの組とを互いに関連付けておく。 そして、 指定されたテキス トデ一夕から音声を合成して出力するとき に、 そのテキス トデータに関連付けられた振幅データとタイミングデ一 夕とを用いて後述するような補間演算を行う ことにより、 個々の振幅デ 一夕の間を補間する補間データを生成し、 これを D / A変換して出力す る。
図 6は、 本実施形態による音声合成装置の構成例を示すブロック図で ある。 図 6 に示すように、 本実施形態の音声合成装置は、 テキス ト解析 部 1 1 と、 データ読出部 1 2 と、 データメモリ 1 3 と、 タイミングジェ ネレ一夕 1 4と、 D型フリ ップフロップ 1 5 と、 補間処理部 1 6 と、 D Z A変換器 1 7 と、 L P F 1 8 とを備えて構成されている。
データメモリ 1 3は、 様々な音節、 単語あるいは文章などを表したテ キス 卜データに対応する音声から生成された振幅データおよびタイミン グデータの組を、 上記テキス トデータと関連付けて記憶している。 ここ に記憶される振幅デ一夕おょぴタイミ ングデータは、 図 1 に示した音声 認識装置のデータ生成部 3 までと同様の処理によって生成されるもので ある。
なお、 ここでは、 テキス トデータに対応する音声から生成した振幅デ —夕およびタイミングデ一夕をそのテキス トデータに関連付けて記憶し ているが、 アイコン、 C Gデ一夕、 画像データなどのテキスト以外の形 式によるデータに対応する音声 (例えば、 解説音声など) から生成した 振幅データおよびタイミングデータを当該データに関連付けて記憶する ようにしても良い。
テキス ト解析部 1 1 は、 指定された所望のテキス トデータを解析し、 その音節、 単語あるいは文章などの内容を認識する。 なお、 アイコン、 C Gデータ、 画像データなどが指定されたときは、 それらを解析して何 が指定されているかを認識することになる。 データ読出部 1 2は、 テキ ス ト解析部 1 1 による解析結果に基づいて、 指定されたテキス トデータ 等の内容に対応する振幅データとタイミングデータとをデータメモリ 1 3内から読み出す。
タイミングジェネレータ 1 4は、 デ一夕メモリ 1 3から読み出される タイミングデータを受けて、 そのタイミングデータで示される不定の時 間間隔を表す読み出しクロックを所定周波数の入力クロック C K 0から 生成する。 D型フリ ップフロップ 1 5は、 デ一タメモリ 1 3に上記タイ ミングデータとの組で記憶されている振幅データを、 上記タイミングジ エネレー夕 1 4により生成された読み出しクロックに従ったタイミング で順次取り込んで保持し、 それを補間処理部 1 6 に出力する。
この補間処理部 1 6 には、 上記 D型フリ ップフロップ 1 5の入出力段 の振幅データ、 つまりある読み出しクロックのタイミングで D型フリ ッ プフロップ 1 5 に保持されている振幅データと、 次の読み出しクロック のタイミングで D型フリ ップフロップ 1 5 に保持されるべき振幅データ (連続する 2つの標本点における 2つの振幅データ) が入力されている 補間処理部 1 6は、 このよう に入力される 2つの振幅デ一夕と、 タイ ミングジェネレータ 1 4より入力されるタイミングデータとを用いて、 後述する補間演算もしくはコンポリューシヨ ン演算等によって各標本点 間のデジタル補間デ一夕を生成する。 そして、 このようにして生成した デジタル補間データを DZA変換器 1 7によってアナログ信号に変換し た後、 L P F 1 8を介してアナログの合成音声信号として出力する。 次に、 図 7を用いて、 上記補間'処理部 1 6におけるデータ補間処理の 原理を説明する。 図 1のデータ生成部 3と同様の処理を図 2に示した音 声信号に施すことで生成される振幅データとタイミングデータとの組が データメモリ 1 3の中に記憶されている場合、 そのデータは、 (※, 7 ) ( 5 , 3 ) ( 7 , 9 ) ( 3 , 1 ) ( 3 , 6 ) ( 3 , 3 ) の数値列とな る。 なお、 ※は図 2中には値が図示されていないことを示すものである 。 データメモリ 1 3からは、 こ こに示した順序に従つてデータが読み出 される。
すなわち、 まず最初にデ一タメモリ 1 3から読み出される振幅データ 値 " 7 " とタイミングデータ値 " 5 " との 2つのデ一タ値から、 補間演 算によって波形 a 1のデータを生成する。 次に、 上述のタイミングデ一 タ値 " 5 " と、 続いて読み出される振幅データ値 " 3 " との 2つのデ一 夕値から、 補間演算によって波形 a 2のデータを生成する。
次に、 上述の振幅データ値 " 3 " と、 続いて読み出されるタイミング デ一夕値 " 7 " との 2つのデータ値から、 補間演算によって波形 b 2の データを生成する。 さらに、 上述のタイミングデータ値 " 7 " と、 更に 続いて読み出される振幅データ値 " 9 " とから、 補間演算によって波形 b lのデータを生成する。 以下同様にして、 順に読み出される振幅デー タ値とタイミングデ一夕値の組合せから、 波形 c l, c 2 , d 2 , d 1 , e l, e 2のデータを順次生成する。
以上のような処理により、 波形 a l, b l, c l, d 1 , e lが連続 化されたデジタル信号 (図 7の上段) と、 波形 a 2 , b 2 , c 2 , d 2 , e 2が連続化されたデジタル信号 (図 7の下段) とが生成される。 そ して、 このようにして生成した 2つのデジタル信号を互いに加算してデ ジタルーアナログ変換することにより、 図 2に示したような波形を有す るアナログ音声信号を合成する。
図 8は、 図 7 に示した時刻 T l — T 2の区間を取り出して示したもの であり、 図 8 ( a ) は加算前の 2つの波形 a l, a 2 を示し、 図 8 ( b ) は加算により生成した合成波形 a 1 + a 2 を示している。
図 8 ( a ) において、 D 1 は時刻 T 1 における振幅データ値 (図 7の 例では " 7 " ) 、 D 2は時刻 T 2 における振幅データ値 (図 7の例では " 3 " ) 、 Tは時刻 T 1 一 T 2間の時間間隔を表すタイミングデータ値 (図 7の例では " 5 " ) 、 t は時刻 T 1 — T 2間の任意のタイミングを 示している。
図 8 ( a ) に示すように、 時刻 T 1 における振幅データ値 D 1 と時刻 T 1 — T 2間の時間間隔を表すタイミングデータ値 Tとを用いて、 時刻 T 1 一 T 2間の任意のタイミング t を変数として、 つまりあるサンプリ ング周波数に基づく クロック C K 0 に従ってタイミング t の値を 1つず つインクリメントしながら、 波形 a 1 のデータを補間演算によって生成 する。
また、 時刻 T 2における振幅データ値 D 2 と時刻 T 1 — T 2間の時間 間隔を表すタイミングデータ値 Tとを用いて、 同様にタイミング t を変 数として波形 a 2のデータを補間演算によって生成する。
そして、 このようにして生成した波形 a 1 , a 2のデ一タを上記タイ ミング t を変数として加算することにより、 図 8 ( b ) のような波形を 合成する。
以下に、 上述のような補間処理によって音声信号を合成できる原理に ついて説明する。
一般に、 離散的なデジタルデータから連続的なアナログ信号を得るた めに、 離散的に入力されるデジタルデータの間を補間して擬似的にサン プリ ング周波数を上げることが行われている。 通常、 このようなデータ 補間は、 所定の標本化関数を用いて行われる。
図 9 に、 標本化関数の一例として s i n c関数を示す。 図 9に示す s i n c関数の例では、 t = 0のサンプリ ングポイントのみで値が " 1 " になり、 等間隔の他の全てのサンプリ ングポイン ト ( t = ± l , ± 2 , 土 3 , ± 4 , ··· ) では値が全て " 0 " となっている。
図 1 0は、 このような標本化関数を用いた一般的なデータ補間の動作 を説明するための図である。 図 1 0において、 等間隔のサンプリ ングポ イント t l , t 2 , t 3 , t 4のそれぞれにおける離散デ一夕の値を Y ( t 1 ) , Υ ( t 2 ) , Υ ( t 3 ) , Υ ( t 4 ) とし、 例えばサンプリ ングポイント t 2 と t 3の間の所定位置 t 0 ( t 2から距離 a ) に対応 した補間値 yを求める場合を考える。
一般に、 補間値 yを標本化閼数を用いて求めるには、 与えられた各離 散データのそれぞれについて補間位置 t 0における標本化関数の値を求 め、 これを用いて畳み込み演算を行えばよい。 具体的には、 t 1〜 t 4 の各サンプリ ングポイント毎に、 標本化関数の中心位置におけるピーク 高さを一致させ、 このときのそれぞれの補間位置 t 0 における標本化関 数の値 (X印で示す) を求めて、 それらを全て加算する。
このような補間処理を、 時間経過と共に (サンプリ ングクロックのィ ンクリメントと共に) 補間位置 t 0を順次移動させながら行う ことによ り、 連続的に変化する補間値 y ( t 0 ) を順次求めていく。 これにより 、 各離散データ間をより滑らかにつなぐデジタル波形を得ることができ 、 これを D/A変換することによって、 連続したアナログ信号を得るこ とができる。
本実施形態は、 このようなデ一夕補間処理を応用したものである。 す なわち、 図 8 ( a ) に示したように、 時刻 T 2 において既に入力されて いる振幅データ値 D 1 (= 7 ) とタイミングデータ値 T (= 5 ) とから 、 第 1の標本点 (時刻 T 1 ) において " 0 " 以外の値をとる標本化関数 の一部を形成する波形 a 1 を求めるとともに、 振幅データ値 D 2 (= 3 ) とタイミングデータ値 T (= 5 ) とから、 第 2の標本点 (時刻 T 2 ) において " 0 " 以外の値をとる標本化関数の一部を形成する波形 a 2 を 求める。
そして、 これらの波形 a 1, a 2の値を時間経過と共に順次移動する 補間位置 t ごとに加算することにより、 離散データ D 1 , D 2間をより 滑らかにつなぐデジタル波形を得て、 これを D Z A変換することによつ て、 連続したアナログ信号を得る。
ところで、 本実施形態では図 2に示したように、 デジタルデータをそ の微分絶対値が所定値以下となる点の時間間隔で標本化することなどに よって離散的なデータを得ている。 そのため、 離散データが得られたそ れぞれの標本点の間隔は常に等間隔になるとは限らず、 多くの場合は不 定の間隔となる (図 2の例でも、 各標本点の間隔が " 5 , 7 , 3 , 3 , 3 " と不定になっている) 。
そこで、 音声合成装置において、 例えば時刻 T 1 一 T 2間の補間値を 求める際には、 図 8のように、 その時刻 T 1 , T 2の標本点間の時間間 隔で標本化関数 a 1, a 2のみを用いて上述のような畳み込み演算を行 い、 標本点間の時間間隔がこれとは異なる他の標本化関数 b 1, b 2, c 1 , c 2, d 1 , d 2 , e l, e 2についてはこの畳み込み演算の際 に考慮しないようにする。
また、 例えば時刻 T 2 — T 3間の補間値を求める際には、 その時刻 T 2, T 3の標本点間の時間間隔 ( = 7 ) で標本化関数 b 1 , b 2 のみを 用いて畳み込み演算を行い、 標本点間の時間間隔がこれとは異なる他の 標本化関数 a l, a 2 , c 1 , c 2 , d l , d 2 , e l, e 2 について はこの畳み込み演算の際に考慮しないようにする。 他の標本点間の補間 値を求める際も同様である。
次に、 上記データ補間の具体的な処理例について以下に説明する。 上 述したように、 例えば時刻 T 1 — T 2間の補間値を求める際には、 時刻 T 1 , T 2における各振幅データ値と、 時刻 T 1 一 T 2間の時間間隔を 表すタイミングデータ値とから求められる標本化関数 a 1 , a 2のみを 用いる。 つまり、 時刻 T 1 一 T 2間における各補間位置 t における補間 値を求めるために必要なデータは、 全て時刻 T 2の時点で得られており 、 この時点で図 8 ( b ) に示すような信号を合成することが可能である そこで、 本実施形態では、 T 1〜T 6の各離散時刻ごとに 2つの振幅 データ値 D 1, D 2 とその時間間隔を表すタイミングデータ値 Τとが得 られるごとに、 それらのデータ値を用いて以下に説明するような補間演 算式に従って補間値を算出することにより、 デジタル波形を順次合成す る。 図 1 1は、 この補間演算式について説明するための図である。
図 1 1 に示すように、 振幅データ値 D l , D 2 を有する 2つの標本点 間の補間値は、 補間位置 t に関する 2つの 2次関数 X 1 , X 2がちょう ど中間時点で連続化した関数によって表すことができる。 すなわち、 本 実施形態では、 2つの標本点間を前半部と後半部とに分けて、 それぞれ 2次関数 X 1 , X 2 を用いて補間値を計算する。 こ こで、 標本点間の時間間隔であるタイミングデータ値 Tは、 奇数の 場合もあれば偶数の場合もあり、 奇数の場合にはちょうど中間時点に補 間位置 tがこない状態が生じる。 そのため、 振幅データとタイミ ングデ 一夕の生成時に 2倍のオーバ一サンプリ ングを実行することにより、 得 られるタイミングデータ値が常に偶数となるようにしても良い。 この場 合、 図 2 に示した 5つのタイミングデータ値 " 5 , 7 , 3 , 3 , 3 " は 、 実際には 2倍のォ一バーサンプリ ングによって " 1 0 , 1 4, 6 , 6 , 6 " という値としてデ一夕メモリ 1 3 に蓄積される。 図 1 1では、 標 本点間の時間間隔をオーバ一サンプリ ングされた後の 2 Tによって表し ている。
図 1 1 において、 2つの 2次関数 x l , x 2はそれぞれ、
X 1 = D 1 + a t 2 …(1)
x 2 =D 2 - a ( t - 2 T)2 …(2)
で表される。 また、 これらの関数 x l, x 2は、 連続する標本点のちょ うど中間時点 Tにおいて連続であるため、
X 1 = X 2 ( t = T ) …(3)
である。
こ こで、 式(3) に式(1) (2)を代入すると、
D 1 + a T = D 2 — a T 2 …(4)
となり、 これを aについて解く と、
a =— (D 1 - D 2 )/ 2 T 2 … (5)
となる。 したがって、 この式(5) を式(1) (2)を代入することにより、
X 1 = D 1 - { (D 1 - D 2 ) / 2 T 2 } t 2 - (6)
X 2 = D 2 + { (D 1 - D 2 ) 2 T 2 } (2 T - t ) 2 … ) を得る。
つまり、 元の 2倍のサンプリング周波数のクロックに従って順次ィン クリ メントされる補間位置 t を変数として上記式(6) (7)の演算を行う こ とにより、 元の離散デ一夕間をより滑らかにつなぐデジタル波形を合成 することができる。 本実施形態では、 このような補間演算処理を振幅デ —夕値とタイミングデータ値とから成る信号列が各離散時刻 T 1〜 T 6 ごとに入力されるに従って順次行う。
すなわち、 図 7の例において、 時刻 T 1 , T 2における標本点の振幅 データ値とその間のタイミングデータ値とが入力された時点で、 その標 本点間の補間演算を行って滑らかなデジタル波形を直ちに合成する。 更 に時刻 T 3 における標本点の振幅データ値と標本点 T 2 — T 3間のタイ ミングデータ値とが入力された時点で、 その間の補間演算を行って滑ら かなデジタル波形を直ちに合成する。 以下同様にして順次処理を行って いく。
以上説明したように、 本実施形態においては、 実際の音声から生成さ れた各標本点における振幅データと各標本点間の間隔を表すタイミング デ一夕とをテキス トデータと関連付けておき、 所望のテキス トデータが 指定されたときに、 それに対応する振幅デ一夕とタイミングデ一夕とか ら、 補間演算によってアナログ音声信号を合成して出力するようにして いる。 これにより、 あらかじめ録音した音声信号を利用して音声を合成 (再生) する方式と比べて、 極めて少ない量のデータ (振幅データおよ びタイミングデータ) を記憶しておくだけで、 人間の肉声に近い高品質 の音声をテキス トデータ等から合成することができる。 また、 読み出さ れるデ一夕を簡単な補間演算によって順次に処理して音声を合成するこ とができるので、 リアルタイム動作を実現することができる。
なお、 上記式(6) (7)に示す補間演算処理は、 ロジック回路などの八一 ドウエア構成によっても実現可能であるし、 D S P (Digital Signal Pr ocessor) あるいはソフ トウェア ( R〇 Mや R A Mなどに格納されたプロ グラム) によっても実現可能である。
(第 2 の実施形態)
次に、 本発明の第 2の実施形態について説明する。
第 2 の実施形態において、 音声認識装置では、 少なく ともデ一夕生成 部 3により振幅データとタイミングデータとを生成する前の段階で、 与 えられたデジタルデータに対して n倍オーバ一サンプリ ングと移動平均 演算または畳み込み演算 (以下では、 コンポリ ューシヨ ン演算と称する ) とを行う ことにより、 離散的なデータの間を補間によってつないだ、 より滑らかなデ一夕を得るようにする。
図 1 2は、 第 2の実施形態による音声認識装置の全体構成例を示すブ ロック図である。 図 1 2 に示すように、 第 2の実施形態による音声認識 装置は、 図 1 に示した第 1の実施形態による音声認識装置に対して、 ォ —バーサンプル回路 9 と P L L (Phase Locked Loop ) 回路 1 0 とが追 加されている。
上記オーバーサンプル回路 9は、 AZD変換器 2 とデータ生成部 3 と の間にあり、 AZD変換器 2より入力されるデジタルデータに対して n 倍のオーバーサンプリ ングとコンポリュ一ショ ン演算とを行う ことによ り、 離散データの間を埋めるデジタルの補間値を求める。 例えば、 ォ一 バーサンプル回路 9は、 4 4. Ι ΚΗ ζ の周波数でサンプリングされた 音声データを入力し、 これを 8倍の周波数 ( 3 5 2. 8 K H z ) でォ一 バーサンプリ ングするとともに、 コンポリ ユーショ ン演算を実行する。 そして、 これによつて得られた一連のオーバ一サンプルデータをデータ 生成部 3に出力する。
データ生成部 3は、 上記オーバ一サンプル回路 9より供給される一連 のオーバーサンプルデータの中から、 上述した何れかの方法によって標 本点を検出する。 そして、 検出した各標本点における振幅データ値と、 各標本点が現れる時間間隔を表すタイミングデ一夕値との組を、 モード 指定部 8により指定されているそのときのモードに応じて、 データ登録 部 5あるいはデータ照合部 7 に出力する。
また、 P L L回路 1 0は、 基準周波数 (例えば 4 4 . 1 K H z ) の入 カクロック C K 0から 8倍周波数 ( 3 5 2 . 8 K H z ) のクロック C K 1 を生成し、 それを上述のオーバーサンプル回路 9およびデータ生成部 3に供給する。 オーバ一サンプル回路 9およびデータ生成部 3では、 こ の 8倍周波数のクロック C K 1 に同期して動作することになる。
一方、 音声合成装置において、 8倍周波数のクロック C K 1 に従って 生成された振幅データとタイミングデータとをデータメモリ 1 3 に記憶 する場合には、 図 6 に示した第 1 の実施形態による音声合成装置に対し て、 図示しないクロックジェネレータを追加する必要がある。
このクロックジェネレータは、 基準周波数の入力クロック C K 0から 8倍周波数のクロック C K 1 を生成し、 それをタイミングジェネレータ 1 4、 補間処理部 1 6および D A変換部 1 7に供給する。
次に、 上記図 1 2 に示した音声認識装置内のォ バ一サンプル回路 9 の構成および動作について、 以下に詳細に説明する。
本実施形態のオーバ一サンプル回路 9では、 2つの離散データ間の補 間値を求める際に、 この 2つの離散データを含む n個の離散データの値 に応じた振幅を有する基本波形のデジタルデータを夫々オーバ一サンプ リ ングするとともに、 得られた n個のデータどう しをコンポリューショ ン演算により合成することによって、 上記 2つの離散データ間を埋める 補間値をデジタル的に求める。
図 1 3は、 本実施形態で用いるデジタル基本波形の説明図である。 図 1 3 に示すデジタル基本波形は、 オーバ一サンプリ ングによるデータ補 間を行う際に使用する標本化関数の基本となるものである。 このデジ夕 ル基本波形は、 基準周波数の 1 クロック (C K 0 ) 毎にデータ値を一 1 , 1, 8, 8 , 1, — 1 と変化させて作成したものである。
以下に、 図 1 4を用いて、 図 1 3のように正規化されたデジタル基本 波形に応じた離散的なデータ値 (一 1, 1, 8 , 8 , 1 , 一 1 ) 8か ら、 n倍のオーバーサンプリ ングとコンポリユーショ ン演算によって補 間値を生成する場合を例にとって、 本実施形態によるデータ補間の原理 を説明する。 なお、 図 1 4では、 図面の都合上 4倍のオーバーサンプリ ングを行う例について示しているが、 図 1 2のオーバーサンプル回路 9 では、 実際には 8倍のオーバーサンプリ ングを行っている。
図 1 4において、 一番左の列に示される一連の数値列は、 元の離散デ 一夕値 (一 1, 1, 8 , 8 , 1 , — 1 ) / 8に対して 4倍のオーバーサ ンプリ ングを行った値である。 また、 一番左から右に向かって 4列分の 数値列は、 一番左の列に示される数値列を 1つずつ下方向にシフ 卜して いったものである。 図 1 4の列方向は時間軸を示しており、 数値列を下 方向にシフ 卜するということは、 一番左の列に示される数値列を徐々に 遅延させていく ことに対応する。
すなわち、 左から 2列目の数値列は、 一番左の列に示される数値列を 4倍周波数のクロック 4 C L Kの 1 4位相分だけずらした数値列であ ることを示す。 また、 左から 3列目の数値列は、 左から 2列目に示され る数値列を 4倍周波数のクロック 4 C L Kの 1ノ 4位相分だけずらした 数値列、 左から 4列目の数値列は、 左から 3列目に示される数値列を 4 倍周波数のクロック 4 C L Kの 1ノ 4位相分だけ更にずらした数値列で あることを示す。
また、 左から 5列目の数値列は、 1〜 4列目の各数値列を対応する行 どう しで加算して 4で割った値である。 この左から 5列目までの処理に より、 4相のコンポリューショ ン演算を伴う 4倍のオーバーサンプリ ン グがデジタル的に実行されることになる。
上記 5列目から右に向かって 4列分の数値列 (左から 5〜 8列の数値 列) は、 5列目に示される数値列を 1つずつ下方向にシフ トしていった ものである。 また、 左から 9列目の数値列は、 5〜 8列目の各数値列を 対応する行どう しで加算して 4で割つた値である。 この左から 9列目ま での処理により、 4相のコンポリューショ ン演算を伴う 4倍のオーバー サンプリ ングがデジタル的に 2回実行されることになる。
また、 左から 1 0列目の数値列は、 9列目に示される数値列を 1つ下 方向にシフ トしたものである。 また、 左から 1 1列目 (一番右の列) の 数値列は、 9列目の数値列と 1 0列目の数値列とを対応する行どう しで 加算して 2で割った値である。 この一番右の数値列が、 目的の補間値と いう ことになる。
この図 1 4の一番右の列に示される最終的に得られた数値列をグラフ 化したのが、 図 1 5である。 図 1 5に示すような波形を有する関数は、 全域において 1 回微分可能であつて、 横軸に沿った標本位置 tが 1から 3 3の間にあるときに 0以外の有限な値を有し、 それ以外の領域では値 が全て 0 となる関数である。
なお、 関数の値が局所的な領域で " 0 " 以外の有限の値を有し、 それ 以外の領域で " 0 " となる場合を 「有限台」 と称する。
また、 図 1 5の関数は、 t = l 7の標本点でのみ極大値をとり、 t = 1 , 9 , 2 5, 3 3の 4つの標本点において値が 0 になるという特徴を 有する標本化関数であり、 滑らかな波形のデータを得るために必要なサ ンプル点は全て通る。
このように、 図 1 5に示す関数は、 標本化関数であって、 全域におい て 1 回微分可能であり、 しかも標本位置 t = l , 3 3において 0 に収束 する有限台の関数である。 したがって、 図 1 5の標本化関数を用いて各 離散データに基づく重ね合わせを行う ことにより、 離散データ間の値を 1回微分可能な関数を用いて補間することが可能である。
データ補間処理に一般的に用いられる図 9のような s i n c関数は、 t = ±∞の標本点で 0に収束する関数であるため、 補間値を正確に求め よう とすると、 t = ±∞までの各離散データに対応して補間位置での s i n c関数の値を計算し、 これを用いて畳み込み演算を行う必要がある 。 これに対して、 本実施形態で用いる図 1 5の標本化関数は、 t = l, 3 3の標本点で 0 に収束するため、 t = 1〜 3 3の範囲内での離散デー 夕だけを考慮に入れればよい。
したがって、 ある 1つの補間値を求める場合には、 限られた n個の離 散データの値のみを考慮すればよいことになり、 処理量を大幅に削減す ることができる。 しかも、 t = l〜 3 3の範囲外の各離散データについ ては、 本来考慮すべきであるが処理量や精度等を考慮して無視している というわけではなく、 理論的に考慮する必要がないため、 打ち切り誤差 は発生しない。 したがって、 本実施形態のデータ補間手法を用いれば、 正確な補間値を得ることができ、 この正確な補間値を用いて音声認識処 理をすることで、 認識率を向上させることができる。
図 1 6は、 図 1 2 に示したオーバ一サンプル回路 9の構成例を示すブ ロック図である。 図 1 6 に示すように、 本実施形態のオーバーサンプル 回路 9は、 正規化データ記憶部 4 1 と、 位相シフ ト部 4 2 と、 複数のデ ジタル乗算器 4 3 a〜 4 3 dと、 複数のデジタル加算器 4 4 a〜 4 4 c とを備えて構成される。 なお、 図 1 6 中に示される P L L回路 1 0は、 図 1 2に示したのと同じものである。
上記正規化データ記憶部 4 1は、 図 1 4の一番右の列に示したように 正規化されたデータ列を 4相にずらして記憶している。 なお、 図 1 4で は、 図 1 3に示したデジタル基本波形に対して 4倍のオーバ一サンプリ ングを行う例を示しているが、 図 1 2のオーバ一サンプル回路 9では 8 倍のオーバーサンプリ ングを実施しているので、 この正規化データ記憶 部 4 1 には、 デジタル基本波形が 8倍にオーバーサンプリ ングされてコ ンポリューショ ン演算により正規化されたデータ列が記憶される。 この 正規化データ記憶部 4 1 に記憶された 4相の正規化データは、 P L L回 路 1 0より供給されるクロック C K O , C K 1 に従って読み出され、 そ れぞれ 4つのデジタル乗算器 4 3 a〜 4 3 dの一方の入力端子に供給さ れる。
また、 位相シフ ト部 4 2は、 AZD変換器 2 より入力される離散デ一 夕の位相を 4相にずらす位相シフ ト処理を行う。 この位相シフ ト部 4 2 により生成された 4相の離散データは、 P L L回路 1 0より供給される クロック C K O , C K 1 に従って出力され、 それぞれ 4つのデジタル乗 算器 4 3 a〜 4 3 dの他方の入力端子に供給される。
上記 4つのデジタル乗算器 4 3 a〜 4 3 dは、 上記正規化データ記憶 部 4 1 より出力される 4相の正規化データと、 上記位相シフ ト部 4 2よ り出力される 4相の離散データとをそれぞれ乗算する。 これらの後段に 接続された 3つのデジタル加算器 4 4 a〜 4 4 cは、 上記 4つのデジ夕 ル乗算器 4 3 a〜 4 3 dでの乗算結果を全て加算し、 その加算結果を図 1 2のデータ生成部 3に出力する。
この図 1 6 に示す構成から明らかなように、 本実施形態では、 図 1 4 に示したようなコンポリューシヨ ン演算により得られる一番右の列の正 規化データをあらかじめ R〇 M等の正規化データ記憶部 4 1に記憶して おく。 そして、 この正規化データを入力される離散デ一夕の値に応じた 振幅に変調し、 これにより得られたデータを 4相のコンポリューショ ン 演算により合成して出力するようにしている。 入力される離散データの振幅値を図 1 3に示したデジタル基本波形に 対して乗算し、 それにより得られたデータ値に対して図 1 4に示したよ うなコンポリューシヨ ン演算を音声認識時に行うようにしても良いが、 オーバ一サンプル回路 9 を図 1 6のように構成した場合には、 実際の音 声認識時に図 1 4のコンポリ ューション演算そのものを行う必要がなく 、 認識処理を高速化することができるというメ リ ッ トを有する。
なお、 ォ一バーサンプル回路 9では 8倍のオーバ一サンプリ ングを実 施しているが、 8倍には限定されない。 例えば、 2倍、 4倍などであつ ても良い。
以上詳しく説明したように、 第 2の実施形態においては、 音声認識装 置において、 入力される離散的なデジタルデータに対してオーバ一サン プリ ングとコンポリューショ ン演算とを行って滑らかに変化する連続的 なデータを生成し、 得られたオーバーサンプルデータから離散的な振幅 データ値とそれらの不定の時間間隔を表すタイミングデータ値とを得る ようにしている。
ここで、 オーバーサンプリ ングとコンポリューショ ン演算を実行する 際にデジタル基本波形から生成される関数は、 有限の標本位置で値が 0 に収束する有限台の標本化関数であり、 1回微分可能な関数である。 そ のため、 ある 1つの補間値を求める場合には、 限られた数の離散データ の値のみを考慮すればよいことになり、 処理量を大幅に削減することが できる。 しかも、 打ち切り誤差が生じないため、 正確な補間値を得るこ とができ、 この補間値を用いて音声認識処理をした場合に、 音声の認識 率を向上させることができる。
なお、 以上に説明した第 1、 第 2の実施形態による音声認識 · 音声合 成の手法は、 ハードウェア構成、 D S P、 ソフ トウェアの何れによって も実現することが可能である。 例えばソフ トウェアによつて実現する場 合、 本実施形態の音声認識装置および音声合成装置は、 実際にはコンビ ュ一夕の C P Uあるいは M P U、 R A M , R O Mなどで構成されるもの であり、 R A Mや R O Mに記憶されたプログラムが動作することによつ て実現できる。
したがって、 コンピュータが上記本実施形態の機能を果たすように動 作させるプログラムを例えば C D— R O Mのような記録媒体に記録し、 コンピュータに読み込ませることによって実現できるものである。 上記 プログラムを記録する記録媒体としては、 C D— R O M以外に、 フロッ ピ一ディスク、 ハードディスク、 磁気テープ、 光磁気ディスク、 不揮発 性メモリ力一 ド等を用いることができる。
また、 コンピュータが供給されたプログラムを実行することにより上 述の実施形態の機能が実現されるだけでなく、 そのプログラムがコンビ ユー夕において稼働している O S (オペレーティ ングシステム) あるい は他のアプリケーショ ンソフ ト等と共同して上述の実施形態の機能が実 現される場合や、 供給されたプログラムの処理の全てあるいは一部がコ ンピュ一夕の機能拡張ボードや機能拡張ユニッ トにより行われて上述の 実施形態の機能が実現される場合も、 かかるプログラムは本発明の実施 形態に含まれる。
なお、 上記に説明した各実施形態は、 何れも本発明を実施するにあた つての具体化の一例を示したものに過ぎず、 これらによって本発明の技 術的範囲が限定的に解釈されてはならないものである。 すなわち、 本発 明はその精神、 またはその主要な特徴から逸脱することなく、 様々な形 で実施することができる。 産業上の利用可能性
本発明は、 音声信号上の所定の標本点における振幅データとタイミン グデータとを用いた今までにはない全く新しい音声認識手法および音声 合成手法を提供し、 音声認識度の向上、 合成音の高品質化および処理の 簡素化を図るのに有用である。

Claims

請 求 の 範 囲
1 . 入力音声信号を微分してその微分値が所定の条件を満たす点を標本 点として検出し、 検出した各標本点における離散的な振幅データと各標 本点間の時間間隔を表すタイミングデ一夕とを得て、 上記振幅データお よびタイミングデータを用いて相関データを生成し、 この生成した相関 データと、 種々の音声についてあらかじめ同様に生成して蓄積しておい た相関データとの照合により入力音声を認識するようにしたことを特徴 とする音声認識方法。
2 . 上記入力音声信号をその微分絶対値が所定値以下となる点の時間間 隔で標本化するようにしたことを特徴とする請求の範囲第 1項に記載の 音声認識方法。
3 . 上記入力音声信号をその微分絶対値が極小となる点の時間間隔で標 本化するようにしたことを特徴とする請求の範囲第 1項に記載の音声認 識方法。 ,
4 . 上記入力音声信号をその微分値の極性が変化する点の時間間隔で標 本化するようにしたことを特徴とする請求の範囲第 1項に記載の音声認 識方法。
5 . 上記相関データは、 連続する標本点の振幅データ同士の比率および 連続する標本点間のタイミングデ一夕同士の比率であることを特徴とす る請求の範囲第 1項に記載の音声認識方法。
6 . 上記相関データの下位数ビッ トを丸める処理を行う ことを特徴とす る請求の範囲第 1項に記載の音声認識方法。
7 . 上記入力音声信号をオーバーサンプリングし、 当該オーバーサンプ リ ングされたデータをその微分値が所定の条件を満たす点の時間間隔で 標本化するようにしたことを特徴とする請求の範囲第 1項に記載の音声 認識方法。
8. 上記入力音声信号をデジタル化して得られる n個の離散データの値 に応じた基本波形のデジタルデータをオーバ一サンプリ ングと移動平均 演算または畳み込み演算とにより合成することによって上記離散データ に対するデジタルの補間値を求めた後、 上記求めたデジタルの補間値を その微分値が所定の条件を満たす点の時間間隔で標本化するようにした ことを特徴とする請求の範囲第 7項に記載の音声認識方法。
9. 入力音声信号を A/D変換する A/D変換手段と、
上記 A/D変換手段より出力されるデジタルデータを微分する微分手 段と、
上記微分手段により求められた微分値が所定の条件を満たす点を標本 点として検出し、 検出した各標本点における振幅データおよび各標本点 間の時間間隔を表すタイミングデータを生成するデータ生成手段と、 上記データ生成手段により生成された上記振幅データおよびタイミン グデータを用いて相関データを生成する相関演算手段と、 上記相関演算手段により生成された相関データと、 種々の音声につい てあらかじめ同様に生成して記録媒体に蓄積しておいた相関データとを 照合して入力音声を認識するデータ照合手段とを備えたことを特徴とす る音声認識装置。
1 0. 上記データ生成手段は、 上記 AZD変換手段より出力されたデジ タルデ一タをその微分絶対値が所定値以下となる点の時間間隔で標本化 することを特徴とする請求の範囲第 9項に記載の音声認識装置。
1 1. 上記データ生成手段は、 上記 AZD変換手段より出力されたデジ タルデ一夕をその微分絶対値が極小となる点の時間間隔で標本化するこ とを特徴とする請求の範囲第 9項に記載の音声認識装置。
1 2. 上記データ生成手段は、 上記 AZD変換手段より出力されたデジ タルデータをその微分値の極性が変化する点の時間間隔で標本化するこ とを特徴とする請求の範囲第 9項に記載の音声認識装置。
1 3 . 上記相関演算手段は、 上記相関データとして、 連続する標本点の 振幅データ同士の比率および連続する標本点間のタイミングデータ同士 の比率を求めることを特徴とする請求の範囲第 9項に記載の音声認識装 置。
1 4 . 上記相関演算手段は、 上記相関データの下位数ビッ トを丸める処 理を行うことを特徴とする請求の範囲第 9項に記載の音声認識装置。
1 5 . 上記 A Z D変換手段より出力されたデジタルデータに対して偶数 倍周波数のクロックを用いてオーバ一サンプリ ングを行うオーバーサン プリ ング手段を備え、
上記データ生成手段は、 上記オーバーサンプリ ングされたデ一夕をそ の微分値が所定の条件を満たす点の時間間隔で標本化することを特徴と する請求の範囲第 9項に記載の音声認識装置。
1 6 . 上記オーバ一サンプリ ング手段は、 上記 A Z D変換手段より入力 される n個の離散データの値に応じた基本波形のデジタルデータをォー バ一サンプリ ングと移動平均演算または畳み込み演算とにより合成する ことによって上記離散データに対するデジタルの補間値を求めることを 特徴とする請求の範囲第 1 5項に記載の音声認識装置。
1 7 . 音声以外のデータと、 当該デ一夕に対応する音声信号についてあ らかじめ生成された、 上記音声信号の微分値が所定の条件を満たす標本 点における振幅データおよび各標本点間の時間間隔を表すタイミングデ 一夕の組とを互いに関連付けておき、 所望のデータが指定されたときに 、 その指定されたデ一夕に関連付けられている上記振幅データおよびタ イミングデータの組を用いて、 上記タイミングデータによって示される 時間間隔を有する上記振幅データの間を補間する補間データを求めるこ とによって音声を合成するようにしたことを特徴とする音声合成方法。
1 8 . 連続する 2つの標本点における 2つの振幅データとその間のタイ ミングデータとから得られる有限台の標本化関数を用いて、 上記 2つの 振幅データ間を補間する補間データを求めることを特徴とする請求の範 囲第 1 7項に記載の音声合成方法。
1 9 . 音声以外のデータに対応する音声信号についてあらかじめ生成さ れた、 上記音声信号の微分値が所定の条件を満たす標本点における振幅 データおよび各標本点間の時間間隔を表すタイミングデータの組を、 上 記音声以外のデータと互いに関連付けて記憶した記憶手段と、
所望のデータが指定されたときに、 その指定されたデータに関連付け て上記記憶手段に記憶されている上記振幅データおよびタイミングデー 夕の組を用いて、 上記タイミングデータによって示される時間間隔を有 する上記振幅データの間を補間する補間データを求める補間処理手段と 上記補間処理手段により求められた補間データを D Z A変換する D / A変換手段とを備えることを特徴とする音声合成装置。
2 0 . 上記記憶手段から読み出された各標本点間の時間間隔を表すタイ ミングデータに従って、 各標本点における振幅データを上記各標本点間 の時間間隔ごとに順次読み出すようにタイミングを制御するタイミング 制御手段を備え、
上記補間処理手段は、 上記タイミング制御手段の制御に従って読み出 された連続する 2つの標本点における 2つの振幅データおよびその間の タイミングデータを用いて、 上記 2つの振幅データの間を補間する補間 データを求めることを特徴とする請求の範囲第 1 9項に記載の音声合成 装置。
2 1 . 上記補間処理手段は、 上記連続する 2つの標本点における 2つの 振幅データとその間の夕イミングデータとから得られる有限台の標本化 関数を用いて、 上記 2つの振幅データ間を補間する補間データを求める ことを特徴とする請求の範囲第 2 0項に記載の音声合成装置。
2 2 . 請求の範囲第 1項に記載の音声認識方法の処理手順をコンビュ一 夕に実行させるためのプログラムを記録したことを特徴とするコンビュ 一夕読み取り可能な記録媒体。
2 3 . 請求の範囲第 9項に記載の各手段としてコンピュータを機能させ るためのプログラムを記録したことを特徴とするコンピュータ読み取り 可能な記録媒体。
2 4 . 請求の範囲第 1 7項に記載の音声合成方法の処理手順をコンビュ 一夕に実行させるためのプログラムを記録したことを特徴とするコンビ ユータ読み取り可能な記録媒体。
2 5 . 請求の範囲第 1 9項に記載の各手段としてコンピュータを機能さ せるためのプログラムを記録したことを特徴とするコンピュータ読み取 り可能な記録媒体。
PCT/JP2001/003079 2000-04-14 2001-04-10 Procede et dispositif de reconnaissance vocale, procede et dispositif de synthese vocale, support d'enregistrement WO2001080222A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP01919863A EP1288912A4 (en) 2000-04-14 2001-04-10 "LANGUAGE RECOGNITION PROCEDURE AND DISTRICT, LANGUAGE SYNTHESIS PROCEDURE AND RECIPIENT, RECORD MEDIUM"

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2000114262A JP2001296883A (ja) 2000-04-14 2000-04-14 音声認識方法および装置、音声合成方法および装置、記録媒体
JP2000-114262 2000-04-14

Publications (1)

Publication Number Publication Date
WO2001080222A1 true WO2001080222A1 (fr) 2001-10-25

Family

ID=18626092

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2001/003079 WO2001080222A1 (fr) 2000-04-14 2001-04-10 Procede et dispositif de reconnaissance vocale, procede et dispositif de synthese vocale, support d'enregistrement

Country Status (7)

Country Link
US (1) US20030093273A1 (ja)
EP (1) EP1288912A4 (ja)
JP (1) JP2001296883A (ja)
KR (1) KR20030003252A (ja)
CN (1) CN1195293C (ja)
TW (1) TW569180B (ja)
WO (1) WO2001080222A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI243356B (en) * 2003-05-15 2005-11-11 Mediatek Inc Method and related apparatus for determining vocal channel by occurrences frequency of zeros-crossing
CN100375996C (zh) * 2003-08-19 2008-03-19 联发科技股份有限公司 判断声音信号中是否混有低频声音信号的方法及相关装置
CN100524457C (zh) * 2004-05-31 2009-08-05 国际商业机器公司 文本至语音转换以及调整语料库的装置和方法
JP3827317B2 (ja) * 2004-06-03 2006-09-27 任天堂株式会社 コマンド処理装置
JP4204541B2 (ja) 2004-12-24 2009-01-07 株式会社東芝 対話型ロボット、対話型ロボットの音声認識方法および対話型ロボットの音声認識プログラム
CN100349206C (zh) * 2005-09-12 2007-11-14 周运南 文字语音互转装置
JP4455633B2 (ja) * 2007-09-10 2010-04-21 株式会社東芝 基本周波数パターン生成装置、基本周波数パターン生成方法及びプログラム
JP2010190955A (ja) * 2009-02-16 2010-09-02 Toshiba Corp 音声合成装置、方法及びプログラム
KR101126614B1 (ko) * 2010-01-28 2012-03-26 황여실 음향신호 출력 장치
JP2012003162A (ja) * 2010-06-18 2012-01-05 Adtex:Kk 人工的に有声音を生成する方法および有声音生成装置
CN109731331B (zh) * 2018-12-19 2022-02-18 网易(杭州)网络有限公司 声音信息处理方法及装置、电子设备、存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01149099A (ja) * 1987-12-05 1989-06-12 Murakami Kogyosho:Kk 信号の識別装置
JPH10247099A (ja) * 1997-03-05 1998-09-14 Dainippon Printing Co Ltd 音声信号の符号化方法および音声の記録再生装置
JPH1173199A (ja) * 1997-08-29 1999-03-16 Dainippon Printing Co Ltd 音響信号の符号化方法およびコンピュータ読み取り可能な記録媒体
JP6077198B2 (ja) * 2011-05-11 2017-02-08 Dowaエレクトロニクス株式会社 六方晶フェライト凝集粒子

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4214125A (en) * 1977-01-21 1980-07-22 Forrest S. Mozer Method and apparatus for speech synthesizing
US4181813A (en) * 1978-05-08 1980-01-01 John Marley System and method for speech recognition
US6898277B1 (en) * 2001-03-05 2005-05-24 Verizon Corporate Services Group Inc. System and method for annotating recorded information from contacts to contact center

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01149099A (ja) * 1987-12-05 1989-06-12 Murakami Kogyosho:Kk 信号の識別装置
JPH10247099A (ja) * 1997-03-05 1998-09-14 Dainippon Printing Co Ltd 音声信号の符号化方法および音声の記録再生装置
JPH1173199A (ja) * 1997-08-29 1999-03-16 Dainippon Printing Co Ltd 音響信号の符号化方法およびコンピュータ読み取り可能な記録媒体
JP6077198B2 (ja) * 2011-05-11 2017-02-08 Dowaエレクトロニクス株式会社 六方晶フェライト凝集粒子

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP1288912A4 *

Also Published As

Publication number Publication date
CN1195293C (zh) 2005-03-30
US20030093273A1 (en) 2003-05-15
JP2001296883A (ja) 2001-10-26
TW569180B (en) 2004-01-01
KR20030003252A (ko) 2003-01-09
EP1288912A4 (en) 2005-09-28
CN1423809A (zh) 2003-06-11
EP1288912A1 (en) 2003-03-05

Similar Documents

Publication Publication Date Title
EP2270773A1 (en) Apparatus and method for creating singing synthesizing database, and pitch curve generation apparatus and method
WO2001080222A1 (fr) Procede et dispositif de reconnaissance vocale, procede et dispositif de synthese vocale, support d'enregistrement
WO2001080430A1 (fr) Procede et dispositif de compression, procede et dispositif de decompression, systeme de compression/decompression et support d'enregistrement
EP1569199B1 (en) Musical composition data creation device and method
US6791482B2 (en) Method and apparatus for compression, method and apparatus for decompression, compression/decompression system, record medium
JP2005241997A (ja) 音声解析装置、音声解析方法及び音声解析プログラム
JPH0736455A (ja) 音楽イベントインデックス作成装置
JPH0315758B2 (ja)
US20070011001A1 (en) Apparatus for predicting the spectral information of voice signals and a method therefor
JP4265908B2 (ja) 音声認識装置及び音声認識性能改善方法
JPH07319498A (ja) 音声信号のピッチ周期抽出装置
JPS6097397A (ja) 音響解析装置
JPH11259066A (ja) 音楽音響信号分離方法、その装置およびそのプログラム記録媒体
JP2001136073A (ja) 圧縮方法及び装置、圧縮伸長システム、記録媒体
US4601052A (en) Voice analysis composing method
JP2000293188A (ja) 和音リアルタイム認識方法及び記憶媒体
JP4221986B2 (ja) 音声認識装置
JPS5816297A (ja) 音声合成方式
JP4524866B2 (ja) 音声認識装置、及び音声認識方法
JPH0632037B2 (ja) 音声合成装置
JP3206128B2 (ja) ループ波形生成装置及びループ波形生成方法
JP2707577B2 (ja) ホルマント抽出装置
JPS62144200A (ja) 連続音声認識装置
JPS6265091A (ja) 連続音声認識方式
Laichuthai et al. Synchronization between motion and music using motion graph

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): CN KR US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 10240664

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 1020027013658

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 018080219

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 2001919863

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1020027013658

Country of ref document: KR

WWP Wipo information: published in national office

Ref document number: 2001919863

Country of ref document: EP

WWW Wipo information: withdrawn in national office

Ref document number: 1020027013658

Country of ref document: KR

WWW Wipo information: withdrawn in national office

Ref document number: 2001919863

Country of ref document: EP