This application is based upon and claims the benefit of priority from Japanese Patent Application No. 2018-189361, filed Oct. 4, 2018, the entire contents of which are incorporated herein by reference.
The present invention relates to an electronic musical instrument and a method of causing the electronic musical instrument to perform processing.
Jpn. Pat. Appln. KOKAI Publication No. 2011-154394 provides a technique for providing a musical sound generating apparatus which simulates key-released string vibration sound and case body resonance sound of an acoustic piano.
A technique has been known, which enables simplification of a circuit configuration including a memory capacity by the adoption of a configuration in which, in a PCM sound source, short waveform data read from a memory is processed as an excitation signal while cyclically giving appropriate attenuation to the data in a delay loop circuit, thereby generating musical sound having a predetermined length.
In a PCM sound source of this type, the type of waveform data that should be used as an excitation signal has not been established. In addition, when constructing a physical model corresponding to an excitation signal, the technique has not reached a point where musical sound with the desired real sound quality can be obtained; for example, a number of parameter settings are required.
According to one aspect of the present invention, there is provided an electronic musical instrument comprising: a playing operator with which pitch information indicating a certain pitch is associated; and a sound source which performs processing of: receiving, in response to a user operation on the playing operator, a sound generation instruction according to playing operation information including the pitch information indicating the certain pitch and sound volume information indicating a certain volume, and generating sound according to the certain pitch and the certain volume, based on excitation data generated by multiplying partial data by a window function, the partial data being included in excitation signal waveform data generated based on a plurality of waveform data items which are respectively different from each other in sound intensity in the certain pitch.
According to the present invention, it is possible to generate musical sound with a real sound quality without increasing the circuit scale.
The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate embodiments of the invention, and together with the general description given above and the detailed description of the embodiments given below, serve to explain the principles of the invention.
Hereinafter, an embodiment in the case where the present invention is applied to an electronic keyboard musical instrument will be described with reference to drawings.
LSI12 connects, via a bus B, CPU12A, ROM12B, a sound source 12C, and a D/A converting unit (DAC) 12D.
The CPU 12A controls overall operations of the electronic keyboard musical instrument 10. The ROM12B stores excitation signal waveform data, etc. for operation programs or playing (music performance) performed by the CPU12A. The CPU12A gives a parameter, such as a note number and a velocity value, to the sound source 12C during the playing operation.
In response to the parameter given from the CPU12A, the sound source 12C reads partial data based on necessary excitation signal waveform data from the ROM12B, generates a musical sound signal through signaling processing, and outputs the generated musical sound signal to the D/A converting unit 12D.
The D/A converting unit 12D analogizes the musical sound signal and outputs it to an amplifier 13. A speaker 14 speech-amplifies and emits musical sound by means of the analogue musical sound signal amplified by the amplifier 13.
Also, the electronic keyboard musical instrument 10 includes a signal circulation circuit of a string model with one string per key (lowest register), two strings per key (lower register), or three strings per key (medium or higher register). In
A note on/off signal according to an operation of a key at the keyboard 11 is input from the CPU12A to the note event processing unit 31.
In response to the key operated, the note event processing unit 31 sends respective pieces of information on a note number and a velocity value, at the point of the start of sound emission (note-on), to a waveform reading unit 32 and a window-multiplying processing unit 33, and sends a multiplier according to the note-on signal and velocity value to gate amplifiers 35A to 35C in each of the string models.
Furthermore, the note event processing unit 31 sends a note-on/off signal and a velocity value signal to a damper envelope generator (EG) 42.
The waveform reading unit 32 generates a reading address according to information on the note number and velocity value, and reads waveform data as an excitation signal from the waveform memory 34.
An address value, to which a value offset in each Wave (n) is added according to a velocity value of sound emission, is given in accordance with a pitch of sound pronunciation as an offset address to any one of the leading addresses in the excitation signal waveform data of 88 sounds.
The waveform reading unit 32 outputs partial data read out from the waveform memory 34 to the window-multiplying processing unit 33.
The window-multiplying processing unit 33 performs window-multiplying (window function) processing in a time width corresponding to a wavelength of the pitch according to the note number from the note number information, and sends the window-multiplying processed waveform to the gate amplifiers 35A to 35C.
Hereinafter, the subsequent step of one of the signal circulation circuits of the model with three strings, e.g., the gate amplifier 35A of the highest step side, is cited and explained as an example.
In the gate amplifier 35A, the window-multiplying processed waveform data is subjected to amplification processing using a multiplier according to a velocity value, and the processed waveform data is output to an adder 36A. Waveform data to which attenuation according to the damper displacement is given, output by a non-linear characteristic processing unit 41A to be described later, has been returned to, and also input in, the adder 36A, and the addition output is sent to a delay circuit 37A.
In the delay circuit 37A of the acoustic piano, a string length delay PT0_r [n] has been set as a value according to an integer part of a single wavelength of sound output when the string vibrates (e.g., an integer “20” when the sound corresponds to a high note key; and an integer “2000” when the sound corresponds to a low note key), and the delay circuit 37A delays the waveform data by only the string length delay PT0_r [n] and outputs the waveform data to an all-pass filter (APF) 38A in the subsequent step.
In the all-pass filter 38A, a string length delay PT0_f [n] has been set as a value according to a decimal part of the single wavelength, and the all-pass filter 38A delays the waveform data by only the string length delay PT0_f [n] and outputs the waveform data to a low-pass filter (LPF) 39A in the subsequent step. That is, the waveform data is delayed, by the delay circuit 37A (to 37C) and the all-pass filter 38A (to 38C), for the time determined in accordance with the input note number information (pitch information) (the time for a single wavelength).
The low-pass filter 39A passes the waveform data on the low-frequency side by using a cutoff-frequency Fc [n] for high-frequency band attenuation set for the frequency of the string length, and outputs the waveform data to an attenuation amplifier 40A.
The attenuation amplifier 40A performs normal attenuation processing irrelevant to damper displacement, and outputs the attenuated waveform data to a non-linear characteristic processing unit 41A.
The non-linear characteristic processing unit 41A attenuates waveform data after note-off (instructions for weakening sound, including sound-deadening) based on the information of damper displacement given from the damper envelope generator (EG) 42, outputs the attenuated waveform data to the adder 36A as described above, and further outputs it to an adder 43.
The adder 43 performs addition processing of the waveform data output by the non-linear characteristic processing unit 41A and non-linear characteristic processing units 41B and 41C of the other two lines similarly constituting the circulation circuit for excitation signals, and outputs the sum as a musical sound signal according to the operation of the key to the adder 44.
The adder 44 adds a musical sound signal corresponding to each pressed key, and outputs the sum to a D/A converting unit 12D in the subsequent step.
In this way, by venturing not to include the non-linear characteristic processing unit 41A (to 41C) in a closed-loop circuit of the circulating string model, it is possible to set a multiplier as an attenuation multiplying device in the closed loop to an appropriate value at the point of key-release, and stabilize the processing without the attenuation due to a damper. This is caused by the non-linear characteristic processing unit 41A (to 41C) which act(s) according to the amount of the damper displacement, excessively applied through the closed-loop circuit.
In addition, the provision of the attenuation due to a damper out of the closed-loop circuit as illustrated in
On the other hand, the case where the attenuation due to a damper is provided inside a closed-loop circuit as shown in
An electronic keyboard musical instrument may be made which enables the selection of a mode through a user's discretional mode switching operation, setting the case of providing attenuation due to a damper inside a closed-loop circuit to a first mode and setting the case of providing attenuation due to a damper out of a closed-loop circuit to a second mode, although this musical instrument is not adopted in the present embodiments.
When a key in the keyboard 11 is pressed, an offset address indicating a leading address according to a note number that should be pronounced, and a velocity value are retained in an offset address register 51. The retained content of the offset address register 51 is output to an adder 52.
Meanwhile, a count value of a current address counter 53 which is reset at the beginning of sound emission to become “0 (zero)” is output to the adder 52, an interpolation unit 56, an adder 55, and a window-multiplying unit 57.
The count address counter 53 is a counter which sequentially increases a count value based on a result obtained by adding, via the adder 55, a retained value at a pitch register 54 which retains a reproduced pitch of an excitation signal and the count value itself.
In the normal case, when a sampling rate of waveform data in the waveform memory 34 agrees with its string model, a reproduced pitch, which is a set value of the pitch register 54, becomes “1.0”; however, when the pitch is changed by master tuning, stretch tuning, rhythm, or the like, a value added to or subtracted from “1.0” is given as the reproduced pitch.
The output (address integer part) of the adder 52, which adds an offset address to a current address, is output as a read-out address to the waveform memory 34, and corresponding waveform data is read out from the waveform memory 34.
The read-out waveform data is, in the interpolation unit 56, subjected to interpolation processing in accordance with an address decimal part according to the pitch output by the count address counter 53, and then output to the window-multiplying unit 57. The window-multiplying unit 57 performs window-Multiplying processing for the waveform data, based on a window function table, such as Hanning (hann/Humming) window, Black man window, stored in a window table 58, along with the progress of the current address output by the current address counter 53, and outputs the window-multiplying processed waveform data as an exciting signal to the gate amplifiers 35A to 35C.
The information on damper displacement has a curve waveform indicating attenuation in a plus-sign area as indicated in the figure, and while the information is directly input in a comparator (CMP) 61, the sign is reversed to (x−1) at a reversal amplifier 62, and the waveform information is input in a comparator 66.
The comparator 61 extracts a waveform portion larger than the information on damper displacement from the input of the waveform data and passes the waveform portion. After high-frequency components are removed from an output of the comparator 61 by a low-pass filter (LPF) 63, the output is amplified at a predetermined amplification rate by an amplifier 64, and is then given as a subtrahend to a subtracter 65.
On the other hand, the comparator 66 extracts a waveform portion smaller than the reversed information on damper displacement from the input of the waveform data and passes the waveform data. After high-frequency components are removed from an output of the comparator 66 by a low-pass filter (LPF) 67, the output is amplified at a predetermined amplification rate by an amplifier 68, and is then given to an adder 69.
The adder 69 adds, to the input waveform data, a maximal waveform portion on the minus side from the amplifier 68 to thereby obtain waveform data in which the maximal waveform portion is cut, and outputs the waveform to the subtracter 65.
The subtracter 65 subtracts a maximal waveform portion on the plus side output by the amplifier 64 from the waveform data from the adder 69 to thereby obtain waveform data in which the maximal waveform portion is cut.
As a result, the waveform data output from the subtracter 65 is returned to, and input in, the adder 36A in the subsequent step, as waveform data in which a portion exceeding the waveform range, given as information on damper information on both the plus side and the minus side, is suppressed.
Next, the operation of the embodiment will be described.
First, waveform data to be stored in the waveform memory 34 (ROM12B) will be described with reference to
It is also desired to perform, as preprocessing, normalization processing for a plurality of these pieces of recorded data so as to have an equal amplification.
The waveform data on the strong touch side is subjected to window-multiplying (window function) processing P11 and then subjected to a high-speed Fourier transformation (FFT) processing P12 as a discrete Fourier transformation (DFT), and then converted frequency-dimensionally to obtain a real value (R) and an imaginary value (I) of a complex number. These complex numbers are polar-coordinated by polar coordinate conversion processing P13 and converted into a first amplitude signal and first phase information.
The waveform on the weak touch side is similar to the waveform on the strong touch side, and second amplitude information and second phase information are obtained by window-multiplying (window function) processing P14, high-speed Fourier transformation (FFT) processing P15, and polar coordinate conversion processing P16.
Subsequently, the second phase information of the waveform on the weak-touch side is replaced by the first phase information on the strong-touch side and is converted into a complex number again by an orthogonal coordinate conversion processing P17. This complex number is processed into waveform data by an inversion high-speed Fourier transformation (inversion FFT) processing P18.
The obtained waveform data is further subjected to window-multiplying (window function) processing P19 to remove unnecessary waveform portions, and waveform data of weak-touch base sound is obtained.
Furthermore, by subjecting waveform data on the strong-touch side to subtraction processing using the waveform data of the weak-touch base sound as a subtrahend through subtraction processing P20, waveform data of differential sound different from the waveform data of the strong-touch side can be obtained.
Through the waveform processing as described above, overtone phases of a plurality of waveform data items can be respectively uniformed. In the case of combining strong-and-weak musical sounds of a particular musical instrument, the waveform processing also becomes effective in reducing the likelihood of causing a change in which an addition result of a plurality of pieces of recorded data, each different in musical sound intensity, differs from an addition rate.
Specifically,
Similarly,
Similarly,
Therefore, an output of the adder 24 which adds these waveform data sequentially changes in waveform from “strong” to “moderate” to “weak” for every two cycles.
Such waveform data (excitation signal waveform data) is preliminarily stored in the waveform memory 34, and a start address according to the intensity of playing (music performance) is designated, thereby ensuring that necessary waveform data (partial data) is read as an excitation signal. The read waveform data is subjected to window-multiplying processing by a window-multiplying processing unit 33 as shown in
Since waveform data for a portion of two to three wavelengths is used, the numbers of pieces sampling data constituting the waveform data differ depending on the pitch. For example, in the case of 88 keys of an acoustic piano, the number of pieces of sampling data from low pitch sound (low note) to high pitch sound (high note) is approximately 2000 to 20 or so (in the case of sampling frequency: 44.1 [kHz]).
The addition method of waveform data is not limited to combinations of waveform data which differ in the intensity of playing (music performance) of only the same musical instrument. For example, in the case of an electric piano, although when keys are touched weakly the resulting waveform data has waveform characteristics close to those of a sinusoidal wave, when the keys are touched strongly the resulting waveform data has a waveform akin to a saturated rectangular wave. It is possible to generate musical sound in a model which sequentially changes sound, by means of the intensity of playing or other playing operators, by sequentially adding various different musical sounds of a musical instrument, such as these waveforms apparently different in shape, e.g., waveforms extracted from a guitar.
Actually, the number of steps is not limited to the three steps described above, as shown by a dotted line in a window-multiplying waveform in the figure; for example, when the resolution of the velocity value is 7 bits, the number of steps is divided into 128 steps, and the read-out position of waveform data using the note number is sequentially changed.
When subjecting the read waveform data to window-multiplying processing, the wavelength differs depending on the tone interval, and therefore, it is necessary to also make the time length for the portion subjected to the window-multiplying processing different.
As shown in each of the figures, when a result of subjecting waveform data stored in the waveform memory 34 to window-multiplying processing is used as an excitation signal, the time width of a waveform differs depending on a pitch according to a designated note number, and therefore, it is also necessary to change the size (time width) with which the window-multiplying is performed in accordance with the a designated note number.
In addition to subjecting the waveform data read from the waveform memory 34 by the waveform reading unit 32 to the window-multiplying processing through the window-multiplying processing unit 33 as described above, it is assumed that the waveform data itself stored in the waveform memory 34 has been preliminarily subjected to the window-multiplying processing, and unnecessary frequency components have been removed therefrom as explained above in
For a window function used herein for the waveform data to be stored, a function which has less influence on overtone components of original sound of musical sound, such as a Hanning (hann/Hamming) window, a Blackman window, and a Kaiser window, is sufficient.
The waveform data which is read from the waveform memory 34 by the waveform reading unit 32 and subjected to the window-multiplying processing by the window-multiplying processing unit 33 is processed using a multiplier according to an operated velocity value through the gate amplifiers 35A to 35C, and then input in a signal circulation circuit constituting the string model.
A single string model is composed of a closed-loop including a delay circuit 37A (to 37C) which generates delay for a waveform portion of musical sound to be generated, and the inside of the loop includes an all-pass filter 38A (to 38C), a low-pass filter 39A (to 39C), an attenuation amplifier 40A (to 40C), a non-linear characteristic processing unit 41A (to 41C), and an adder 36A (to 36C) which adds excitation signals of signals of the model.
In relation to the matter that the delay circuit 37A (to 37C) and the all-pass filter 38A (to 38C) delay a value in which an inverse number of a dismal part of a pitch frequency of musical sound to be generated and an integer 1 are added by means of digital processing to the delay circuits 37A (to 37C), while an integer part of the wavelength is given as a string delay PT0_r [n] (to PT2_r [n]), a decimal part of the wavelength is given as a string delay PT0_f [n] (to PT2_f [n]) to the all-pass filter 38A (to 38C).
As described above,
In the case of an acoustic piano, the degree of adjustment of pitches of these three strings of this model is referred to as “unison”, and it is set to pitches minutely different from one another. These different pitches are parameters adjusted depending on a piano to be modeled.
A cut-off frequency Fc [n] to the low-pass filter 39A (to 39C) which adjusts the time from pronunciation (sound emission), as well as the attenuation of overtone components, is also set in accordance with a piano and strings to be modeled, similarly.
An output of each string model is added by an adder 43, outputs for 88 keys are further added to the output by an adder 44, and the resulting data is output to a D/A converting unit 12D in the subsequent step.
Waveform data which becomes a signal exciting the string model of a closed-loop is read out from the waveform memory 34 by the waveform reading unit 32 and subjected to window-multiplying processing by the window-multiplying processing unit 33, and then, in the gate amplifiers 35A to 35C. The processed signal is multiplied by a multiplier according to the velocity value, and supplied to respective signal circulation circuits constituting the string model.
At the point of note-on (key-pressing), a note-on signal is sent from a note event processing unit 31 to a damper envelope generator 42, and the damper envelop generator 42 converts the note-on signal into a signal indicating the displacement of a damper, sending it to the non-linear characteristic processing units 41A to 41C.
Specifically, the suppression of vibrations of the strings is temporarily released. Immediately after that, the waveform reading unit 32 is controlled so as to read the waveform data as an excitation signal, in accordance with the note number and the velocity value.
In response to the occurrence of note-off (upon receipt of instructions for weakening sound including sound deadening) at the point of key-release, the damper envelope generator 42 adjusts information on the damper displacement at a speed according to a note-off velocity value so that an attenuation coefficient is adjusted by the non-linear characteristic processing units 41A to 41C as multiplying devices for attenuation furnished inside the closed-loop.
Specifically, the damper envelope generator 42 adjusts vibrations in such a direction that with a strong note-off velocity value, the vibrations of strings attenuate quickly, and with a weak note-off velocity value, the damper suppress the strings to slowly suppress the vibrations.
It should be noted that a note-off event is generally expressed by a velocity value; however, a configuration whereby a signal value sequentially changes like the control data of MIDI is given to the non-linear characteristic processing units 41A to 41C may also be adopted.
At the time of note-on, in a state where a string is released from a damper, the attenuation rate of the string is 1.0, and as shown by XIIA in the figure, an input is equal to an output.
When the damper is displaced, gradually brought into contact with a string, and starts to absorb vibrating energy and suppress the vibrations, the displacement of the vibration (output) moves smoothly to a constant value from the displacement of the contacted string. As shown by XIIB in the figure, the amount of displacement that moves to a constant value varies in accordance with the change amount of the damper, and when the damper contacts the string more frequently, the vibration of the string is suppressed at a lower output level.
XIIC in the figure shows characteristics at the point of note-off and shows a state where the output is suppressed so as to be even smaller relative to the input.
Since dampers of a piano need to be designed to suppress the vibrations of strings without generating unnecessary sounds, the characteristics are adjusted so that a curve is drawn as smooth as possible, and the resulting output reaches a fixed output value.
In the actual non-linear characteristic processing units 41A to 41C, attenuation according to damper displacement as described above is realized by, for example, the circuit configuration shown in
For example, in the case where the musical instrument is a harpsichord, the sound at the point of key-release is clearly loud, and when the sound includes high-frequency components, the cut-off frequency is set to be higher. In contrast, when the amount of the overtone components generated at the point of key-release is small as in the case where the musical instrument is a piano, the cut-off frequency is set to be sufficiently lower.
At the point when it subsequently becomes note-off, the damper envelope generator 42 attenuates the damper displacement in accordance with the intensity of a velocity value at the point of note-off. In the figure, XIIIB indicates differences in release envelope curve depending on a velocity value at the point of note-off. The larger a velocity value (=the higher the speed of key-release), the larger a damper displacement amount is set to be, and the larger the attenuation amount. In accordance with attenuation of damper displacement, a string signal is attenuated while undergoing saturation, resulting in sound deadening.
According to the present embodiments as described above in detail, it becomes possible to generate musical sound with a real sound quality without increasing the circuit scale.
The embodiment described above includes a plurality of signal circulation circuits, each of which generates a musical sound waveform for one note number and is configured to output a musical sound waveform after adding musical sound waveforms generated in the respective signal circulation circuits; it is therefore possible to faithfully reproduce musical sound of a musical instrument which sounds a plurality of strings and pipes for a single note number operation.
Furthermore, in the embodiment described above, waveform data as an excitation signal read out from a waveform memory is subjected to window-multiplying processing and then output to signal circulation circuits which generate musical sound waveforms, and therefore, unnecessary frequency components are removed, enabling simplification of the configuration of circuits for performing signal processing.
In addition, in the embodiment described above, waveform data itself to be stored in a waveform memory is subjected to window-multiplying processing in advance and then stored, and therefore, it is possible to reduce storage capacity, etc. necessary for the waveform memory.
The embodiment described enables reduction in memory capacity, etc., necessary for the waveform memory, since the embodiment is configured to generate musical sound having a necessary length according to the operation at a playing operator, via a signal circulation circuit from musical sound waveform information for a predetermined wave length read out from the waveform memory.
Furthermore, the embodiment is configured such that after receipt of playing operation information including a note number and musical sound intensity, a predetermined wavelength portion in a necessary range is acquired from musical sound wavelength information which is stored in the waveform memory and changes according to a plurality of sound intensities, so that the circuit configuration for reading the musical sound waveform information can be simplified.
More specifically, the embodiment is configured to acquire the predetermined wavelength portion by changing an address read out, based on the received playing operation information from a memory in which musical sound waveform information which is changed according to a plurality of sound intensities, so that the circuit for obtaining necessary musical sound waveform information can be made simpler.
The embodiment described above can more faithfully reproduce and generate original musical sound, since the embodiment is configured such that a register in which a plurality of signal circulation circuits are provided for a single note number is made pursuant to a musical instrument used as a model.
As described above, the present embodiment describes a case where the embodiment applies to an electronic keyboard instrument; however, the present invention is not limited to a particular instrument or a particular model.
The invention of the present application is not limited to the embodiment described above, and can be modified variously modified in the implementation stage without departing from the scope of the invention. In addition, the embodiments may be suitably implemented in combination, in which case a combined effect is obtained. Furthermore, inventions in various stages are included in the above-described embodiments, and various inventions can be extracted by a combination selected from a plurality of the disclosed configuration requirements. For example, even if some configuration requirements are removed from all of the configuration requirements shown in the embodiments, the problem described in the column of the problem to be solved by the invention can be solved, and if an effect described in the column of the effect of the invention is obtained, a configuration from which this configuration requirement is removed can be extracted as an invention.
Number | Date | Country | Kind |
---|---|---|---|
2018-189361 | Oct 2018 | JP | national |