1. Technical Field
The present invention relates to a musical tone reproducing apparatus capable of changing tone color, and a portable terminal apparatus having the musical tone reproducing apparatus.
2. Background Art
Conventional musical tone reproducing apparatuses include ones that generate musical tones using hardware. Such a musical tone reproducing apparatus is constructed such that the tone color of reproduced musical tones can be changed.
An example of the construction of such a musical tone reproducing apparatus is shown in
In the musical tone reproducing apparatus constructed as above, when changing the tone color of a musical tone to be reproduced, the CPU 110 gives a tone color changing command to the tone color parameter storage region 130, and also reads a tone color parameter for the tone color to be changed to out from the RAM 111, and writes the tone color parameter into the tone color parameter storage region 130. Once musical tone reproduction timing been has reached, the data processing section 133 reads the tone color parameter for the tone color to be changed to out from the tone color parameter storage region 130, and carries out musical tone reproduction with a tone color changed using the tone color parameter. Note that much sequence data and a plurality of tone color parameters (a tone color parameter group) can be stored in the RAM 111.
In such a conventional musical tone reproducing apparatus, when changing the tone color, the CPU 110 reads the tone color parameter for the tone color to be changed to out from the RAM 111 and transfers the tone color parameter to the tone generator hardware section 115 as described above. In this case, because the data bus width of the tone generator hardware section 115 is approximately 8 bits, the bit width of the RAM or registers constituting the tone color parameter storage region 130, i.e. the bit width of the stored data, is also limited to being approximately 8 bits. However, one or more tone color parameters for one channel required when the data processing section 133 carries out the tone reproducing process for one channel are comprised of many bits, specifically several tens of bits. Consequently, with a RAM or registers having a bit width of 8 bits, it has been necessary for the one or more tone color parameters for one channel required when the data processing section 133 carries out the tone reproducing process for one channel to be read out divided into a plurality of times each of 8 bits. As a result, a problem has arisen that a long time is required to read out the tone color parameter for a tone color to be changed to from the tone color parameter storage region 130 and set the tone color parameter in the data processing section 133, and hence the processing time becomes long.
If the processing time becomes long as described above, then a break may occur in sound generation. To resolve this, one can envisage increasing the operating speed of the RAM or registers constituting the tone color parameter storage region 130. However, there has been a problem that if the operating speed of the RAM or registers is increased, then the electric power consumption thereof increases, and hence a battery that is used to operate a portable terminal apparatus in which the musical tone reproducing apparatus is installed is used up quickly. Moreover, every time a tone color is to be changed, the CPU 110 must transfer the tone color parameter for the tone color to be changed to from the RAM 111 to the tone generator hardware section 115, and hence there has been a problem that the amount of data transfer between the tone generator hardware section 115 and the CPU 110 increases.
Furthermore, if the tone color parameter storage region 130 is comprised of registers exclusively for this purpose, then reading out from a freely chosen number of registers can be carried out simultaneously, but the tone color parameter storage region 130 becomes a region exclusively for tone color parameters, and hence a problem arises that if the tone color parameter storage region 130 is also used for general-purpose data having a width of 8 bits other than tone color parameters, then the efficiency of usage of the tone color parameter storage region 130 as a memory becomes poor.
Moreover, if the tone color parameter storage region 130 is comprised of a RAM having a large bit width, then a tone color parameter having a large bit width can be read out at a time, but the tone color parameter storage region 130 becomes a region exclusively for tone color parameters, and hence a problem again arises that if the tone color parameter storage region 130 is also used for general-purpose data having a width of 8 bits other than tone color parameters, then the efficiency of usage of the tone color parameter storage region 130 as a memory becomes poor.
It is thus an object of the present invention to provide a musical tone reproducing apparatus which stores tone color parameters in a general-purpose storage means, to thereby shorten the time taken for a tone color changing process, and a portable terminal apparatus having the musical tone reproducing apparatus.
To attain the above object, a musical tone reproducing apparatus of the present invention provides in a portable terminal apparatus having system storage means as a general-purpose memory for storing various data including a tone color parameter group and system control means for controlling the whole apparatus including the system storage means, and that carries out musical tone reproduction in cooperation with the system storage means and the system control means, the musical tone reproducing apparatus comprising a tone generator memory as a general-purpose memory in which is registered at least a tone color parameter group comprising a freely chosen number of tone color parameters read out from the system storage means, a cache memory into which are inputted tone color parameters from the registered tone color parameter group at a predetermined data width from the tone generator memory and from which are outputted the inputted tone color parameters at a data width larger than the predetermined data width, tone generator means for carrying out musical tone reproduction based on tone color parameters outputted from the cache memory, and tone generator control means for controlling the musical tone reproducing apparatus based on commands from the system control means, wherein, based on a command for tone color parameter registration from the system control means, the tone generator control means carries out control such that predetermined addresses are given to the tone color parameters in the tone color parameter group read out from the system storage means and the tone color parameters are stored in the tone generator memory, and based on a command from the system control means to change a tone color set in the tone generator means, the tone generator control means carries out control such that a tone color parameter for the tone color to be changed to is read out from a freely chosen address in the tone generator memory and is transferred to the cache memory, and the tone color parameter for the tone color to be changed to is transferred from the cache memory to the tone generator means.
Moreover, with the musical tone reproducing apparatus of the present invention described above, preferably, the system control means reads out each of the tone color parameters from the tone generator memory by specifying a leading address of the predetermined addresses given to the tone color parameters.
Furthermore, with the musical tone reproducing apparatus of the present invention described above, preferably, the system control means writes into the system storage means and reads out from the system storage means leading addresses of the predetermined addresses given to the tone color parameters stored in the tone generator memory.
Moreover, with the musical tone reproducing apparatus of the present invention described above, preferably, the tone generator memory outputs to the cache memory at a data width smaller than one channel's worth of the tone color parameters.
Moreover, with the musical tone reproducing apparatus of the present invention described above, preferably, the cache memory outputs at least one channel's worth of the tone color parameters to the tone generator means at a time.
Moreover, with the musical tone reproducing apparatus of the present invention described above, preferably, the tone generator means carries out the musical tone reproduction based on sequence data that has been converted into a predetermined format.
Moreover, with the musical tone reproducing apparatus of the present invention described above, preferably, the tone generator memory comprises a first tone generator memory and a second tone generator memory, and the tone generator control means determines whether a leading address contained in a command from the system control means is within the first tone generator memory or within the second tone generator memory, and reads out a tone color parameter corresponding to the leading address within the first tone generator memory or the second tone generator memory.
Furthermore, with the musical tone reproducing apparatus of the present invention described above, preferably, the first tone generator memory is a RAM (random access memory), and the second tone generator memory is a ROM (read only memory).
Moreover, with the musical tone reproducing apparatus of the present invention described above, preferably, the portable terminal apparatus has data receiving means for receiving external data, and data received by the data receiving means is stored in the system storage means.
To attain the above object, a portable terminal apparatus of the present invention has a musical tone reproducing apparatus as described above, wherein the system control means carries out a portable terminal apparatus function process as a main process.
The present invention will now be described with reference to the drawings showing a preferred embodiment thereof.
In
A ROM (read only memory) 12 stores various programs executed by the CPU 10 including various telephone function programs for carrying out transmission and reception and programs for carrying out processes relating to musical tone reproduction and the like, and also various kinds of data such as preset sequence data.
The communication section 13 demodulates a signal received by the antenna 25, and modulates a signal to be transmitted to the base station 2 and supplies the modulated signal to the antenna 25. An incoming speech signal that has been demodulated by the communication section 13 is decoded by a speech processing section (coder/decoder) 14, and a speech signal inputted via a microphone 21 is subjected to compression encoding by the speech processing section 14. The speech processing section 14, which subjects the speech to efficient compression encoding/decoding, is comprised, for example, of a coder/decoder of CELP (Code Excited LPC) type or ADPCM (Adaptive Differential PCM coding) type. The tone generator hardware section 15 is able to sound the incoming speech signal from the speech processing section 14 through an incoming speech speaker 22, and generate and output an incoming call melody and holding music by reproducing the sequence data. The incoming call melody is sounded from an incoming call speaker 23, and the holding music is mixed with the incoming speech signal and sounded from the incoming speech speaker 22.
The format of the sequence data is a MIDI (Musical Instrument Digital Interface) format or a SMAF (Synthetic Music Mobile Application Format) format, which is convenient for data distribution. The tone generator hardware section 15 converts sequence data of such a format into control data of a format peculiar to a tone generator core built into the tone generator hardware section 15, and reproduces the converted data. Alternatively, the CPU 10 may convert the sequence data into control data of a format peculiar to the tone generator hardware section 15, store the converted data in the RAM 11, and read out the same from the RAM 11 and supply the same to the tone generator hardware section 15 during reproduction. The tone generator hardware section 15 has provided therein a general-purpose RAM in which is registered a tone color parameter group of a freely chosen number of tone color parameters, a cache memory having a large output bit width, and the tone generator core. The tone color parameter group registered in the general-purpose RAM is, for example, a tone color parameter group according to General MIDI Standard. The cache memory stores tone color parameters for a tone color specified for each channel, and the tone generator core can read out a tone color parameter for one channel required for musical tone reproduction for that channel by accessing the cache memory only once or a few times.
An interface (I/F) 16 is for downloading sequence data and so on from an external apparatus 20 such as a personal computer. An input section 17 serves as an input means comprised of dialing buttons “0” to “9” and various other buttons provided in the mobile phone 1. A display section 18 is comprised of a display device that displays telephone function menus and other displays according to operations of the buttons such as the dialing buttons. A vibrator 19 notifies a user of incoming calls by vibrating the main body of the mobile phone 1 instead of the incoming call melody when there is an incoming call. Moreover, the various function blocks transfer and receive data and so on via a bus 24.
Next, an example of the construction of a musical tone reproducing apparatus installed in the portable terminal apparatus shown in
In the musical tone reproducing apparatus shown in
When changing the tone color of a musical tone to be reproduced by the tone generator core 33, the CPU 10 gives a tone color changing command c to the controller 31. Having received the tone color changing command c, the controller 31 gives to the tone generator memory 30 a tone color parameter transmitting command d to transmit the specified tone color parameter to a cache memory 32. As a result, the tone generator memory 30 reads out the specified tone color parameters, and transmits the read out tone color parameter e to the cache memory 32. Moreover, although not shown in
Next, the operation of changing a tone color will be described in more detail, with reference to
In
The data structure of a tone color parameter group registered in the tone generator RAM 30a is, for example, as shown in FIG. 4. In
A predetermined tone color parameter group is stored in a tone generator ROM 30b in advance, and the data structure thereof is made to be like the example of the data structure shown in FIG. 4.
Moreover, when changing a tone color, a tone color changing command c outputted from the CPU 10 is applied to a register address generating circuit 31b. The specification of the tone color parameter for the tone color to be changed by the tone color changing command c is carried out by abbreviating the leading address in the tone generator RAM 30a and the channel number. The register address generating circuit 31b then rewrites a voice address for the channel in question in a voice address register in a control register 31c from the leading address and channel number for the tone color parameter specified by the tone color changing command c. The voice address register is comprised of registers for the maximum number of simultaneously sounded channels (slots), and the leading address for the tone color parameter set for each slot (channel) is written as a voice address into the register for that each slot. Which channel it is for which the corresponding voice address has been changed is then detected by a voice address change detecting circuit 31d, and the slot number corresponding to the channel for which the voice address has been changed is sent to a cache transfer waiting queue register 31e. The cache transfer waiting queue register 31e serves as a register for creating a slot number queue for transferring the tone color parameters sequentially when the change in tone color is to be carried out over a plurality of channels at once, and has a FIFO (first in first out) construction. The leading slot number outputted from the cache transfer waiting queue register 31e is given to a slot number—voice address converting circuit 31f, and referring to the voice address register in the control register 31c, the slot number—voice address converting circuit 31f converts the slot number into the voice address written in the register for the corresponding slot. As described above, this voice address is the leading address for the tone color parameter specified for the corresponding channel, and a tone color parameter transmitting command d containing the leading address is given by the slot number—voice address converting circuit 31f to the tone generator memory address generating circuit 31a.
The tone generator memory address generating circuit 31a determines whether the leading address contained in the tone color parameter transmitting command d is within the address range of the tone generator RAM 30a or within the address range of the tone generator ROM 30b, and reads out the specified tone color parameter from the tone generator RAM 30a or the tone generator ROM 30b having the address range within which is the leading address. Here, the tone generator memory address generating circuit 31a reads out the entire tone color parameter for one channel, by incrementing the address starting with the leading address 15 times, for example. The read out specified tone color parameter e is given to a data input terminal of the tone color cache memory 32a via a selector 30c. Moreover, the leading slot number outputted from the cache transfer waiting queue register 31e is also given to a cache address generating circuit 32b as a tone color parameter receiving command f. The tone color cache memory 32a is able to store tone color parameters for the maximum number of channels that can be simultaneously sounded, and the cache address generating circuit 32b generates a cache address corresponding to the given slot number, and gives this cache address to an address input terminal of the tone color cache memory 32a. As a result, the tone color parameter set for the slot number specified by the cache address in the tone color cache memory 32a is rewritten using the specified tone color parameter e sent from the selector 30c.
Sequence data, on the other hand, is given to the control register 31c, where the sequence data is converted into control data of a format peculiar to the tone generator core 33, and once reproduction timing for each event in the control data has been reached, setting into the tone generator core 33 from the control register 31c is carried out. As a result, the tone generator core 33 progressively reproduces musical tones based on the sequence data; moreover, at this time the tone color parameter set for each channel for which the tone generator core 33 carries out reproduction is received from the tone color cache memory 32a. Specifically, when the reproduction timing for each event has been reached, the tone generator core 33 gives the slot number corresponding to the channel for which reproduction is to be carried out to the cache address generating circuit 32b as a tone color parameter read request h. Upon receiving the tone color parameter read request h, the cache address generating circuit 32b generates the cache address of the position where the tone color parameter set for the slot number in question is stored, and gives this cache address to the tone color cache memory 32a. As a result, the tone color parameter set for that slot number is sent to the tone generator core 33, for example, at a time, and the tone generator core 33 carries out musical tone reproduction for the channel corresponding to the slot number in question using the sent tone color parameter.
Here, an example of the data structure of the tone color parameters stored in the tone color cache memory 32a is shown in FIG. 5. As shown in
Moreover, it is arranged such that when a tone color is being changed, until the transfer of the specified tone color parameters to the tone color cache memory 32a has been completed, the corresponding key on event process is suspended (key on mask) so that the musical tone of the tone color after the change will be reproduced reliably. To this end, the voice address change detecting circuit 31d gives information on the slot number corresponding to the channel for which the tone color to be outputted has been changed to a key on masking circuit 31g. The key on masking circuit 31g generates a key on mask signal for masking key on for the channel corresponding to the given slot number information, and sends this key on mask signal to the tone generator core 33. As a result, in the tone generator core 33, key on for that channel is masked, and musical tone reproduction is suspended. Once transfer of the specified tone color parameter to the tone color cache memory 32a has been completed, a transfer complete flag is set, and the key on masking circuit 31g is reset to the original state. As a result, the rewritten tone color parameter newly set for the slot number in question is sent to the tone generator core 33, and hence using the sent tone color parameter, the tone generator core 33 can carry out musical tone reproduction reliably with the changed tone color for the channel in question.
Moreover, in the case that the tone generator core 33 is comprised of a PCM tone generator, various sampling waveforms can be stored in the tone generator ROM 30b and the tone generator RAM 30a. During musical tone reproduction, a waveform address for the specified tone color is given by the tone generator core 33 to the tone generator memory address generating circuit 31a. The tone generator memory address generating circuit 31a determines whether the given waveform address is within the address range of the tone generator RAM 30a or within the address range of the tone generator ROM 30b, and reads out the specified waveform data from the tone generator RAM 30a or the tone generator ROM 30b having the address range within which is the waveform address. The read out waveform data is given to the tone generator core 33 via the selector 30c, and the tone generator core 33 carries out musical tone reproduction with the specified tone color using this waveform data.
The tone generator RAM 30a is thus made to be a general-purpose memory in which can be stored not only tone color parameters but also other data.
Next, a flowchart of the reproduction process carried out by the tone generator hardware section 15 appearing in
In the case that the mobile phone 1 having the musical tone reproducing apparatus is set such that a melody informing of an incoming call is reproduced by the musical tone reproducing apparatus, an instruction for musical tone reproduction is issued upon receipt of an incoming call, whereby the reproduction process shown in
Next, the processes of steps S2 to S4 in
First, a flowchart of the tone color parameter memory registration process of step S2 in
After the instruction to start musical tone reproduction has been issued and the initialization process has been carried out, upon a user operating buttons of the input section 17 to select tone color parameter memory registration, the tone color parameter memory registration process shown in
Next, a flowchart of the tone color changing process of step S3 in
In
Next, a flowchart of the tone data process of step S4 in
After the instruction to start musical tone reproduction has been issued and the initialization process of the tone generator hardware section 15 has been carried out, when reproduction timing for each event in the control data been has reached, the control data is set into the tone generator core 33 by the controller 31. As a result, when the timing of reproduction of a musical tone has been reached, the tone data process is started. In step S30, it is then determined whether or not key on has been set in the tone generator core 33 and the current state is key on. Here, in the case that key on has been set, the answer is determined to be “YES” and the process proceeds to step S31, where the tone generator core 33 reads out the tone color parameter for the channel for which reproduction is to be carried out from the tone color cache memory 32a. Next, in step S32, data processing is carried out in which musical tone reproduction is carried out based on the read out tone color parameter and the control data that has been set in the tone generator core. Then, in step S33, the reproduced musical tone data is outputted (sounded). Once the process of step S33 has been completed, the tone data process ends, and the process returns to step S1. Moreover, in the case that it is determined in step S30 that the current state is not key on, again the tone data process ends, and the process returns to step S1.
In the above description, it is arranged such that a tone color parameter for one channel is sent to the tone generator core 33 with one access from the tone color cache memory 32a; however, the output bit width may be narrowed somewhat so that a tone color parameter for one channel is sent to the tone generator core 33 with a few accesses. Even in this case, there will be virtually no effect in terms of sound generation break due to the time taken for the process in question.
The musical tone reproducing apparatus of the present invention described above cannot only be applied to a mobile phone 1 as described above as the portable terminal apparatus, but may also be applied to a portable information apparatus capable of outputting musical tones, a portable personal computer capable of outputting musical tones, and so on. In this case, the music contents data may be reproduced in synchronization with text and/or image contents.
Moreover, the tone generator core 33 in the tone generator hardware section 15 may be comprised of a tone generator of frequency modulation type, i.e. an FM tone generator. Such an FM tone generator utilizes harmonics generated by frequency modulation for synthesis of musical tones, and is capable of generating waveforms having harmonic components containing non-harmonic tones with relatively simple circuitry. Such an FM tone generator is also capable of generating a wide variety of musical tones from synthesized tones simulating natural musical instruments to electronic bleeps. Such an FM tone generator employs oscillators called “operators” that equivalently oscillate sine waves, for example the FM tone generator may be comprised of a first operator and a second operator that are cascaded with each other. Moreover, such an FM tone generator may be constructed such that an output from an operator is itself fed back and inputted.
Furthermore, the tone generator type of the tone generator core 33 of the tone generator hardware section 15 is not limited to the FM tone generator type, but rather may be a waveform memory tone generator (PCM tone generator or ADPCM tone generator) type, a physical model tone generator type, and so forth. In terms of the construction of the tone generator, a hardware tone generator using a DSP or the like may be employed.
As described in detail above, the musical tone reproducing apparatus according to the present invention has a tone generator memory as a general-purpose memory in which is registered at least a tone color parameter group comprising a freely chosen number of tone color parameters read out from the system storage means, a cache memory into which are inputted tone color parameters from the registered tone color parameter group at a predetermined data width from the tone generator memory and from which are outputted the inputted tone color parameters at a data width larger than the predetermined data width, and hence during changing of tone color, a tone color parameter that has been read out from the tone generator memory may be transferred into the cache memory. In this case, because the tone color parameter group of a freely chosen number of tone color parameters has been registered in the tone generator memory, the need to transfer a tone color parameter from a system control means to the tone generator memory each time a tone color is to be changed can be removed as much as possible. Moreover, because the output bit width of the cache memory has been made to be large, the tone color parameter can be set into the tone generator means instantaneously. Consequently, even though the tone color parameters are stored in advance in the tone generator memory, the time taken for the tone color changing process can be shortened, and hence the occurrence of a break in sound generation during tone color changing can be prevented.
According to the musical tone reproducing apparatus according to the present invention, the system control means reads out each of the tone color parameters from the tone generator memory by specifying a leading address of the predetermined addresses given to the tone color parameters, and hence the amount of data transfer between the system control means and the musical tone reproducing apparatus can be reduced.
Number | Date | Country | Kind |
---|---|---|---|
2001-156622 | May 2001 | JP | national |
This application is a continuation of PCT application No. PCT/JP02/04950, filed May 22, 2002, which is based upon, and claims priority from, Japanese Patent Application No. 2001-156622, filed May 25, 2001.
Number | Name | Date | Kind |
---|---|---|---|
5489746 | Suzuki et al. | Feb 1996 | A |
5698802 | Kamiya | Dec 1997 | A |
5850051 | Machover et al. | Dec 1998 | A |
5895449 | Nakajima et al. | Apr 1999 | A |
5981859 | Suzuki | Nov 1999 | A |
6184454 | Imai et al. | Feb 2001 | B1 |
6570082 | Mukaino et al. | May 2003 | B2 |
20030110928 | Yamaki et al. | Jun 2003 | A1 |
20040069120 | Muraki | Apr 2004 | A1 |
20040069124 | Murakai et al. | Apr 2004 | A1 |
Number | Date | Country |
---|---|---|
08-335084 | Dec 1996 | JP |
11312085 | Nov 1999 | JP |
2000-276172 | Oct 2000 | JP |
2002-276172 | Oct 2000 | JP |
Number | Date | Country | |
---|---|---|---|
20040159217 A1 | Aug 2004 | US |
Number | Date | Country | |
---|---|---|---|
Parent | PCT/JP02/04950 | May 2002 | US |
Child | 10722254 | US |