Voice analyzing and synthesizing apparatus

Abstract: A speech analyzing and synthesizing apparatus according to the present invention is comprised of a sampling means for sampling an inputted speech signal, a speech analyzer for analyzing and coding said inputted speech signal, and a speech synthesizer for decoding the speech signal coded by said speech analyzer into a synthesized speech, whereby the average code length can be advantageously shortened to realize a low capacity memory and a well-analyzed and synthesized speech. Moreover, the present invention is related to a speech recording apparatus wherein a soundless section in the inputted speech signal is arranged to be compressed by real time, and even a weak short-time portion in the sounded section of an inputted speech signal is not erroneously judged to be soundless, but is coded as a sounded portion.

Description: The present invention relates to a speech analyzing and synthesizing apparatus in which a speech signal is analyzed and coded for transmission and preservation thereof by shortening the average code length. Generally, a large volume of information content is necessary for expressing speech signals. However, since the speech signals have a considerable redundancy, they can be transmitted with high efficiency and recorded in small capacity if they are compressed. Coding of the speech signals is divided roughly into two methods, that is, waveform coding, and coding in the frequency domain. The waveform coding is such that a fixed length of bit (information content) is outputted in codes, for example, per every sample, while the above coding in the frequency domain is to output a fixed length of bit in codes, for example, per frame. However, it is better to output many bits when the waveform changes severely, bringing about difficulties for prediction, and less hits are outputted when the wave form changes little, with easy prediction, that is, variable code-length coding is better than the coding in the waveform coding whereby a fixed length of bit is outputted per every sample, because the average code length can be shortened in the variable code-length coding, which is suitable for recording in small capacity. This can be said also with respect to the coding in the frequency domain. Conventionally, in the case where there is non-uniformity in amplitude distribution of speech waveform, that is, an inclination in probability distribution of a code indicating each amplitude, the speech signals are coded into variable length codes according to which the information (bit length) of each code is changed depending on appearance frequencies of quantization results, so that the average code length is shortened. This method is called an entropy coding, like as Huffman code. In the conventional variable code-length coding such as the above-mentioned entropy coding, however, since the coding method is based on statistic characteristics such as generation probability of each information in an inputted speech signal, etc., it takes much trouble that the statistic characteristics should be studied in advance so as to form such variable length code that can render the entropy minimum. Moreover, the bit length of a coded signal changes so greatly in the entropy coding that difficult countermeasures against the transmission error should be taken. US-A-3 927 372 describes an arrangement for improving the reproduction of amplitude jumps during transmission using differential pulse code modulation. It is the object of the present invention is to provide an improved speech analyzing and synthesizing apparatus in which a particular code among the analyzed codes of an inputted speech signal is outputted as a marker signal which is a variable code-length signal, so that the information content as a result of the coding is changed through simple operation in accordance with the changing amount of the inputted speech signal, thereby to shorten the average code length, and reduce the recording capacity, and at the same time obtain such coded characteristics as have less errors. This object is solved according to the invention with the features of claim 1. The speech analyzing and synthesizing apparatus is comprised of a speech analyzer and a speech synthesizer. The speech analyzer includes a differential detection means for detecting the differential value between sampled adjacent two speech signals (one is row signal, another is predicted signal), a judging means for judging whether or not the differential value obtained by the differential detection means is within the analyzing and coding range in which the speech signal is able to be analyzed and coded by one of a fixed number of codes, and in which, when the differential value is within the analyzing and coding range, the differential value is coded within the analyzing and coding range, while, when the differential value is beyond the analyzing and coding range, a repetition number of the analyzing and coding ranges necessary for representing the differential value is calculated, and the differential value is coded by the codes including a marker code representing the repetition number. The speech synthesizer is provided with a decoding means for obtaining the differential value between two adjacent speech signals through calculation of the repetition number of the coding ranges on the basis of the marker code included in the codes. Accordingly, in the speech analyzing and synthesizing apparatus of the present invention, the inputted signal is quantized by a sampling means to be inputted to the speech analyzer. The differential value of the speech signals inputted to the speech analyzer is detected by the differential detection means from the adjacent speech signal. Then, the differential value is judged by the judging means as to whether it is within the range in which the differential value is able to be coded by a fixed number of codes. On the basis of the judgement result by the judging means, the differential value if within the analyzing and coding range is coded by a code in the coding means, whereas when the differential value is beyond the above-described analyzing and coding range, the speech signal is coded into a code including a marker code representing the repetition number of the analyzing and coding ranges necessary for representing the differential value,. When the speech signal coded into the codes including the marker signal is inputted to the speech synthesizer, the differential value of the adjacent speech signal is calculated with reference to the repetition number of the analyzing and coding range which is based on the marker signal, so as to be decoded into a synthesized speech. These and other objects and features of the present invention will become apparent from the following description taken in conjunction with preferred embodiments thereof with reference to the accompanying drawings, in which: Fig 1 is a block diagram of a speech analyzing and synthesizing apparatus according to a first embodiment of the present invention; Fig. 2 is a block diagram of a differential PCM analyzing and synthesizing equipment; fig. 3 is a block diagram of an adaptive differential PCM analyzing and synthesizing equipment; Fig. 4 is a diagram showing the relationship between an input and output mid-rised coding characteristics and an output code of the uniform coding Fig. 5 is a diagram explanatory of the speech waveform coding operation and an outputted code in the apparatus according to the first embodiment; Fig. 6 is a flow-chart of the coding operation in the apparatus of the first embodiment; Fig. 7 is a flow-chart of the decoding operation in the apparatus of the first embodiment; Before the description of the present invention proceeds, it is to be noted here that like parts are designated by like reference numerals throughout the accompanying drawings. In Fig. 1, there is shown a block diagram of a speech analyzing and synthesizing apparatus according to the first embodiment of the present invention, with reference to which the operation of analyzing and coding of a speech will be described. A speech waveform inputted from an input terminal is digitalized by an AD converter 1 which is controlled by a clock signal CK generated by a sampling frequency oscillation circuit 5. The data digitalized in the AD converter 1 is inputted to a latch 2 by the clock signal CK and maintained there until a next sample of the speech waveform is AD-converted by a next clock signal CK. Then, the clock signal CK is inputted to an encoder 3 as a start signal through an OR circuit 6. Because of the start signal, the encoder 3 takes in the digitalized data of the inputted waveform which is preserved in the latch 2 and, codes the digitalized data. Thereafter, the encoder 3 outputs the speech code to a judging circuit 4 for judging the result of the coding. It is to be noted here that the above-described encoder 3 is an encoder in a differential PCM (pulse code modulation) analyzing and synthesizing apparatus shown in Fig. 2 or in an adaptive differential PCM analyzing and synthesizing apparatus shown in Fig. 3, etc. The differential PCM analyzing and synthesizing apparatus of Fig. 2 is comprised of a quantization part 21, a coding part 22, a predictor part 23 at the coding side, a decoding part 24, a predictor member 25 at the decoding side, and adders 26, 27 and 28. On the other hand, the adaptive differential PCM analyzing and synthesizing apparatus shown in Fig. 3 is comprised of an adaptive quantization part 31, a coding part 32, a logic part 33 at the coding side, a fixed first order predictor part 34 at the coding side, a decoding part 35, a logic part 36 at the decoding side, a fixed first predictor part 37 at the decoding side and adders 38, 39 and 40. The above detection circuit 4 transmits the inputted speech code to a communication passage 7 or a recording medium, and also detects whether or not the speech code is a both-ends code (for instance, marker code) within the analyzing and coding range. The aforementioned both-ends code within the analyzing and coding range is such as CODE 3 or CODE 7 in the diagram of Fig. 4 showing the input and output mid-rised coding characteristics of uniform coding. In other words, the both-ends code is a code which is outputted when an inputted signal is too large and exceeds the quantization (coding) range. In the case where the inputted code is not the above both-ends signal, the detection circuit 4 outputs a signal "0" to the OR circuit 6. In consequence, the OR circuit 6 continues to output "0" until a next sample which makes the clock signal "1" is started, thereby to stop the encoder 3. On the contrary, when the detection circuit 4 detects that the inputted code is the both-ends code, the inputted signal is beyond the coding range, and accordingly, the inputted signal cannot be coded as it is. Therefore, in the case of, for example, the differential PCM system shown in Fig. 2, the detection circuit 4 sends a start signal "1" to the encoder 3 through the OR circuit 6 so as to renew the predicted value in the encoder 3 from the predicted value of the both-ends code which has been renewed by a previous coding to a next predicted value in the manner as will be described below. As a result of this, the encoder 3 is again inputted the data maintained in the latch 2, so that the predicted value per one sample of the inputted waveform is repeatedly calculated, thereby to renew the predicted value in the encoder 3 which is not the both-ends code. The above-described operation will be explained in detail with reference to Fig. 5. The diagram shown in Fig. 5 is related to the case where the calculation of the predicted value is conducted twice and a code is outputted twice. As will be clear from the diagram of Fig. 5, since the speech waveform changes so largely as to exceed the coding range represented from CODE 7 to CODE 3, the first coding is carried out on the basis of a previous predicted value X. At the first coding, however, the change in the speech waveform cannot be followed at the point A, and therefore CODE 3 is outputted first at the end of the coding range, thereby to renew the predicted value to the point A. Then, when coding is carried out again, the change of the waveform based on the point A comes within the coding range, and CODE 2 is outputted to determine the predicted value at the point B. The encoder ends the calculation of the predicted value when a code except the both-ends code is outputted as a result of the coding. Therefore, the predicted value is calculated many times until the encoder outputs a code except the both-ends code. The calculation operation time should be shorter than the sampling cycle. A flow-chart of Fig. 6 represents in a simplified manner the coding operation applied to the differential PCM system of Fig. 2. First, in step S1, a yk of the inputted speech signal at a time index k is taken in from the latch 2. A differential value Sk between a previous synthesized value xk-1 which is held inside and the yk at the time index k is calculated in step S2. Then, in step S3, the above differential value Sk is divided by a one-side coding range width R to obtain a quotient Qk and the remainder rk. In step S4, the marker code (i.e., both-ends code) is outputted Qk times. In other words, the marker code is outputted until the present value yk comes within the coding range, thereby to shift the predicted amplitude value. Then, the predicted value is calculated, with the flow proceeding to step S5. In step S5, Ck (Ck=INT(rk÷Δ) : wherein Δ is a quantization width) is obtained. The code Ck is outputted in step S6. A next predicatd value xk is calculated in step S7 by an equation xk=xk-1+R·Qk+Ck·Δ , and the previous predicted value xk-1 is renewed to the value xk. Thereafter, in step S8, k is increased to establish k=k+1 , and the flow is returned to step S1 for coding at a next time index. The foregoing is the operation at the analyzing side. What is to be noted here is that the coding range at the second time is half the coding range at the first time. Accordingly, the information (for instance, bit length) of the code after the second time is 1 bit less than that at the first time. However, if a circuit is added to control the renewal of the predicted value depending on the result of the coding or if the coding after the second time is carried out by an encoder which has a different coding range (only in one direction), a code of the same bit length as at the first time can be outputted. Next, the operation to synthesize a speech will be described. Referring to Fig. 1, a decoder 11 calculates digital data of a synthesized waveform on the basis of the code sent through the communication passage 7. The decoder 11 is such decoder as in the differential PCM analyzing and synthesizing equipment of Fig. 2 or in the adaptive differential PCM analyzing and synthesizing equipment of Fig. 3. A detection circuit 14 detects whether or not the code sent from the communication passage 7 is a both-ends code. Consequently, when the code sent from the present communication passage 7 is not a both-ends code, the detection circuit 14 outputs a signal "1" to a latch 12 into which the digital data of the synthesized waveform calculated by the encoder 11 is taken. The digital data is taken into a DA converter 13 which is controlled by a clock signal CK generated by a sampling frequency oscillation circuit 15 so as to be outputted as a synthesized speech waveform. Meanwhile, in the case where the present code is a both-ends code, the detection circuit 14 outputs a signal "0", and the latch 12 does not take in the data from the decoder 11. That is to say, when the detected code is a both-ends code, the digital data of the synthesized waveform is not generated. At the same time, the predicted value, for example, in the decoder 11 of the differential PCM analyzing and synthesizing equipment shown in Fig. 2 is once renewed to and maintained at a predicted value which will be a reference value for calculation of the digital data of the synthesized waveform by a next code, and thereafter the next code is taken into from a communication passage 107 to be decoded. Then, when the inputted code comes not to be a both-ends code, the detection circuit 14 outputs a signal "1". As a result of this, the digital data of the synthesized waveform is taken into the latch 12, and DA converted by the DA converter 13 to be outputted from an output terminal as a synthesized waveform. It is to be noted here that the time for calculation of the synthesized waveform is necessary to be shorter than that of the sampling cycle in the synthesizing side as well as in the analyzing side. The concrete flow of the coding and decoding operation will be described briefly with reference to Fig. 7. In step S11, a previous synthesized amplitude value xk-1 maintained inside is taken into. Then, in step S12, it is detected whether or not the inputted speech code is a marker code. The number Qk by which the marker code is successively received and the code Ck indicating the number of the quantization width inputted subsequent to the marker code are inputted. The synthesized waveform xk is calculated by the use of the equation xk=xk-1+R·Qk+Ck·Δ in step S13. In step S14, the flow is returned to step S11, with establishing k=k+1 , to proceed with decoding at a next time index. Therefore, in the foregoing embodiment, only by a very simple operation, the inputted speech signal can be changed into a variable length code changing the information content as a result of coding in accordance with the changing amount of the inputted speech signal, or the variable wavelength code can be recoded, resulting in reduction of the average code length. According to a second embodiment an adaptive differential PCM system is employed for coding, in which, when more than two codes are outputted as a result of the analysis when the amplitude value changes largely, the quantization width thereof is changed. For example, if the quantization width is multiplied by a fixed number, it will have the same effect as the nonlinear quantization. In this adaptive differential PCM system, the analyzing and coding range is expanded, and accordingly it can follow an abrupt change of the waveform, and at the same time, the average code length is able to be limited short, resulting in realization of efficient coding from the viewpoint of the sense in hearing. Furthermore, according to the second embodiment, if a further detection circuit is provided in addition to the circuits 4 and 14, thereby to restrict the maximum number of codes outputted in the case where the change of the speech signal is large to two, the longest operation time is definitely determined, making realization of the hardware easy. As is described hereinabove, according to the speech analyzing and synthesizing apparatus of the first embodiment of the present invention, there are provided the speech analyzer and the speech synthesizer. The speech analyzer includes a differential detection means which obtains the differential value of the sampled adjacent speech signals, a judging means for judging whether or not the differential value obtained by the differential detection means is within the analyzing and coding range in which the differential value can be coded by a fixed number of codes, and a coding means which codes the differential value within the analyzing and coding range when the differential value is within the analyzing and coding range, while, which calculates a repetition number of the analyzing and coding range necessary for representing the differential value when the differential value is not within the analyzing and coding range, so as to code the differential value by the codes including a marker code representing the repetition number. On the other hand, the speech synthesizer includes a decoding means which obtains the differential value of the adjacent speech signals through calculation of the repetition number of the coding ranges on the basis of the marker code included in the codes. Accordingly, in the speech analyzing and synthesizing apparatus, the inputted speech signal can be coded with simple operation into a variable length code by which the information content as a result of the coding is changed in accordance with the changing amount of the inputted speech signal, and moreover, the variable length code can be decoded. Thus, it is advantageous that the average code length is able to be shortened to realize a low capacity memory and a well-analyzed and synthesized speech of good quality.

Claims: A speech analyzing and synthesizing apparatus which comprises a sampling means for sampling an inputted speech signal, a speech analyzer (1,2,3,4,5,6) for analyzing and coding said inputted speech signal, and a speech synthesizer (11,12,13,14,15) for decoding the coded speech signal into a synthesized speech; said speech analyzer (1,2,3,4,5,6) including a differential detection means for obtaining the differential value of the sampled adjacent two speech signals, a judgement means (4) for judging whether or not the differential value obtained by said differential detection means is within the analyzing and coding range in which the differential value is able to be coded by one of a fixed number of codes, and a coding means (3) which encodes said differential value in said analyzing and coding range in the case where the differential value is within the analyzing and coding range, whereas it encodes the differential value a repeated number of times with a marker code representing the end of the coding range until the judgement means determines that the difference value, which is being constantly formed anew, falls within the coding range, said speech synthesizer (11,12,13,14,15) being provided with decoding means (11) which obtains the differential value of the adjacent two speech signals on the basis of the code including the marker code representing the end of the coding range, characterized in that said coding means (3) is adapted to calculate a repetition number of said analyzing and coding ranges necessary for representing said differential value in the case where the differential value is not within the analyzing and coding range, so as to code said differential value by codes including a marker code representing the repetition number and thereby the extremity of the coding range, the coding being carried out on the basis of a predicted value, which is renewed under the control of a start signal sent from the judgement means (4) after each coding operation, and said speech synthesizer (11,12,13,14,15) includes judgement means (14) for detecting whether the received code is a marker code, in which case the decoding means (11) calculates the repetition number of said analyzing and coding ranges on the basis of the marker code, the decoding being carried out on the basis of a predicted valve, which is renewed under the control of a signal sent from the judgement means (14).

Inventors: FUJIMOTO YOSHIJI, KITOH ATSUNORI, MORIO TOMOKAZU, FUJIMOTO, YOSHIJI, KITOH, ATSUNORI, MORIO, TOMOKAZU
Applicants: SHARP KK, SHARP KABUSHIKI KAISHA
Application year: 1988
Main classification: H04B14
IPC codes: H04B14