The present invention relates to a technique for permitting construction or implementation, at low cost, of an apparatus which can use a plurality of tone generator devices with no function to share a same waveform memory, to perform processing similar to that performed by a plurality of tone generator devices with a function to share a same waveform memory.
Heretofore, tone generator apparatus have been known, which use two tone generators (e.g., in the form of tone generator chips) to increase the number of tone generation channels (CHs) and store, in a single waveform (data) memory, all waveform data to be used for generation of tones, and in which each of the two tone generators can read out waveform data from the waveform memory. In Japanese patent Application Laid-open Publication No. HEI-9-146551, for example, there is disclosed a waveform-memory-based tone generator apparatus, in which a single waveform memory is shared between two tone generators and in which the tone generators can each access the same waveform memory on a time-divisional basis to thereby read out waveform data from the memory substantially simultaneously; that is, the disclosed tone generator apparatus has a waveform memory sharing function. With the disclosed technique, any newly-generated tone generation instruction can be allotted to any of the channels of the two tone generators.
In the tone generator apparatus disclosed in the No. HEI-9-146551, the two tone generators each have to have a function for sharing the waveform memory (i.e., waveform-memory sharing function). Generally, the tone generator having a waveform-memory sharing function and the tone generator having no waveform-memory sharing function significantly differ in price; namely, the tone generator with the waveform-memory sharing function is more expensive than the tone generator without the waveform-memory sharing function. Whereas the tone generator without the waveform-memory sharing function is inexpensive, it can use only a dedicated waveform memory. Thus, as the number of tone generators is increased to increase the number of channels, there also arises a need to increase the number of waveform memories for storing waveform data. Particularly, in order to allow sets of waveform data, representative of all tone colors used in the apparatus, to be shared between two tone generators, it is necessary to prestore all of such necessary sets of waveform data redundantly in both of the waveform memories of the two tone generators. Providing two waveform memories storing all necessary sets of waveform data as mentioned above would result in increased memory cost.
In view of the foregoing, it is an object of the present invention to provide a technique which permits construction or implementation, at low cost, of an apparatus which can use a plurality of tone generator devices with no waveform sharing function to perform processing similar to processing performed by a plurality of tone generator devices with a waveform sharing function, without reducing the number of channels and usable waveform data.
In order to accomplish the above-mentioned object, the present invention provides an improved tone generation processing apparatus, which comprises: a plurality of tone generator devices; a plurality of waveform data memories corresponding to the plurality of tone generator devices and exclusively usable by corresponding ones of the plurality of tone generator devices, wherein each of the tone generator devices uses waveform data, stored in the waveform data memory exclusively usable thereby, to generate a waveform signal of a tone indicated by given event information; an event reception section that receives event information indicating a tone to be generated; a tone generator selection section that selects, from among the plurality of tone generator devices, a tone generator device to be used for generating the tone corresponding to the event information received by the event reception section; and a delivery section that delivers the received event information to the tone generator device selected by the tone generator selection section so that a waveform signal of the tone indicated by the received event information is generated by the selected tone generator device.
The present invention is characterized by the provision of the tone generator selection section for selecting, from among the plurality of tone generator devices, a particular tone generator device to be used for generating the tone corresponding to the received event information. Thus, even where a plurality of inexpensive tone generators devices with no waveform-memory sharing function are employed, it is possible to perform appropriate management as to which of the tone generator devices should be used for the tone to be generated. Thus, with the present invention, there is no need to redundantly store same waveform data in each of the waveform data memories of the tone generator devices incapable of sharing a waveform memory, and thus, each of the waveform data memories can be used efficiently. That is, because the present invention allows various waveform data to be stored distributively in the waveform data memories corresponding to the tone generator devices, the present invention can construct or implement a tone generation processing apparatus at reduced overall cost.
For example, arrangements may be made such that, for a same tone color, first waveform data corresponding to a first pitch range, and second waveform data differing in waveform characteristic from the first waveform data and corresponding to a second pitch range, are stored in the waveform data memories corresponding to different ones of the tone generator devices. Such arrangements allow even a same tone color to be stored with waveform data differentiated between pitch ranges. This means that the present invention can not only generate high-quality tone waveform data differing in tone quality between pitch ranges but also expand the maximum number of simultaneously-generatable tones (i.e., tone generation channels) of that tone color up to a sum of the numbers of the tone generation channels in the plurality of tone generator devices. Thus, the same benefits as where a plurality of expensive tone generator devices, capable of sharing a waveform-memory, are employed can be achieved using a plurality of inexpensive tone generator devices incapable of sharing a waveform-memory.
The present invention may be constructed and implemented not only as the apparatus invention as discussed above but also as a method invention. Also, the present invention may be arranged and implemented as a software program for execution by a processor such as a computer or DSP, as well as a storage medium storing such a software program. Further, the processor used in the present invention may comprise a dedicated processor with dedicated logic built in hardware, not to mention a computer or other general-purpose type processor capable of running a desired software program.
The following will describe embodiments of the present invention, but it should be appreciated that the present invention is not limited to the described embodiments and various modifications of the invention are possible without departing from the basic principles. The scope of the present invention is therefore to be determined solely by the appended claims.
For better understanding of the objects and other features of the present invention, its preferred embodiments will be described hereinbelow in greater detail with reference to the accompanying drawings, in which:
The CPU 101 is a processing device for controlling operation of the entire electronic musical instrument. The RAM 102 is a volatile memory into which a program to be executed by the CPU 101 is loaded, and which includes various buffer areas. The #1 tone generator 103 and #2 tone generator 105 each do not have a waveform-memory sharing function; namely, each of the tone generators 103, 105 can not share a waveform memory, storing waveform data for use therein, with the other tone generator, and it uses the waveform memory as a memory dedicated or exclusive thereto. The #1 ROM 104 includes a waveform memory area dedicated to the #1 tone generator 103 and storing waveform data usable only by the #1 tone generator 103, and the waveform memory area is accessible only by the #1 tone generator 103. The #1 ROM 104 functions not only as a waveform memory but also as a CPU memory storing various data and programs to be executed by the CPU 101; for that purpose, the #1 ROM 104 includes a CPU memory area. The #1 ROM 104 is also accessible by the CPU 101. The tone generator (#2 tone generator 105) other than the #1 tone generator 103 does not (or can not) access the #1 ROM 104. The #2 ROM 106 is a waveform memory for exclusive use by the #2 tone generator 105 and has stored therein waveform data that can be used only by the #2 tone generator 105; only the #2 tone generator 105 accesses (or can access) the #2 ROM 106. The tone generator (#1 tone generator) 103 other than the CPU 101 and #2 tone generator 105 does not (or can not) access the #2 ROM 106. Each of the #1 tone generator 103 and #2 tone generator 105 has a plurality of channels (CHs) and can simultaneously generate a plurality of tones in response to a plurality of key-on events being assigned to respective ones of the channels.
The operator unit 107 includes operators, such as a keyboard having a plurality of keys operable by a human operator for a music performance and various switches provided on an operation panel of the electronic musical instrument. Operation on the operator unit 107 is detected by the detection circuit 8, and the detection result is supplied to the CPU 101. The display section 109 is in the form of a display device provided on the operation panel of the electronic musical instrument. The display circuit 110 displays designated information on the display section 109 on the basis of an instruction from the CPU 101. The communication interface (I/F) 112 is an interface for receiving a MIDI event output, for example, from the external equipment 111, such as MIDI equipment. The electronic musical instrument of
Because the #1 ROM 104 is a memory accessible by the CPU 101 as well, the #1 ROM 104 is shown in
In accordance with the tone generator number correspondence table of
At following step 404, a determination is made as to whether the subject tone generator (in this case, the #1 tone generator 103 or #2 tone generator 105) has any vacant channel. With an affirmative answer, the CPU 101 goes to step 405, where the vacant channel is set as a channel (i.e., “assigned-to channel”) to which the received key-on event should be assigned. If there is no vacant channel in the subject tone generator, the CPU 101 branches to step 406, where any one of the channels in the subject tone generator is set, in accordance with predetermined rules, as the assigned-to channel to which the received key-on event should be assigned. At step 407, the received key-on event is assigned to the assigned-to channel having been set at step 405 or 406, so that generation of the tone corresponding to the key-on event is carried out. Set of waveform data to be used for the tone generation of the received key-on event is determined on the basis of the combination of the tone color number of the tone color identified at step 401 and the key bank number of the key bank identified at step 402. Once the tone generation is started, the waveform data are sequentially read out from the waveform memory accessed by the subject tone generator, and the thus read-out waveform data are audibly reproduced (or sounded) through the assigned-to channel of the subject tone generator.
According to the present invention, instead of determining the subject tone generator on the basis of the tone color and key bank of the received key-on event, the CPU 101 may first determine, upon receipt of the key-on event, a set of waveform data to be used for generation of the tone corresponding to the received key-on event, then detects one of the tone generators which is capable of generating the tone with the determined waveform data, and then set the detected tone generator as the subject tone generator.
Whereas the embodiment has been described as employing two tone generators, the number of the tone generators may be other than two; for example, there may be employed any desired number of tone generators enough to secure a necessary number of channels for generation of tones. No matter how many tone generators are installed or provided, dedicated waveform memories are provided, in corresponding relation to the tone generators provided, in such a manner that each of the waveform memories is exclusively usable by the corresponding tone generator, and sets of waveform data to be used by the corresponding tone generator are stored in the waveform memory exclusive to the tone generator. Unique tone generator numbers are assigned to all of the tone generators provided, and pieces of information about all of the tone generators are stored in the tone generator number correspondence table.
Preferably, the waveform data assignment to the individual tone generators is made in such a manner that those sets of waveform data having a high possibility of being simultaneously sounded (in the above-described embodiment, waveform data to be used in adjoining key banks within a same tone color) are audibly generated in separate tone generators if at all possible. The waveform data assignment to the individual tone generators may be made in any other manner, without being limited to the above-described scheme of assigning each key bank (waveform data) to any one of the tone generators. For example, for each key bank where a plurality of tone pitches are very likely to be sounded simultaneously, the key bank (key range) may be divided into a plurality of sections so that each of the divided sections is assigned to any one of the tone generators. In this case, tone generator numbers of tone generators to be used are assigned to combinations of the sections and tone color, and the waveform data of the key bank are prestored in the waveform memory of each of the tone generators corresponding to the tone generator numbers assigned to any one of the combinations. In some case, a different key bank may be prepared per touch, in which case the assignment to the tone generator is determined per touch.
Whereas the embodiment has been described as setting a single tone color for the entire key range, the entire key range may be divided into a plurality of key range sections so that a tone color can be set for each of the key range sections. In this case, let it be assumed that, when a key-on event has occurred, a tone color is determined in consideration of the key range section to which the key-on event belongs; subsequent operations are similar to those in relation to the above-described embodiment.
Number | Date | Country | Kind |
---|---|---|---|
2004-208301 | Jul 2004 | JP | national |
Number | Name | Date | Kind |
---|---|---|---|
4602545 | Starkey | Jul 1986 | A |
4773294 | Iizuka et al. | Sep 1988 | A |
4969385 | Williams et al. | Nov 1990 | A |
5382749 | Fujita et al. | Jan 1995 | A |
5463183 | Konno | Oct 1995 | A |
5486644 | Kudo et al. | Jan 1996 | A |
5698802 | Kamiya | Dec 1997 | A |
5804754 | Iwase et al. | Sep 1998 | A |
5895877 | Tamura | Apr 1999 | A |
5942707 | Tamura | Aug 1999 | A |
5945619 | Tamura | Aug 1999 | A |
5955691 | Suzuki et al. | Sep 1999 | A |
6353171 | Tamura | Mar 2002 | B2 |
6414232 | Ikeya | Jul 2002 | B2 |
6525254 | Tsutsumi | Feb 2003 | B2 |
6535772 | Miyamori et al. | Mar 2003 | B1 |
6576826 | Kondo et al. | Jun 2003 | B2 |
6872877 | Suzuki et al. | Mar 2005 | B2 |
7378586 | Okazaki | May 2008 | B2 |
20010022130 | Ikeya | Sep 2001 | A1 |
20010054348 | Ikeya | Dec 2001 | A1 |
Number | Date | Country |
---|---|---|
1 026 661 | Aug 2000 | EP |
1026661 | Aug 2000 | EP |
1168296 | Jan 2002 | EP |
1 168 296 | Feb 2002 | EP |
HEI 09-146551 | Jun 1997 | JP |
Number | Date | Country | |
---|---|---|---|
20060011043 A1 | Jan 2006 | US |