SOUND GENERATOR FOR ELECTRONIC MUSICAL INSTRUMENT

Abstract: A sound generator for an electronic musical instrument is arranged to produce sounds from their generation to diminition by converting into digital signals. kept memorized in memories as they are, or as wave form data which are obtained by a certain kind of information condensation process. One of those complex number of wave form data is selected to be reproduced responding to initial touch information or to the initial touch information and pitch information, or otherwise the amplitude associated with the wave form data reproduction is so arranged as to be modified responding to the initial touch information or the initial touch information and pitch information besides the selective reproduction. The sound generator is provided not only with adequate capability of sound timbre and loudness variation responding to the strength and/or speed of de­ pression of a key, but also with function of touch response favoured with excellent naturalism in the generated sound.

Description: This invention relates to a sound generator to be incorporated in an Electronic Musical Instrument, which is capable of varying the nuance of music sound generated responding to the key depression speed and strength. Recently, the electronic musical instrument has been remarkably developed in its sound quality and functions thanks to introduction of higher digital technology. There are those electronic musical instruments available in the market, which can afford to generate highly qualified musical sound very close to those issued by natural musical instruments, and which are provided with higher capability, e.g., of automatic performance by means of microcomputer technology. Now the market tends to demand an appearance of those electronic musical instruments having higher capability of music expression ceaselessly. As a method of facilitating various music expression available, it has been well known that the quality and quantity of sound to be generated can be controlled responding to the speed of depression of the key, and the strength of impulse imposed on the key, associated with the initial stage of key depression (hereafter, the latter is to be referred to as the initial touch). Fof example, in the case of piano, in which the sound quality is determinable exclusively by the initial touch, it is effective for the electronic musical instrument to simulate the musical sound in this method. Besides the above there is another case, where the generated sound will be varied responding to the status of the pressure, etc., imposed on the key after having been depressed (hereafter to be referred to as the after touch). This is effective for the electronic musical instrument to simulate the sound of musical instrument, such as the trumpet, in that both of the quality and quantity of sound can be controlled appropriately even in the part of constant pitch. As for those facilitating the initial touch control, there has been proposed a method, in that the generated sound loudness is to be controlled by VCA (voltage control amplifier) responding to the value of detection, e.g., how fast the key is depressed. In this case, however, in spite of its capability of sound loudness control, it is still inadequate, when the electronic musical instrument is to simulate the sound of piano, in that the timbre of sound is changeable completely depending upon the mode of performance, whether it is played strongly or weakly. There is another attempt proposed, where the generated sound is engaged with timbre control by means of VCF (voltage control filter) responding to the speed of key depression, further being controlled on its loudness by means of VCA. However, even in this case, it is not feasible to acquire an adequate result in case of those musical sounds, e.g., associated with piano performance, in that variation of timbre of sound will take place within a wide range depending upon strength of the impulsive stroke on the leading edge of the sound wave and the subsequently following spectrum construction thereof, responding to whether it is played in strong mood or in weak mood. Hereafter, in this invention, the value of detection of the initial touch should be referred to as the touch information. The control method by means of conventional initial touch, a mentioned previously, in which VCF and VCA are incorporated, is able to change the timbre and loudness of sound continuously. However, the variation of timbre in this control is simplified too much, on behalf of too much emphasis being placed on continuity of the variation of sound loudness or timbre, resulting in letting the sound generated be in short of natural tune. An electronic musical instrument of waveshape memory type with expression control is disclosed in US patent 4,539,884 (corresponding to JP-A-59050498). The waveshape memory stores waveshape data which covers from start to end of a musical tone and which varies little by little in shape, amplitude and/or cyclic period as the waveshape extends to the succeeding cycles. An electronic musical instrument having one or more tone generators is disclosed in US patent 4,231, 276. The instrument includes apparatus for adaptively computing the set of data points in response to values of preselected harmonic coefficients. The computation apparatus advances past all harmonic coefficients of smaller magnitude than a selected threshold thereby reducing the computation time and making the instrumental capable of responding to time-varying tonal changes. An electronic musical instrument with touch response capability is disclosed in US-A-4231276 as well. This patent proposes that a music sound is synthesized by mixing a complex number of wave forms of high frequencies having the same basic number of frequencies superposed of different quantities of high harmonics thereon, the ratio of mixing being changed responding to the touch response signal. This method makes it possible to improve the capability of touch response because the mixing ratio can be specified optionally to the degree of touch. However, the quality of sound thus produced cannot exceed the conventional boundary of the musical sound generated by synthesizing from a complex number of wave forms. Other prior art references relevant to this invention are given in the following: USP3515792, USP3854365, USP4138915, USP4224856, and USP4227435. SUMMARY OF THE INVENTION An object of the present invention is to provide a sound generator for an electronic musical instrument which can satisfy both the natural timbre and continuity of the varying sound quality and loudness of the generated sound simultaneously. The present invention provides a sound generator for an electronic musical instrument comprising: waveform data memory means to store musical tones recorded from a natural musical instrument in compressed digital form, in which said musical tones are recorded at several prescribed pitch frequencies and from beginning to end of said tones; and accessing and reconstructing means to select and expand said compressed digital form into a musical tone waveform which reproduces that of said natural musical instrument; loudness control means to control the loudness level of the generated tone in response to touch information characterised in that for at least one note, said waveform data memory means stores a plurality of tone waveforms from beginning to end in compressed digital form, corresponding to said instrument being played at a different loudness level for each waveform (Figures (2, 16, 18); each of said tone waveforms in compressed digital form includes (Figures 13 and 21) an uncompressed PCM attack part, waveform decay information consisting of representative cycles of the waveform for reconstruction by interpolation, a single cycle of the waveform for reproduction at low or constant level; each single tone waveform stored in said waveform data memory means is used to reproduce a group of adjacent notes played in a range of several adjacent and distinct loudness levels; said generator includes selection means for selecting one of said plurality of tone waveforms in response to touch information obtained by detecting a keying speed or strength, to the touch information and pitch information. By means of the configuration presented by this invention, it is feasible to obtain a sound generator for an electronic musical instrument which is provided not only with capability of sound timbre and loudness variation responding to the strength and/or speed of depression of key, but also with function of touch response favoured with excellent naturalism in the generated sound. BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is an illustration of octave information OCT and pitch name information Note in first embodiment of this invention; Fig. 2 is a diagram showing the contents of ROM of the waveform data combination in the first embodiment of this invention; Fig. 3 is a block diagram of a sound generator for electronic musical instrument in the first embodiment of this invention; Fig. 4 and Fig. 5 are diagrams showing the relationships among the touch information, loudness level and data combination; Fig. 6 is a block diagram of a sound generator for electronic musical instrument in second embodiment of this invention; Fig. 7 is a block diagram showing an address generator configuration; Fig. 8 is a diagram showing the contents of ROM to be incorporated for address generation; Fig. 9 is a diagram showing the contents of ROM to be incorporated for data combination; Fig. 10 is a block diagram of a sound generator for electronic musical instrument in third embodiment of this invention; Fig. 11 is a diagram showing the relation between the touch information and loudness information; Fig. 12 is a block diagram of a sound generator for electronic musical instrument in fourth embodiment of this invention; Fig. 13 is a wave form diagram which is used for illustration of musical sound synthesizing system to be incorporated for fifth embodiment of this invention; Fig. 14 is a block diagram of a sound generator for electronic musical instrument in the fifth embodiment of this invention; Fig. 15 is a diagram showing the contents of conversion ROM in Fig. 14; Fig. 16 is a diagram showing allocation of wave form data combination specification information in the case of the fifth embodiment of this invention; Fig. 17 is a configuration diagram of address generator which is given in Fig. 14; Fig. 18 is a diagram showing the contents of start address ROM which is given in Fig. 17; Fig. 19 is a configuration diagram of masking circuit which is given in Fig. 17; Fig. 20 is a diagram showing the relations among the octave number, the number of samples in one wave form, and mask signal MSK ; Fig. 21 is a diagram showing the contents of wave form data combination ROM in the fifth embodiment; Fig. 22 is a configuration diagram of accumulator given in Fig. 14; Fig. 23 is a diagram showing the relation between control data C and ΔMLP; Fig. 24 is a configuration diagram of envelope generator; Fig. 25 is a diagram to illustrate the octave information OCT in the fifth embodiment of the invention; Fig. 26 is a configuration diagram of timing pulse generator (9); Fig. 27 is an operation timing diagram in the fifth embodiment of the invention; Fig. 28 is a timing diagram of counter (5-4); Fig. 29 is a circuit diagram of MSK signal generator; Fig. 30 is a block diagram of sound generator for electronic musical instrument in sixth embodiment of the invention; and Fig. 31 is a block diagram of v/t convertor to be incorporated in seventh embodiment of the invention. DESCRIPTION OF THE PREFERRED EMBODIMENTS Fig. 3 is a block diagram of a sound generator for electronic musical instrument in first embodiment of the invention. In Fig. 3, 1 is a ROM for storing combination of wave form data required for musical sound generation, 3 a musical sound synthesizing means for synthesizing a musical sound according to data which are supplied from ROM 1, a multiplier, 100 a keyboard circuit, and 101 a counter. The contents which are memorized in ROM 1 are shown in Fig. 2 as an example. In the example given in Fig. 3, a single tone, responding to a key depressed among 48 keys of four octaves is available to be generated. Responding to the key depressed, key-board circuit 100 will generate a keying signal KON, octave information OCT, note information NOTE and touch information t, where OCT and NOTE are specified as shown in Fig. 1. To ROM 1, address data are given in sequential order from the top onward: Octave information OCT, note information NOTE, touch information t, and sample number n. Touch information t, e.g., refers to a 3 bit digital expression resulting from the value detected by pressure sensor or others as for the initial touch strength. Other examples are shown in USP4231276. Sample number n is generated by means of counting from 0 through N-1 ON counter 101, when a wave data combination is composed of N pieces of sampled data. The wave form data combination is to be taken from such procedures as, loudnesses in music sound of, e.g., piano being actually played and recorded in terms of an eight-level continuum of nuances from ppp (pianississimo: extremely soft) to fff (fortississimo: extremely loud), each of the loudness level being digitized from the generation to the dimension for each of the eight loudness levels. The maximum amplitude of each individual loudness level is normalized so as to be the same amplitude throughout the eight levels. Finally the above result is taken as the wave form data combination. By means of the procedure as given above, it can be noticed means of the procedure as given above, it can be noticed from Fig. 2 that D note in the second octave, for example, keyed with loudness mf, results in reading out of digital wave form A from ROM 1, subsequently the multiplier 4 will undertaken multiplication of the digital wave form A and touch information t, and output the result. In this example, 8 bits from t₀ through t₇ are taken as the values of touch inforamtion t, wherein hexadecimal digit expressions from '00'X through 'FF'X are incorporated, as shown in Fig. 4, to express levels of loudnesses from ppp (or pianississimo: extremely soft) to fff (or fortississimo: extremely loud). Hereafter '' X is to be referred to identifying hexadecimal digit. The upper three bits, t₅ - t₇ of the touch information are used for specifying wave form data combination. For example, if all of t₅ through t₇ are '0', the first combination which is the wave form data combination for ppp will be specified, and if all of t₅ through t₇ are '1', the eighth combination which is the wave form data combination for fff will be specified. Consequently, responding to a value among those from the one having touch information t = '00'X through the one having t = 'FF'X, a wave form combination will be selected, and the music sound loudness level which is obtained as the output of multiplier 4 will be determined at one of the continuous levels 2⁸ = 256, as shown in Fig. 5. In the example shown in Fig. 3, for example, when D note of the second octave is played a little bit louder than mf, (e.g., t = 10000011), the digital wave form A, as it is clearly understandable from Fig. 2, will be read out, and further by means of multiplier 4 t = 10000011 is multiplied by wave form A, generating a musical sound having a little bit higher loudness, compared with the one in the case of exact mf (t = 10000000). In Fig. 3, an optional loudness level can be selected among 256 divided levels, so that the capability of representation of the musical performance can be substancially enhanced. If the loudness level is not controlled in response to the touch information, the continuity of loudness level becomes worse, so the size of memory could not help being expanded because of the necessity of wave form data being to be increased. In this respect, the example in Fig. 3 is not oblidged to increase its data quantity, so that it effects considerably on the economy of memory. Next, the second embodiment of the invention will be explained. Fig. 6 is a block diagram of a sound generator for electronic musical instrument in the second embodiment of the invention. Some particular explanation is omitted for the part having the same block as given for the example in Fig. 3, alternatively the same numbering being given thereto as that given to the previous example, and key-board circuit 100 and counter 101 being not shown. Number (5) is an address generator, which produces address data of ROM 1 from the pitch information, namely, the octave information OCT, note information NOTE and touch information t₅ through t₇. ROM 1 outputs the wave form data combination, taking the address input from the output of address generator 5, supplying it to the musical sound synthesizing means 3. The musical sound synthesizing means 3 synthesizes a musical sound wave form from the wave form data provided by ROM 1. The output of the musical sound synthesizor 3 is multiplied with touch information t₀ - t₇ by means of the multiplier 4. The configuration of address generator 5 is given in Fig. 7, where 5-10 is a ROM which stores the start addresses TAD of a plurality of wave form data combinations stored in ROM 1, 5-20 an adder, 5-30 a counter. ROM 5-10 is loaded with additional address inputs, such as octave information OCT, note information NOTE, and touch information t. The address generator 5 will generate the address data to be stored in ROM 1 by adding count valve of counter 5-30 with the start address TAD which is read out by ROM 5-10 by the adder 5-20. The contents of ROM 5-10 are given in Fig. 8. Referring to Fig. 8, in ROM 5-10, the start addresses TADs are stored responding to the wave form data combinations corresponding to the sound loudnesses in continuum of 8 levels from ppp to fff. The address range of ROM 5-10 has a 9 bit width, being composed of 2 bits of octave information OCT, note information NOTE of 4 bits, and 3 bits of touch information t₅ - t₇, sequentially from the most significant bit downward. The wave form data combination to be stored in ROM 1 may be composed in such a way that, e.g., as shown in Fig. 9, a natural musical instrument in played and recorded in each level of loudness from ppp to fff in 8 loudness levels (in the maixmum), the wave form data of 8 combinations (in the maximum) being combined from 8 tones (in the maximum) digitized from the generation to the diminution for each of the original tones, the valve of each amplitude being equalized in each of the maximum loudness level, and finally the required combination being able to be obtained. When the wave form data combination is used, it is not necessary to prepare any specific circuit as the musical sound sinthesizing means. For example, when the well known data condensation technology such as DPCM or ADPCM is to be used, the musical sound synthesizing means 3 should be provided with complication functions of these condensation technology. As shown in Fig. 8, for example, supposing the D note of the second octave is keyed with the strengh of mf, the touch information is t = 10000000, t₅ - t₇ being 100, so that the contents of address (010010100) will be read out as the start address of wave form data combination for mf of D note of the second octave. Counter 5-30 and adder 5-20 will generate each address ADR, one step advanced from each of those read out as the start addresses, responding to the reference clock signal CLK. Eventually wave form B that is the wave form for mf of D note of the second octave which is shown in Fig. 9, will be read out sequentially from the top responding to CLK from ROM 1. If the D note of the second octave is keyed with a little bit harder depression than mf, e.g., in case of t = 10000011, since t₅ - t₇ are equal to those in the case of same note being keyed with hardness of just equal to mf, the start address read out from ROM 5-10 will also take the same value, as that in the case of keying in mf. However, the touch information in this case is a little bit larger than the other case, that is to say, t = 10000000 in case of keying with just mf, instead t = 10000011 in case of keying with a little bit harder pressing than mf. Accordingly, the output of multiplier 4 in the case of keying a little bit harder pressing than mf becomes larger than that otherwise in terms of the differential on t values, resulting in the loudness level of the generated musical sound will be larger than that in case of mf keying. When the configuration in the second embodiment which is shown in Fig. 6 is adopted, it will be feasible to achieve further economy of memory, compared with the case of the first embodiment. In other words, the degree of timbre variation responding to the status of initial touch will be changeable depending upon pitch of the tone. For example, in case of lower tone in piano, the difference in timbre for each level of loudnesses from ppp to fff is comparatively larger, so that combinations of wave form data having individually different timbre for each of loudness levels, the eight levels of intermediary points from ppp through fff should be prepared. On the other hand, in higher tones there are not so much differences noticed in their timbres depending upon the loudness of the musical sound in the play, so that three kinds of wave form data combinations are deemed adequate. Consequently it is feasible to decide how many kinds of wave form data combinations have to be prepared between loudness levels from ppp to fff in case of the example shown in Fig. 6, responding to the loudness of the tone independently, which results in considerable economy of memory being available. Next, referring to the relevant drawing, explanation will be given for the third embodiment of the invention in the following. Fig. 10 shows a block diagram of sound generator for electronic musical instrument of the third embodiment of the invention. The point different from the example shown in Fig. 6 is the fact that a converter 6 between touch information and loudness information, (hereinafter to be referred to as t/ℓ converter) is provided. The touch information is digital representation of the detected valve of keying impulse strength and keying speed, so that it will respond in one to one relationship with the loudness level. However, it is rather inconvenient for the music performance when it is used as if it were the loudness information itself. This is because the touch information t dependent upon the construction of the key mechanism and the loudness level of the generated tone are not always in a linear relationship each other. The t/ℓ converter 6 converts the touch information t into loudness information ℓ, which is in a linear relationship with the loudness level, incorporating the loudness information ℓ (ℓ₀ - ℓ₇) alternatively in the place of touch information t (t₀ - t₇) which is given in Fig. 6. The above feature is given in Fig. 11, in that the mutaul relationship, of performance of keying vs. loudness and timbre of the generated musical tone has come to be determinable optimistically. The t/ℓ converter 6 can incorporate ROM or decoder. There are some occasions where it is preferable to revise the t/ℓ relationship responding to the pitch, and an example of such case is shown as the fourth embodiment in a block diagram shown in Fig. 12, where the difference compared with the case shown in Fig. 10 is that t/ℓ converter 6 regulates the method of conversion responding to the given ocatve information OCT and note information NOTE, associated with conversion of touch information t into loudness information ℓ. For example, the conversion response characteristics of t/ℓ converter 6 may be changeable for each octave by means of incorporating both of the ocatve information OCT and touch information t as the address input. Next, the fifth embodiment will be illustrated referring to the relevant drawing. In this case, the musical sound is to be synthesized depending upon digital musical sound synthesizing method in that the musical tones re synthesized by means of interpolation from a plurality of wave forms. As for this kind of electronic musical instrument a detailed description is shown in Japanese laid-open patent application No. 59-220798, "Electronic Musical Instrument", so that a brief explanation of the outline of how to synthesize the musical tone will be given here. An acutal example of piano tone wave form is shown in Fig. 13 (a), in that it can be noticed that the leading part which is given identification PCM is involved with substantial variations of wave form so that it is rather difficult to reproduce all of the values of digital samples with high fidelity by means of interpolation, and consequently they could not help being stored into memory as they are, to be read out sequentially in case of the performance. The portion where the inscription "interpolation" is given is the part where there are rather comparatively moderato variations of wave forms, which is shown in Fig. 13 (b) as an expanded form. From the expanded figure, it can be noticed that there exists a short of periodicity involved with the wave forms, so that it is feasible to compress the amount of information. Some of the representative wave forms chosen from those shown in Fig. 13 (b) are given on Fig. 13 (c). The wave form shown in Fig. 13 (b) can be simulated from the wave forms shown in Fig. 13 (c) with very high accuracy. In this connection, the formula to be used for the interpolation is given below:- where f(i,m,n): Sample of synthesized wave form f(i.n): The nth sample of the ith representative wave form M(i): Number of wave forms synthesized from the ith and the (i+1) the representative wave forms N: Number of samples included in one wave form, being the number of power of 2. MLP: (N·m+n)/{(M(i)·N} The portion given the inscription "Hold" in Fig. 13 (a) is the location where there are almost no variations of wave forms except for amplitude variation, so that this portion can be simulated by means of one wave form being read out repeatedly and the amplitude being varied. An example of sound generator system for electronic musical instrument which is based upon the musical sound synthesizing method is shown in Fig. 14, as a configuration block diagram of the fifth embodiment of the invention. Referring to Fig. 14, 1 is a ROM for storing wave form data combinations. The wave form data combinations shown in the fifth embodiment are composed of a group of wave forms within the domain of PCM, a group of representative wave forms chosen from those among the interpolation range, and one wave form within the domain of hold area. Number 3 stands for a musical sound synthesizing means, for executing, the interpolation computation expressed by equation 1. Number 5 refers to an address generator which specifies the address of ROM 1, 9 a timing pulse generator (hereafter referred to as TPG), 7 a conversion ROM which receives touch information t and pitch information OCT and NOTE as address inputs and outputs wave form data combination specifying information a and loudness information ℓ, 4 a multiplier, and 8 an envelope generator. The operation of the fifth embodiment of the invention which has a configulation as mentioned above will be explained in the following. Referring to Fig. 14, OCT and NOTE represent the octave information and note information respectively as in the case shown in Fig. 3. However, in this case, musical tones stretching in a wide range of octaves equivalent to the 88 keyboard of piano are obtained. Consequently the octave information OCT is widened to 4 bit range. The octave numbers corresponding to the octave information are shown in Fig. 25. The touch information t is referred to 4 bit binary data which represent the strength and speed of the key depression in terms of 16 levels, in which t = '0'X stands for the softest depression given on the key, and on the other hand, t 'F'X stands for the status where the key is depressed with strongest compression. The contents of conversion ROM 7 for the piano are given in Fig. 15 (in which the numerals are given in hexa decimal digit). In Fig. 15, the case, where OCT = 4 and NOTE = 0 has OCT and NOTE representing the middle C (261.6 Hz). OCT and NOTE are allocated in the upper bits of the address data, and t is allocated in the lower bits of the address data. The allocations of wave form data combination specifying information a is shown in Fig. 16. As shown in Fig. 16, in this example '29'X pieces, i.e., 42 pieces of data combinations are preapred for this wave form combinations. In Fig. 15, the fourth octave, in that OCT = 4, at the center of pitch range, is devided into 3 groups in terms of notes, while the other octaves are devided into one or two groups in terms of notes. This is because, in the piano tones, there are comparatively large differences between the adjacent notes each other at the central octave part. The wave form data combination for each of plural numbers of divided groups is so prepared as to make the differences between tones hardly to be noticed at the time of simultaneous or continuous playing at different pitches. Contrary to the above, the highest 3 octaves can be represented by the same wave form data, regardless of whichever one of twelve notes contained in these octaves being played, as far as they are played with the same strength. Further, for the twelve notes of the seventh octave, regardless of how strongly whichever one of the keys is played, are all represented by a wave form data combination corresponding to a ='28'X. That is to say, the same wave form data combination can be incorporated invariably, regardless of whether the seventh octave C note key is depressed with a strength corresponding to t ='0'X or the seven octave B note key is depressed with a strength corresponding to t = 'F'X. The differences between the above two cases are the frequency and loudness level of generated sound. TPG 9 shown in Fig. 14 generates timing signals, INIT, ø, ø₁ and ø₂, which specify the timing of overall operation of the sound generator. An example of configuration of TPG 9 is shown in Fig. 26, where 9-1 is a D-Flip Flop, 9-2 a shift register, 9-3 and 9-4 AND gates, and 9-5 and 9-6 an inverter and a NOR gate. The signal timing diagrams in TPG 9 in the configuration shown in Fig. 26 are shown in Figs. 27 (a), (b), (c), (j) and (k). Next, the method of wave form synthesis will be explained sequentially. Taking the octave information OCT, note information NOTE and touch information t as address inputs, the wave form data combination specifying information a and loudness information ℓ are read out. The wave form data combination specifying information a, which is read out from conversion ROM 7 will be inputted into address generator 5. A configuration of address generator 5 is shown in Fig. 17, where the start address ROM 5-1, taking wave form data combination specifying information a as address input, memorizes the start address data TAD in ROM 1 of the wave form data combination which has been specified by a, and outputs the start address data TAD responding to an input. The start address ROM 5-1 contents are shown in Fig. 18, where numerical values in the vacnt columns are eliminated. Selector 5-2 will select the start address data TAD according to INIT signal which prompts the initial setting of musical sound synthesis, feeding it to Latch 5-3. The latch 5-3 will latch the start address data TAD on the basis of INIT signal, and send it to ABUS. Counter 5-4 is a binary counter of eleven bit, which executes counting performance with the speed responding to the wave form data read out speed, and which is initialized by INIT signal, letting numeral counting start from the status where all bit is '0'. The signal timing of counter 5-4 is shown in Fig. 28. in which CNT3 - CNT9 are eliminated. Masking circuit 5-5 will mask the bit specified among the outputs of counter 5-4. Accordingly, masking circuit 5-5 and counter 5-4 construct a programmable counter. An example of masking circuit 5-5 is shown in Fig. 19, where MSK is the data generated from octave information, by which the mask bits will be specified. An example of mask information ( MSK ) generating circuit is shown in Fig. 29, and the relationship between octave information OCT and mask information MSK is shown in Fig. 20. CHW is generated by accumulator 3-6, being the signal prompting the replacement of wave form, and being to be '0' exclusively in case of wave form replacement. In case of octave No.4 being the center octave, as shown in Fig. 20, MSK 4 only is '0', exclusively and the others get '1', so that CNT6 - CNT9 among CNT0 - CNT9 in Fig. 19 will be masked, count values, CNT0 - CNT5 only being transmitted to BBUS, and CNT6 - CNT9 being to be '0'. Consequently, inspite of counter 5-4 repeating counting performance with 10 bit width, the data on BBUS will be counting value of 6 bit width occurring repeatedly. MSK will be decided by octave No. unanimously, because of the fact theat the number of samples N of the representative wave form f (i, n), which is shown in Fig. 13 or expressed by formula (1) is changeable responding to the octave. Concretely N is chosen as shown in Fig. 20, and MSK is so specified that N is to be counted by means of counter 5-4 and mask circuit 5-5. In the reality, in case of synthesizing a tone belonging to the ith octave, the counter which is to count the required N can be composed by means of the ith bit, i.e., MSK i being set on '0' exclusively, and the others being set on '1'. An example of circuit which generates MSK signal is shown in Fig. 29. In this way, BBUS will display repeatedly the value counting N, and this count value is fed to adder 5-6, where it is added with the start address data TAD which is stored in latch 5-3 shown in Fig. 17, being outputted to CBUS, thereby to generate the read-out address of wave form data combination ROM 1. Further the operation of addition of N by means of OR gates, shown in Fig. 19 is repeated periodically by means of signal ADN having 1/2 cycle of counting frequency of counter 5-4. Count values of 2N pieces, i.e., 0, N, 1, 1+N, 2, 2+n, ... N-1, and 2N-1, will appear in sequential order on BBUS. Consequently, ON CBUS, as output of address generator 5 shown in Fig. 17, 2N pieces of address values will be generated in sequential order, in that the values are adr, adr+N, adr+1, adr+1+N, adr+2, adr+2+N, ....., adr+N-1, and adr+2N-1, where adr represents the address stored in latch 5-3. On the other hand, CHW will be generated by accumulator 3-6 shown in Fig. 14, and masking circuit 5-5 shown in Fig. 17 will open NOR gates shown in Fig. 19, when CHW = 1. Conclusively the count value on BBUS will be the value resulting from addition of N upon the count value hitherto obtained, being latched eventually by means of latch 5-3 shown in Fig. 17. Conclusively, the output CBUS of adder 5-6 hereafter, does not maintain CHW = '0', but outputs an address value which is larger by N than the address value issued previously. This series of operations means that the two wave forms f(i, n) and f(i+1, n) which are incorporated in the interpolation that is explained in the formula (1), have been revised into f(i+1, n) and f(i+2, n). From the above descriptions, it will be clear that, when a waveform is synthesized from f(in, n) and f(i+1, n), the value *(i, o) will be stored in latch 5-3. The contents of wave form data combination ROM 1 are shown in Fig. 21, where *(i, n) is referred to the address data of the nth sample of the ith wave form, and consequently *(i, N-1) is to be the address of the last sample of the ith wave form, *(i+1, o) being the address of the first of the (i+1)the sample. Each of the data consists of 16 bits, in which the upper 12 bits are wave form data W, and the lower 4 bits are control data C. The control data C which is stored in *(i, n) is to control how to deal with the two wave form data f(i, n) and f(i-1, n) which are read out simultaneously. The control data C is decoded by a decoder included in the accumulator 3-6 shown in Fig. 14, eventually deciding the operation of musical sound synthesizing means 3. The configuration of accumulator 3-6 is shown in Fig. 22, in which the decoder 3-62 which is incorporated in the accumulator 3-6 will decode the control data C to generate ΔMLP. The decoded value ΔMLP will be accumulated by adder 3-63 and latch 3-61, eventually to generate and output MLP. The MLP revision timing is shown in Fig. 27(g). The MLP corresponds directly to MLP which is given in formula (1). The relationship between the control data C and its decoded value ΔMLP is shown in Fig. 23. The decoder 3-62 incorporated in accumulator 3-6 generate PCM signal exclusively when control data C is 'F'X, and the PCM signal will replace all of the output MLP of accumulator 3-6 by '0' signal. Accumulator 3-6 will output CHW signal when the result of accumulation conducted by accumulator 3-6 overflows the ly bits of output MLP. CHW incorporates carry-out signal of adder 3-63, and is utilized for wave form revision by means of address generator 5 shown in Fig. 17. Address '5400'X, which is shown in Fig. 21, is the start address data TAD which is used when the middle C note is played loudly, as evident from Fig. 15, Fig. 16 and Fig. 18. Consequently, when the middle C note is played loudly latch 503 shown in Fig. 17 will latch '5400'X firstly. By the operation of address generator 5 shown in Fig. 17, a couple of f(0, n) and f(1, n), the former from address '5400'X and the latter from address '5800'X separated in terms of N=64 samples, will be read out sequentially along with n revised. The address signal timing should refer to Fig. 27(d). Synchronizing the operation of reading out the couple of f(0, n) and f(1, n), adder 3-63 incorporated in accumulator 3-6 in Fig. 22 will execute accumulation of ΔMLP, which may be noticed in Fig. 27(g). Referring to Fig. 21, all of control data C corresponding to the above couples of 64 pieces of wave form samples are 'F'X. Consequently in case of middle C, ΔMLP will be 2⁶⁺⁴ = 2¹⁰, because OCT = 4. Since accumulator 3-6 has a 16 bit width, 2¹⁸ ÷ 2¹⁰ = 64, and resultantly one reading out of a couple of f(0, n) and f(1, 0) will let adder 3-63 overflowed to generate CHW, being followed by subsequent reading out of a couple of f(1, n) and f(2, n), to be subjected to interpolation calculation. The read-out two wave form samples will be temporarily stored in latch 3-1 and latch 3-2, which are shown in Fig. 14, respectively, responding to ø₁ and ø₂. The revision timing of wave form data which are temporarily stored in latches 3-1 and 3-2 are given in Fig. 27(e) and (f). With one side of these wave form samples, i.e., f(i+1, n), the output of selector 3-7, MLP, will be multiplied by means of multiplier 3-4, and with the other one, f(i, n), (1-MLP) obtained from MLP inverted by inverter 3-8 is multiplied by multiplier 3-3. Outputs of these multipliers 3-3 and 3-4 are added by adder 3-5 so that f(i, m, n) in formula (1) can be obtained. As for the couple of f(0, n) and f(1, n), the control data C is 'F'X, so that accumulator 3-6 will generate PCM signal, and selector 3-7 supplies '0' signals for all bits to multiplier 3-4 and invertor 3-8, as its output MLP. As the result, the output of multiplier 3-3 is f(0, n) as MLP, multiplied by all '1', and the output of multiplier 3-4 will be virtually 0 in place of f(1, n), so that adder 3-5 will output substantially the same value to f(0, n). In the following, description will be given on the advanced stage of wave form synthesis, i.e., wave form synthesizing by f(i, n) and f(i+1, n). *(i, 0) has been stored in latch 5-3 shown in Fig. 17. Address generator 5 in Fig. 17 will output *(i, n) and * (i+1, n) alternately, which are the addresses of samples of f(i, n) and f(i+1, n) respectively in sequential order. Wave form data combination ROM 1 will output f(i, n) and f(i+1, n) sequentially, which are latched by latch 3-1 and 3-2 shown in Fig.14, respectively. Accumulator 3-6 shown in Fig. 23 decodes '5'X of the control data C to accumulate '20'X. Since the bit width of accumulator 3-6 is 16 bits, after 2¹⁶ ÷ '20'X, i.e. 2¹⁶ ÷ 2⁵ = 2¹¹ = 2048 pieces of wave form samples are synthesized, accumulator 3-6 will overflow to generate CHW, whereby wave form revision is executed. That is to say, 32 synthesized wave forms will be outputted by interpolation of f(i, n) and f(i+1, n). Subsequently, 128 synthesized wave forms will be outputted as it can be understood by the fact that control data C is '3'X, in two wave forms of f(i+1, n) and f(i+2, n). When synthesis of wave forms further advanced up to the stage where music tones are synthesized from wave forms for holding and wave form data subsequent to those in ROM, accumulation of MLP data will be stopped by 'E'X of control data C, so that the output of accumulator 3-6 will be all '0' invariably. Consequently, accumulator 3-5 will output repeatedly the holding purpose wave form as it is. Here, wave form revision will not take place, because there is no overflowing of accumulator 3-7 involved. Envelope generator 8 generates envelope information ENV which is decaying along with progress of time from the initial value which is taken of the output of ROM 7, i.e. loudness information ℓ. The envelope information ENV will be multiplied by output of adder 3-5 at multiplier 4, i.e., the result of calculation f(i, n, n) of interpolation, to finally obtain the synthesized musical sound waveforms. In order to meet the above purpose, the wave form data shown in Fig. 21 have been compensated on their amplitude before-hand, under the consideration of diminishing envelope information to be multiplied. This compensating operation will effect for wave form data to be reduced on their amplitude diminution to be stored in wave form data combination ROM 1, so that the number of bits which are used for memory can be improved effectively on their utilization. A configuration example of envelope generator 8 is shown in Fig. 24, where selector 8-1 will select loudness information ℓ responding to INIT signal, feeds it as the initial value to latch 8-2 with timing of ø₂ to be stored temporarily, and thereafter reduces it step by step by ΔE and eventually outputs it as envelope information. ΔE is obtained by decoding OCT information and NOTE information. The envelope information will be sequentially latched by latch 8-2 through selector 8-1. When the key is off, KON signal is turned to be 'LOW', letting latch 8-2 be cleared, and letting ENV output be '0'. The like envelope generator is disclosed as for its particulars in Japanese laid-open patent application No. 58-200295 'Envelope adding apparatus'. According to the fifth embodiment, there is provided a conversion table which is used for determination of wave form data combinations, which are to be incorporated for music synthesis responding to loudness information and touch information, and the generated sound loudness level of the synthesizes wave form. Accordingly, the wave form data combination to be used for synthesis and play back sound loudness level can be specified optionally and independently. That is to say, very natural touch response feeling can be achieved. Further, as an example of the conversion table mentioned above, a configuration is shown in Fig. 15, in which each of loudness is provided with conversion data. In this connection, it is feasible to reduce the size of the conversion table by means of bundling pitch information into several groups. Also, in order to simulate a plurality of musical instrument outputs, each of the wave form data combination ROM 1 may be provided with each of the individual wave form data suitable for the tone of the plurality of musical instruments. It will be feasible to emphasize the more appropriate touch response feeling, if conversion ROM 7 is also provided with particular conversion table for each individual musical instrument. It is also allowed to memorize the start address data TAD contained in wave form data combination ROM 1 directly in place of wave form data combination specifying information a alternatively. In this case, the start address ROM 5-1 shown in Fig. 17 can be removed. Next, sixth embodiment will be described, referring to the relevant drawings. Fig. 30 shows a block diagram of the sixth embodiment of the invention, where the difference compared with the embodiment shown in Fig. 14 is the fact that ROM 10 is supplemented. The information which has been given as touch information t in the previous examples, is, e.g., the information which is obtained by counting the keying speed in terms of count of open/close operation time of the transfer switches. In the sixth embodiment it should be referred to as keying speed information v. ROM 10 receives keying speed information v as address input and reads out touch information t to feed it to ROM 7. ROM 10 will convert 7 bit width of keying speed information v into 4 bit width of touch information t. The bit width of touch information t is chosen as 4 as the minimum number required for representation of muscal sound, so that the player can distinguish the tunes of his performance within a range of loudness or timbre of 2⁴ = 16 levels from the softtest to the loudest tones. On the other hand, keying speed information v is chosen as of 7 bit width, which is, e.g., the information obtained by the method of measuring the time required for transfer switch open/close operation, which is caused by keying operation, etc. Consequently v can express 2⁷ = 128 ful ways of keying speeds. However the above could not help being called a little bit excessive specification, because the player could not play the tunes with high accuracy deviding into 128 levels as for the range of ppp to fff. As mentioned previously, ROM 10 will convert v of 7 bit width into t of 4 bit width, cutting off the excessive specification. However, it is not in vain that bit width of v is prepared as 7 bit-ful, because the value of v will be changeable variously depending upon the construction of key board, method of speed detection and its device. That is to say, the player could not play to produce the same value of v even if he were able to depress the same key board with the same speed, according to the variations of detecting methods and devices. ROM 10 functions at the same time for the touch information not to be effected by variation of detected value v of the keying speed, involved with difference of key board construction or keying speed detecting device. In other words, when the key board construction is revised, if ROM 10 is revised exclusively, it is feasible to maintain almost same status of mutual relationship between the keying speed, and both of loudness and timbre of the generated tone before and after the key board revision. Consequently it is required for the bit width of v to be much wider than that of t. As seen from the description given above, it is clear that the revision of key board construction or keying speed detecting device can be responded exclusively by merely revising the contents of conversion ROM, because of the fact that the conversion ROM is provided for this embodiment, width can convert the keying speed information which is changeable in a wide range by means of the variations of key board construction or keying speed detecting method or device into touch information which is invariable regardless of any key board construction or keying speed detecting device given. Hereafter the method of conversion of keying speed information v into touch information t is often to be referred to as v/t converter. Next, seventh embodiment of the invention will be described, referring to the relevant Drawings. Fig. 30 is a v/t converter block diagram which is to be incorporated inthe seventh embodiment of the invention, where v and t are the keying speed information and touch information respectively as same as those given in the embodiment in Fig. 30. The point of difference between the seventh embodiment and that shown in Fig. 30 is nothing but ROM 10 shown in Fig. 30 being replaced by the v/t converter which is shown in Fig. 31 (a) or (b), so that the other parts of illustration or explanation will be omitted. There are a plurality of ROMs, i.e., ROM 10-1, ROM 10-2, ROM 10-3, and so on in Fig. 31 (a), which converts seven bit width of v into 4 bit width of t, so that more than one numbers of t are read out responding to one of v. Number 10-4 stands for a selector which selects one of the value of ts which have been read out simultaneously by means of select information SEL which selects the characteristics of the v/t convertor. The select information SEL is generated by a switch circuit which is e.g., manipulated by the player. In case of Fig. 31 (b), ROM 10 is provided with keying speed information v and select information SEL as address signals. In ROM 10 more than on of v/t conversion characteristics are stored, in that various v/t conversion characteristics available by selecting among select information SEL in the same way as shown in Fig. 31 (a). The player's self selection of touch response may be available by means of the above configuration incorporated. In the foregoing, some embodiments of the invention have been described, which are shown in Fig. 3, Fig. 6, Fig. 10, Fig. 12, Fig. 14, Fig. 30 and Fig. 31. It has been disclosed that there are two ways of synthesizing, namely, one method in which the digital values which can be obtained by digitizing the musical sound wave forms as wave form data combination as they are, and the other one in which the musical sounds are recomposed by interpolation from a plurality of representative wave forms which have been selected and stored in memory preliminarily. In this connection these methods can be condensed further by means of some condensation technology, where it will be required to utilize each of multiplification device for the musical sound synthesis means. Beside the above, there are other means of musical sound synthesis available, such as the well known method of sinusoidal wave addition or frequency modulation, in which parameters that are used for thse methods of synthesis should be prepared for the wave form data combination. It goes without saying that, as for musical sound synthesizing mens 3, the sinusoidal wave adding type musical sound synthesizer or frequency modulation type musical sound synthesizer is to be incorporated. In steadof ROM or decoder being used for t/ℓ converter 6 in Fig. 10 and Fig. 12, or v/t converter 10 in Fig. 30, a microprocess may be used to execute the arithmetic operation to obtain the value of conversion. As one of such examples, the conversion characteristics shown in Fig. 10 will be simulated by a number of line segments, a linear equation being solved on each of the line segments to get the result, or the incline of each line segment is represented by a value of increment, the conversion value being obtained by accumulation of each of the increments. In the embodiments shown in Fig. 3 through Fig. 31, ROMs are used as a plurality of configuration element. However, these ROMs are, obviously, able to be disposed in the different zones of the same package.

Claims: A sound generator for an electronic musical instrument comprising: waveform data memory means (1) to store musical tones recorded from a natural musical instrument in compressed digital form, in which said musical tones are recorded at several prescribed pitch frequencies and from beginning to end of said tones; and accessing (5) and reconstructing (3) means to select and expand said compressed digital form into a musical tone waveform which reproduces that of said natural musical instrument; loudness control means (7, 8, 10) to control the loudness level of the generated tone in response to touch information, characterised in that for at least one note, said waveform data memory means stores a plurality of tone waveforms from beginning to end in compressed digital form, corresponding to said instrument being played at a different loudness level for each waveform (Figures 2, 16, 18); each of said tone waveforms in compressed digital form includes (Figures 13 and 21) an uncompressed PCM attack part, waveform decay information consisting of representative cycles of the waveform for reconstruction by interpolation, and a single cycle of the waveform for reproduction at low or constant level; each single tone waveform stored in said waveform data memory means is used to reproduce a group of adjacent notes played in a range of several adjacent and distinct loudness levels; said generator includes selection means for selecting one of said plurality of tone waveforms in response to touch information obtained by detecting a keying speed or strength, or to the touch information and pitch information. The sound generator according to Claim 1, wherein said selection means includes wave data specifying means which generates wave form data specifying information for specifying one of the compressed digital tone waveforms. The sound generator according to Claim 2, wherein said loudness control means includes loudness information generation means which generates loudness information specifying the loudness level of the generated tone from the touch information, or from the touch information and the pitch information. The sound generator according to Claim 3, wherein each said different loudness level is normalised to a maximum value which can be expressed by a bit width of digital word of each data in the wave form data specifying information. The sound generator according to Claims 3 or 4 wherein the wave form and loudness specifying means comprises a ROM. The sound generator acccording to any one of the previous claims further comprising: first conversion means generating second touch information by converting first touch information which is obtained by detecting keying speed or strength; and second conversion means generating, by converting the second touch information, first specifying information which specifies timbre of a generated tone and second specifying information which specifies loudness of the generated tone. The sound generator according to Claim 6 further comprising selection means which selects a conversion characteristic of said conversion means for converting the first touch information to the second touch information.

Inventors: MATSUDA, SAKURAKO, NIKAIDO, MASATAKA
Applicants: MATSUSHITA ELECTRIC INDUSTRIAL CO., LTD.
Application year: 1985
Main classification: G10H7
IPC codes: G10H7, G10H1