Tone signal processing apparatus with intermittent clock supply

Abstract
A music apparatus is constructed for processing a music tone signal in response to a clock signal at each sampling period. In the music apparatus, a clock generator generates the clock signal. A signal processor is operable in synchronization to the clock signal for time-divisionally processing a plurality of music tone signals through a plurality of channels within one sampling period. A clock controller is operative during a supply duration allocated within one sampling period for supplying the clock signal to the signal processor from the clock generator to thereby operate the signal processor, and is operative during other than the supply duration within one sampling period for stopping the supplying of the clock signal to the signal processor to thereby suspend the signal processor.
Description




BACKGROUND OF THE INVENTION




1. Field of the Invention




The present invention relates generally to a tone generator for use in such apparatuses for generating tones as electronic musical instruments and amusement appliances. More particularly, the present invention relates to a tone signal processing apparatus for suitable in saving the power consumption of these instruments and appliances.




2. Description of Related Art




With the recent enhancement in the performance of tone generators for use in electronic musical instruments for example, the maximum number of sounding channels and the level of operating clock frequencies grow steadily. This inevitably causes an increase in the number of transistors and the number of transistor switching operations in a unit time in tone generator LSIs for example, thereby presenting a problem of the proportionally increased power consumption in these LSIs. Especially, with battery-driven electronic musical instruments, the large power consumption presents a serious problem which must be solved to provide an operating life long enough for the general use of these musical instruments.




With CPUs for use in personal computer for example, a technology is known by which the clock frequency is adjusted in accordance with occasional processing loads. However, this technology has a drawback of complicating the configuration of clock circuits.




SUMMARY OF THE INVENTION




It is therefore an object of the present invention to provide a tone signal processing apparatus having a relatively simple configuration but capable of reducing the power consumption in accordance with processing load.




According to the invention, an apparatus is constructed for processing a music tone signal in response to a clock signal at each sampling period. The apparatus comprises a clock generator that generates the clock signal, a signal processor operable in synchronization to the clock signal for time-divisionally processing a plurality of music tone signals through a plurality of channels within one sampling period, and a clock controller being operative during a supply duration allocated within one sampling period for supplying the clock signal to the signal processor from the clock generator to thereby operate the signal processor, and being operative during other than the supply duration within one sampling period for stopping the supplying of the clock signal to the signal processor to thereby suspend the signal processor.




Preferably, the inventive apparatus further comprises an allocating device that allocates a predetermined supply duration within one sampling period, and a specifying device that specifies a detail of processing of the music tone signals in accordance with the predetermined supply duration so that the signal processor can complete the processing of the music tone signals within the predetermined supply duration. In such a case, the allocating device allocates the predetermined supply duration based on a predetermined number of channels through which music tones are generated concurrently by the processing of the music tone signals. Otherwise, the allocating device allocates the predetermined supply duration based on a predetermined number of steps by which a program is executed stepwise for processing the music tone signals. Further, the specifying device specifies the detail of the processing of the music tone signals in terms of a number of channels through which the music tone signals are processed for concurrent generation of music tones. Otherwise, the specifying device specifies the detail of the processing of the music tone signals in terms of a kind of a program selectably executed by the signal processor in the processing of the music tone signals.




Preferably, the inventive apparatus further comprises a specifying device that specifies a detail of processing of the music tone signals, and an allocating device that allocates a supply duration within one sampling period in accordance with the specified detail of the processing so that the signal processor can complete the specified detail of the processing of the music tone signals within the allocated supply duration. In such a case, the allocating device allocates the supply duration in accordance with the specified detail of the processing in terms of a predetermined number of channels through which music tones are generated concurrently by the processing of the music tone signals. Otherwise, the allocating device allocates the supply duration in accordance with the specified detail of the processing in terms of a predetermined number of steps by which a program is executed stepwise for processing the music tone signals. Further, the specifying device specifies the detail of the processing of the music tone signals in terms of a number of channels through which the music tone signals are processed for concurrent generation of music tones. Otherwise, the specifying device specifies the detail of the processing of the music tone signals in terms of a kind of a program selectably executed by the signal processor in the processing of the music tone signals.




Preferably, the signal processor processes the music tone signal in such a manner that waveform data of a designated timbre is read out to generate the music tone signal at a designated pitch. Otherwise, the signal processor processes the music tone signal in such a manner that waveform data is read out to generate the music tone signal and the generated music tone signal is subjected to filter processing. Alternatively, the signal processor processes the music tone signal in such a manner as to control an amplitude of the music tone signal. Otherwise, the signal processor processes the music tone signal in such a manner as to impart an effect to the music tone signal.











BRIEF DESCRIPTION OF THE DRAWINGS




These and other objects of the invention will be seen by reference to the description, taken in connection with the accompanying drawings, in which:





FIG. 1

is a block diagram illustrating an electronic musical instrument practiced as a first embodiment of the invention;





FIG. 2

is a block diagram illustrating a tone signal line of a tone generator of the first embodiment;





FIG. 3

is a block diagram illustrating a clock signal line of the tone generator of the first embodiment;





FIGS. 4A

,


4


B,


4


C,


4


D,


4


E, and


4


F are timing charts showing operation of a sounding channel clock controller and a DSP clock controller of the first embodiment;





FIG. 5

is a diagram illustrating one example a power saving setting screen of the first embodiment;





FIGS. 6A and 6B

are flowcharts describing event processing in the power saving setting screen of the first embodiment;





FIG. 7

is a flowchart describing note-on event processing of the first embodiment;





FIGS. 8A and 8B

are flowcharts describing event processing in an effect select screen of the first embodiment;





FIGS. 9A and 9B

are diagrams illustrating examples of the effect select screen of the first embodiment;





FIG. 10

is a block diagram illustrating a clock signal line of a tone generator of a second embodiment of the invention;





FIG. 11

is a block diagram illustrating a self power saving DSP of the second embodiment; and





FIGS. 12A

,


12


B, and


12


C are flowcharts describing processing programs of the second embodiment.











DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS




1. First Embodiment




1.1 Hardware Configuration




1.1.1 Overall Configuration




This invention will be described in further detail by way of example with reference to the accompanying drawings. First, a battery-driven electronic musical instrument practiced as a first embodiment of the invention will be described. Referring to

FIG. 1

, there is shown an overall configuration of this electronic musical instrument. In the figure, reference numeral


10


denotes a CPU, which control other components of this electronic musical instrument through a bus (CPU bus line) B. It should be noted that the bus B is a generic bus including control bus, data bus, and address bus. Reference numeral


11


denotes a ROM for storing basic programs and various data for use by the CPU


10


. Reference numeral


12


denotes a RAM for temporarily storing various data generated by control operations executed by the CPU


10


. Reference numeral


13


denotes a switch panel composed of various manual controls for selecting timbres of tones to be generated and for setting various states. Information specified through the switch panel


13


is supplied to the CPU


10


through the bus B. Reference numeral


14


denotes a display block which is constituted by a CRT or an LCD panel to display, under the control of the CPU


10


, the information inputted from the switch panel


13


and currently set information.




Reference numeral


15


denotes play controls, which includes a music keyboard, a pitch-bend wheel, and a pedal for example. Each key of the keyboard is arranged with a key sensor (not shown) for detecting a play operation by a player made on the keyboard. Each key sensor supplies, to the CPU


10


through the bus B, resultant key information such as a key code KC indicative of the pitch of a pressed key, key-on KON indicative of the generation of a tone when a key is pressed, key-off KOFF indicative of the damping of a tone when a key is released, and velocity VEL indicative of a speed at which a key is pressed. Reference numeral


16


denotes a storage medium such as an FDD (Floppy Disk Drive) or an HDD (Hard Disk Drive) for recording various data and programs. Reference numeral


19


denotes a clock circuit for supplying a clock signal to other components of the electronic musical instrument. Reference numeral


20


denotes a MIDI interface for transferring MIDI signals with external MIDI devices. Reference numeral


22


denotes a battery-based power supply block.




Reference numeral


200


denotes a tone generator which provides 64 sounding channels in a time division manner, generates a tone signal in each channel, and performs a predetermined effect algorithm to impart an effect to a generated tone signal. To achieve this purpose, the tone generator


200


incorporates a DSP (Digital Signal Processor) for effect impartment. Reference numeral


250


denotes a waveform memory storing plural pieces of basic waveform data for each timbre. Reference numeral


260


denotes an external circuit, which is a unit for supplying a tone signal, other than the tone generator


200


, or a unit such as an externally connected effector. Reference numeral


270


is a delay memory which is used by the built-in DSP. A tone signal generated by the tone generator


200


is converted by a DA converter


17


into an analog signal, which is then externally sounded through a sound system


18


composed of an amplifier, a loudspeaker, and so on.




1.1.2 Tone Signal Line in Tone Generator




The following describes a tone signal line in the tone generator


200


with reference to FIG.


2


. In the figure, reference numeral


201


denotes a control register & controller for controlling other components of the tone generator under instruction by the CPU


10


through the bus B. A read circuit


202


reads from the waveform memory


250


the waveform data of a specified timbre by executing address manipulation such that the read waveform data provide a pitch specified by a key code KC. A DCF (Digital Control Filter)


206


executes various filtering operations on the waveform data read by the read circuit


202


.




A volume controller


203


controls the amplitude or envelope of the waveform data supplied through the DCF


206


such that the waveform data provide a loudness specified by velocity VEL, thereby providing a tone generator output before effect impartment. The read circuit


202


, the DCF


206


and the volume controller


203


can operate in the time-divided 64 channels for generating a different tone signal in each channel. The CPU


10


allocates a note to one of the 64 channels when a sounding command such as key pressing occurs, and writes tone control data for controlling tone generation according to this sounding command to a channel area allocated by the control register & controller


201


. On the basis of the written tone control data, the read circuit


202


and the volume controller


203


generate a tone accordingly. It should be noted that, from the volume controller


203


, the generated tone from each channel is outputted to a mixer


210


under multiplexing state of 64-channel time division at every sampling frequency.




The mixer


210


executes predetermined processing on the tone signals inputted from the volume controller


203


and an tone signal inputted from the external circuit


260


, and outputs a resultant signal to DSP


205


and the external circuit


260


. Also, of the outputs to the DSP


205


, the mixer


210


returns given output signals of some channels to the read circuit


202


through the line. The read circuit


202


can write the returned signal to the RAM area of the waveform memory as new data. As described, the DSP


205


imparts sound effects to the tone signals. A tone signal for 4 channels, a part of the result of this effect processing, is supplied to the DA converter


17


shown in

FIG. 1

, thereby providing a final output of this electronic musical instrument. It should be noted that the output of the electronic musical instrument is given in the form of the output of the DSP


205


because the final stage of this electronic musical instrument is an equalizer, one of the effect blocks constructed in the DSP


205


.




The following briefly describes a method of computation practiced in the DSP


205


. The DSP


205


has a program memory (not shown) for storing microprograms. The present embodiment assumes that the maximum number of steps constituting one microprogram be 1024, the maximum number of input channels of the waveform data to be processed be 16, and the maximum number of output channels of the processed waveform data be also 16. The channels (input and output channels) as used in the DSP


205


are different in concept from the sounding channels as used in the read circuits


202


and the volume controller


203


. Namely, a sounding channel is generated and allocated every time a note-on event is supplied from the play controls


15


or the MIDI interface


20


. The input channel in the DSP


205


is used for receiving the waveform data which is inputted from the mixer


210


to the DSP


205


, for example, a result of mixing these waveform data for each part (each timbre). The output channel outputs to the mixer


210


the waveform data on which processing such as effect impartment has been executed in the DSP


205


. A technology for channel switching on a time-division basis is detailed in Japanese Published Unexamined Patent Application No. Hei 11-85155 and corresponding U.S. patent application Ser. No. 09/115,616, for example.




At the starting of every sampling period, the mixing results of the mixer


210


(the waveform data resulted from the mixing processing executed by the mixer


210


in the last sampling period) are sequentially read by the DSP


205


and stored in a register of the DSP


205


. The DSP


205


sequentially executes signal processing on the stored waveform data of each input channel as instructed by the microprogram starting with its first step. If, this signal processing requires to delay the waveform data for a relatively long time, the DSP


250


writes the waveform data to be delayed into the delay memory


270


, and reads the waveform data previously written in the delay memory


270


during the sampling period corresponding to the delay time, thereby realizing the delay processing. Thus, the DSP


205


executes the signal processing based on the microprogram consisting of the maximum of 1024 steps on the waveform data for the maximum of 16 input channels, thereby outputting the waveform data for the maximum of 16 output channels to the mixer


210


. As described, the DSP


205


supplies the computational results for the predetermined 4 channels to the DA converter


17


shown in

FIG. 1

as a final tone signal.




The following briefly describes sound effects treated in the present embodiment. The effects may be classified into three blocks of reverberation, chorus, and variation. In each block, one of the effects as shown in

FIG. 9A

for example can be selected. Any one signal can be selected from the above-mentioned 16 channels, and supplied to each effect (it is also practicable to allocate two or more channels to one effect). One or more output signals resulted from each effect processing can be set so that they are outputted from any of the above-mentioned 16 output channels and the 4 channels of the DA converter


17


(it is also practicable to supply the output of one effect block to two or more channels). Namely, a signal level to be supplied to each effect can be set for each tone signal of each part. It is also practicable to continuously connect effects with each other. A specific example thereof is disclosed in the above-mentioned patent application.




1.1.3 Clock Signal Line in Tone Generator




The following describes a clock signal line in the tone generator


200


with reference to FIG.


3


. In the figure, a clock signal φ is supplied to one input terminal of each of AND gates


221


through


224


. Mask signals Sa through Sd are supplied to the other input terminals of the AND gates


221


through


224


, respectively. Consequently, the clock signal φ is supplied to the read circuit


202


, the DCF


206


, the volume controller


203


, and the DSP


205


while the mask signals Sa through Sd are placed at logical “1”, respectively (namely, during a supply period). In the remaining periods, the clock signal φ is not supplied, so that these components of the tone generator are held in the stopped state.




Reference numeral


231


denotes a sounding channel clock controller, which receives channel control data from the CPU


10


, and outputs the above-mentioned mask signals Sa through Sc on the basis of the received data. The channel control data denote numeric data


0


through


64


indicative of how many channels are permitted to work among the maximum of 64 channels. In

FIGS. 4A through 4C

, the waveforms of the mask signals Sa through Sc are illustrated when the channel control data are 64, 48, and 32, respectively.




In

FIG. 4A

, all sounding channels (64) are valid, so that the mask signals Sa through Sc are always at logical “1”. In

FIG. 4B

,


48


sounding channels are valid, so that the duty ratios of the mask signals Sa through Sc are, respectively, approximately 48/64. It should be noted that these duty ratios are slightly greater than 48/64. This is because the read circuit


202


, the DCF


206


, and the volume controller


203


execute pipeline processing, in which these duty ratios correspond to a duration of a time between the starting of the first stage of the pipeline processing by a sounding channel to be processed first and the ending of the final stage of the pipeline processing of another sounding channel to be processed last. For example, a duration of time between the starting and ending of the processing of one sounding channel is longer than 1/64 of the sampling frequency.




It should also be noted that the mask signals Sb and Sc are each slightly delayed in phase behind the mask signal Sa. These delays are provided to make the mask signals correspond to the above-mentioned time delay in the pipeline processing. Referring to

FIG. 4C

, 32 channels are made valid, so that, as with the example shown in

FIG. 4B

, the duty ratios of the mask signals Sa through Sc are, respectively, slightly greater than 32/64.




Returning back to

FIG. 3

, reference numeral


232


denotes a DSP clock controller, which receives DSP control data from the CPU


10


, and outputs the above-mentioned mask signal Sd on the basis of the received signal. The DSP control data denote numeric data


0


through


1024


indicative of the number of steps (up to 1024) permitted for the microprogram.

FIGS. 4D through 4F

show the waveforms of the mask signal Sd when the DSP control data are


1024


,


768


, and


512


, respectively. Referring to

FIG. 4D

, all sounding steps (1024) are made valid, so that the mask signal is always at logic “1”. The duty ratios of the mask signal Sd shown in

FIG. 4E and 4F

are slightly greater than 768/1024 and 512/1024, respectively, due to the pipeline processing in the DSP


205


. These values correspond to a duration of time between the starting of the first stage of the pipeline processing by a step of the microprogram to be executed first and the ending of the final stage of the pipeline processing of another step to be processing last.




According to the invention, as described above, the inventive music apparatus is constructed for processing a music tone signal in response to a clock signal at each sampling period. In the music, a clock generator in the form of the clock circuit


19


generates the clock signal. A signal processor is provided in the form of the tone generator


200


including the read circuit


202


, DCF


206


, volume controller


203


and DSP


205


, and is operable in synchronization to the clock signal φ for time-divisionally processing a plurality of music tone signals through a plurality of channels within one sampling period. A clock controller is provided in the form of the channel clock controller


231


and the DSP clock controller


232


. The clock controller is operative during a supply duration determined by the mask signals Sa-Sd and allocated within one sampling period for supplying the clock signal to the signal processor from the clock generator to thereby operate the signal processor, and is operative during other than the supply duration within one sampling period for stopping the supplying of the clock signal to the signal processor to thereby suspend the signal processor.




Referring to

FIG. 3

again, the volume controller


203


incorporates an EG memory


203




a


for storing a current volume level of each sounding channel. To this memory, an unmasked clock signal φ is supplied. Because the EG memory


203




a


is referenced by the CPU


10


from time to time as required (for releasing sounding channels, for example), the EG memory


203




a


is kept in an active state by this clock signal such that the EG memory


203




a


is always accessible by the CPU


10


. The unmasked clock signal φ is also supplied to the mixer


210


. This is because the mixer


210


executes a time division operation different from the sounding channels and microprogram steps, thereby making it impossible to simply stop this operation of the mixer


210


on the basis of channel control data and DSP control data.




1.2 Operation of First Embodiment




1.2.1 Note-on Event Processing




The following describes operation of the present embodiment. First, when the electronic musical instrument (EMI) is powered on, the EMI is placed in the play mode. When the user presses a key on the play controls


15


or when a note-on signal is supplied through the MIDI interface


20


, a note-on event is generated, upon which a program shown in

FIG. 7

is executed by the CPU


10


.




Referring to

FIG. 7

, when the process goes to step SP


32


, the part number, note-number, and velocity of the newly generated note-on event are substituted into variables PT, NN, and LEV, respectively. Next, in step SP


34


, among the channels determined by variable CHM, a channel corresponding to this note-on event is allocated. The number of the allocated sounding channel is substituted into variable AS.




Variable CHM denotes the permitted number of sounding channels. As default, this variable is initialized to the maximum number of channels CHMax (


64


) of the present electronic musical instrument. Namely, in step SP


34


, if the number of channels currently sounded is smaller than the permitted number of channels CHM, a new channel is allocated to a new note-on event. On the other hand, if the number of channels currently sounded is equal to the permitted number of sounding channels CHM, the CPU


10


references the EG memory


203




a


and acquires the volume level of each sounding channel. The CPU


10


detects a channel having the lowest volume level and frees or releases this channel. The CPU


10


allocates a new note-on event to the freed channel.




In step SP


36


, sounding parameters in accordance with the part number PT, note number NN, and velocity VEL are set to a tone generator register (not shown) of the channel number AS in the control register & controller


201


. In step SP


38


, sounding is instructed to start the tone generator register of the channel number AS. Subsequently, in the tone generator


200


, a tone waveform is synthesized by the read circuit


202


, the DCF


206


and the volume controller


203


for that sounding channel. The synthesized tone waveform is imparted with an effect by the DSP


205


as required, and the resultant tone signal is sent to the sounding system


18


to be sounded.




1.2.2 Displaying of Power Saving Setting Screen




When the user executes a predetermined operation in the play mode, a power saving setting screen shown in

FIG. 5

appears on the display block


14


. In

FIG. 5

, reference numeral


31


denotes a CPU setting section in which three options “SLOW”, “MEDIUM”, and “FAST” are selectively arranged for the operating clocks of the CPU


10


. Reference numeral


32


denotes a block for setting the permitted number of sounding channels in which three options


32


,


48


and


64


are arranged. Reference numeral


33


denotes a block for setting the permitted number of steps in which three options


512


,


768


and


1024


are arranged as the number of steps permitted for the microprogram of the DSP


205


.




(1) Event processing for inputting the permitted number of sounding channels:




Operating the switch panel


13


, the user can select an option in each setting block. The following describes, with reference to

FIG. 6A

, the processing to be executed when the permitted number of channels is changed on the setting block


32


for setting the permitted number of sounding channels.




Referring to

FIG. 6A

, in step SP


2


, the newly inputted permitted number of sounding channels is substituted into variable CHM. Next, in step SP


4


, this permitted number of sounding channels CHM is compared with the channel control data. If the permitted number of channels CHM is found lower than the channel control data, the decision is NO. Then, in step S


8


, the permitted number of channels CHM is set to the tone generator register as new channel control data. Consequently, in the sounding channel clock controller


231


, the on/off timings of the mask signals Sa through Sc are set on the basis of the new channel control data.




On the other hand, if the decision is YES in step SP


4


, then the CPU


10


waits until the sounding of all shortfall sounding channels goes off in step SP


6


. This will be further described by use of the case where the channel control data are


64


and the permitted number of channels CHM has been changed to


48


for example. Because the channel control data are


64


, it is likely that sounding channels


49


through


64


are sounding at this point of time. If the channel control data are immediately set to


48


, the clock signal φ is masked for the channels


49


through


64


, so that the volume of that sounding channel immediately becomes zero, thereby generating a shock noise. In order to prevent the shock noise from being generated, the CPU


11


monitors the volume levels of the sounding channels (


49


through


64


) which may be in sounding state and should be turned off, and the CPU


11


keeps the processing in the standby state until all of the volume levels of the overloaded channels


49


-


64


go below a predetermined value (as low as zero). Only thereafter, the processing goes to step SP


8


, so that the channel control data can be reduced without generating a shock noise.




(2) Event processing for inputting the permitted number of steps:




The following describes the processing to be executed when the user changes the permitted number of steps with reference to FIG.


6


B. In the figure, the inputted permitted number of steps is substituted into variable STM in step SP


10


. Next, in step SP


12


, it is determined whether the number of steps STM has been decreased below the DSP control data and some of the effect processes have become unexecutable. If the decision is NO, then, in step SP


20


, this permitted number of steps STM is set to the tone generator register in the control register & controller


201


as new DSP control data. Subsequently, the on/off timing of the mask signal Sd is set on the basis of the new DSP control data.




On the other hand, if the decision is YES in step SP


12


, then the name of an effect to be disabled and an inquiry message whether to forcibly effect through the reduction of the permitted number of steps are displayed on the display block


14


in step SP


14


. For example, assume that the DSP control data be 1024 and “HALL1” (350 steps) as reverberation, “CHORUS1” (350 steps) as chorus, and “ROTARY SPEAKER” (300 steps) as variation be stored in this order at addresses


0


through


1000


in the program memory of the microprogram.




If the permitted number of steps STM newly set is 768, the execution of variation “ROTARY SPEAKER” of the above-mentioned effects is disabled. In this case, therefore, a message “Insufficient number of steps; do you want to delete variation ROTARY SPEAKER?” is displayed on the display block


14


, and the CPU


10


waits until the user inputs an answer. When the user inputs the answer, then, in step SP


16


, it is determined whether the answer of the user is for effecting the deletion of the effect. If the decision is NO, the permitted number of steps STM is not reflected as the DSP control data, upon which this routine comes to an end.




On the other hand, if the decision is YES in step SP


16


, then the output of the effect (ROTARY SPEAKER) to be disabled is damped (namely, gradually reduced to zero) in step SP


18


and the microprogram corresponding to the canceled steps is deleted from the program memory of the DSP


205


. Subsequently, in step SP


20


, this permitted number of steps STM is set to the tone generator register as new DSP control data.




1.2.3 Displaying of Effect Select Screen




(1) Updating of menu display




When the user executes a predetermined operation in the play mode, an effect select menu display update routine (

FIG. 8A

) for specifying and/or changing effects is called. Referring to

FIG. 8A

, in step SP


42


, the number of steps set in the current DSP control data and the number of steps actually used in the microprogram are detected. In step SP


44


, subtraction is executed between these numbers of steps to detect the number of free steps in the number of set steps in the DSP control data.




In step SP


46


, on the basis of the number of free steps and a state of effect selection, a menu (changeable effect options) of each effect is determined and the determined menu is listed on the display block


14


.

FIG. 9A

shows one example of this display. In the figure, “HALL2” is selected as reverberation, “CHORUS3” as chorus, and “GATE REVERB” as variation (the selections are highlighted in reverse). The effects not selected are also displayed. This indicates that these unselected effects can be selected for the currently selected effect. Namely, even if the select state is changed, the total number of steps of the microprogram will not exceed the DSP control data.




(2) Effect select event processing




When the user selects an effect in the effect select screen (FIG.


9


A), select switching processing is executed accordingly. For one example of this processing, processing executed when a reverberation change is specified will be described with reference to FIG.


8


B. In the flowchart, in step SP


52


, the number of a newly selected reverberation is stored in variable REVN. In step SP


54


, the reverberation block of the DSP


205


is muted.




In step SP


56


, a microprogram corresponding to the reverberation number REVN is loaded in the microprogram memory of the DSP


205


. In step SP


58


, the reverberation block of the DSP


205


is recovered from the muted state. In step SP


60


, the effect select menu display update routine (

FIG. 8A

) is called again to display an effect select screen with a changed reverberation onto the display block


14


. With the chorus and variation effects, the similar processing is executed to update the contents of display on the display block


14


. In each block, if “NO EFFECT” is selected, the microprogram of the effects of the selected block is freed in step SP


56


. To be specific, this block is filled with NOP (No Operation) codes.




Thus, the user can select or deselect any effect in each effect block within a range permitted by the DSP control data. It should be noted that the effect select screen shown in

FIG. 9A

assumes that the DSP control data be


1024


(the maximum number of steps).

FIG. 9B

shows an effect select screen to be displayed when the DSP control data are less than 1024; for example, 512. In the figure, reverberation “HALL2” and variation “ECHO” have been selected already. In the reverberation block and the variation block of the effect select screen, selectable effects (the total number of steps not exceeding 512) are listed in addition to the already selected effects. In this case, however, the number of selectable effects is smaller than those listed in the screen shown in FIG.


9


A. This is because only the effects of comparatively small number of steps can be loaded in the microprogram memory.




In the chorus block, only “NO EFFECT” is displayed. This indicates that there is no room for adding any chorus effect, because the reverberation and variation effects have been set already. However, if either reverberation or variation is set to “NO EFFECT” for example, the corresponding microprogram is unloaded and one or more chorus effects which can be loaded in the resultant free steps are displayed in the effect select screen.




As described with reference to the first embodiment, in the inventive apparatus, an allocating device is provided in the form of the switch panel


13


. As exemplified by the blocks


31


and


32


shown in

FIG.5

, the allocating device allocates a predetermined supply duration within one sampling period. Further, as exemplified by the channel number limiting Step SP


34


of FIG.


7


and effect designation limiting step shown in

FIGS. 9A and 9B

, a specifying device specifies a detail of processing of the music tone signals in accordance with the predetermined supply duration so that the signal processor can complete the processing of the music tone signals within the predetermined supply duration. In such a case, the allocating device allocates the predetermined supply duration based on a predetermined number of channels through which music tones are generated concurrently by the processing of the music tone signals. Otherwise, the allocating device allocates the predetermined supply duration based on a predetermined number of steps by which a program is executed stepwise for processing the music tone signals. Further, the specifying device specifies the detail of the processing of the music tone signals in terms of a number of channels through which the music tone signals are processed for concurrent generation of music tones. Otherwise, the specifying device specifies the detail of the processing of the music tone signals in terms of a kind of a program selectably executed by the signal processor in the processing of the music tone signals.




2. Second Embodiment




The following describes an electronic musical instrument practiced as a second embodiment of the invention. The hardware and software configurations of the second embodiment are generally the same as those of the first embodiment. Therefore, the following describes only the differences from the first embodiment.




2.1 Hardware Configuration of Second Embodiment




A clock signal line of a tone generator


200


of the second embodiment will be described with reference to FIG.


10


.




In the figure, reference numeral


235


denotes a sounding channel clock controller, which is provided in place of the sounding channel clock controller


231


of the first embodiment. In the sounding channel clock controller


235


, channel control data are 64 bits long.




These bits correspond to 0 to 64 sounding channels, respectively, logic “1” denoting that sounding of that channel is enabled and logic “0” denoting that sounding of that channel is disabled. Therefore, depending on a bit pattern, periods of supplying the clock signal φ in which the mask signals Sa through Sc go logic “1” may be scattered in one sampling period. Reference numeral


215


denotes a self power saving DSP, which is provided in place of the DSP


205


of the first embodiment. To the self power saving DSP


215


, the clock signal φ is supplied without being masked.




The following describes a configuration of the self or auto power saving DSP


215


with reference to FIG.


11


. In the figure, reference numeral


52


denotes a counter which is reset in every sampling period to count the clock signal φ. A count result is supplied to a microprogram memory


54


as a read address. Reference numeral


56


denotes an instruction interpreting block for interpreting an instruction code read from the microprogram memory


54


. The block


56


makes a computing block


62


execute various computational operations on the basis of the interpretation. In the second embodiment, special instructions called “clock-on” and “clock-off” are included in an instruction code set.




When the instruction interpreting block


56


detects a clock-on instruction, it sets an RS flip-flop


58


. When the instruction interpreting block


56


detects a clock-off instruction, it resets the RS flip-flop


58


. Reference numeral


60


denotes an AND gate which executes an AND operation between an output signal Q of the RS flip-flop


58


and the clock signal φ, and supplies a result to the computing block


62


as a clock signal. Therefore, once a clock-off instruction is detected by the instruction interpreting block


56


, no clock signal is supplied to the computing block


62


until a clock-on instruction is detected next, thereby stopping the operation of the computing block


62


, resulting in the reduction of power consumption during that period.




2.2 Operations of Second Embodiment




2.2.1 Note-on Event Processing




In the second embodiment, when a note-on event occurs, a routine shown in

FIG. 12A

is executed instead of the routine shown in FIG.


7


. Referring to

FIG. 12A

, in step SP


72


, the part number, note number, and velocity of the newly generated note-on event are substituted into variables PT, NN, and VEL, respectively. In step SP


74


, one of the 64 channels is allocated to the note-on event.




The following describes the rules of the allocation. If all of the 64 channels are currently sounding (namely all of the 64 channels have a volume level above a predetermined value), the sounding channel having the lowest volume level is freed. The note-on event is allocated to this freed sounding channel. On the other hand, if there are two or more sounding channels having volume levels lower than the predetermined value, the sounding channel having the lowest channel number is allocated. As described, because the read circuit


202


, the DCF


206


, and volume controller


203


execute pipeline processing, a time from starting the processing of one sounding channel to ending the same is equal to or longer than 1/64 of sampling period. Therefore, the processing of each sounding channel is overlapped with that of another sounding channel on the time axis by allocating the sounding channel having a channel number as low as possible, thereby lowering the duty ratios of the mask signals Sa through Sc, respectively.




In step SP


76


, as with the first embodiment, the sounding parameters corresponding to part number PT, note number NN, and velocity VEL are set to a tone generator register (not shown) for channel number AS in a control register & controller


201


. In doing so, an AS bit of the channel control data is set to logic “1”. In step SP


78


, sounding is instructed to start for the tone generator register of the channel number AS. Subsequently, in the tone generator


200


, a tone waveform is synthesized for the sounding channel. The synthesized tone waveform is imparted with an effect as required and the resultant tone signal is sent to a sounding system


18


to be sounded.




2.2.2 Timer Interrupt Processing




In the second embodiment, a timer interrupt occurs for the CPU


10


at every predetermined time (one second for example), thereby starting the execution of a timer interrupt processing routine shown in FIG.


12


C. In the figure, in step SP


95


, the contents of the EG memory


203




a


are searched for a sounding channel of which volume level is less than a predetermined value. The bit of the channel control data which corresponds to this channel is set to logic “0”.




2.2.3 Displaying of Power Saving Setting Screen




When the user executes a predetermined operation in the play mode, a power saving setting screen is also displayed in the second embodiment. In this embodiment, however, only the CPU setting section


31


is displayed on the display block


14


. Hence, there is no processing corresponding to the processing shown in

FIGS. 6A and 6B

of the first embodiment.




2.2.4 Displaying of Effect Select Screen




(1) Updating of menu display




In the second embodiment also, when the user executes a predetermined operation, the effect select menu display update routine (

FIG. 8A

) for specifying and/or changing effects is called. In the second embodiment, however, “the maximum number of steps (1024)” is used for “the number of setting steps in current DSP control data” used in the first embodiment. Consequently, the menus of the effects to be displayed on the display block


14


are always as shown in

FIG. 9A

, and the limited menu display as shown in

FIG. 9B

is not displayed.




(2) Effect select event processing




In the second embodiment also, when the user selects an effect in the effect select screen (FIG.


9


A), corresponding select switching processing is executed. The following describes this processing by use of an example in which the user specifies a change of reverberation effects, with reference to FIG.


12


B. In the figure, the processing of steps SP


82


through SP


86


, the processing of SP


88


, and the processing of SP


90


are generally the same as those of steps SP


52


through SP


56


, the processing of step SP


58


, and the processing of SP


60


.




In the second embodiment, however, processing of step SP


87


is provided unlike the first embodiment. In step SP


87


, a microprogram loaded or unloaded in step SP


86


is checked for detecting an inactive range (for example, a range filled with NOP codes) which is equal to or greater than the predetermined number of steps. If this inactive range is detected, a clock-off instruction is added to a location several steps after the first NOP code. These several steps are provided, because it is necessary to wait for the complete end of the pipeline processing of an instruction immediately before the first NOP code. Further, for the same reason, a clock-on signal is added to a location several steps before the end of the inactive range in step SP


87


. Therefore, when this microprogram is executed, the operation of the computing block


62


stops in the interval between the clock-off code and the clock-on code, thereby reducing the power consumption. This holds true with the change and/or freeing of chorus and variation effects.




As described with reference to the second embodiment, in the inventive apparatus, a specifying device specifies a detail of processing of the music tone signals, as exemplified by effect selecting screen of FIG.


9


A and channel allocation step SP


74


of FIG.


12


A. Further, an allocating device allocates a supply duration within one sampling period in accordance with the specified detail of the processing so that the signal processor can complete the specified detail of the processing of the music tone signals within the allocated supply duration. Such an operation is exemplified by step SP


76


of FIG.


12


A and SP


87


of FIG.


12


B.




Thus, according to the second embodiment, the supply of the clock signal φ can be automatically stopped according to the occasional states of sounding channels and the effects without limiting the number of sounding channels and the selecatable effects at all, thereby achieving power saving. This makes it unnecessary for the user to be aware of the power consumption of the electronic musical instrument and therefore the user can concentrate only on music-related jobs.




3. Modifications




The present invention is not limited to the above-mentioned embodiments. For example, the following various modifications may be made.




(1) The effect select screen of the first embodiment lists only the selectable effects according to occasional situations as shown in

FIGS. 9A and 9B

. It will be apparent to those skilled in the art that all effects are listed and the unselectable effects are displayed in an adequate manner (for example, in an inconspicuous manner) to prevent them from being selected.




(2) In the effect select screen of the first embodiment, the number of effect blocks to be displayed may be changed according to the permitted number of steps. For example, if the permitted number of steps is 1024, all blocks are displayed; if it is 768, two blocks are displayed; and, if it is 512, only one block is displayed. The block to be displayed when the permitted number of steps is less than 1024 may be a system default block or one or two user-selected blocks.




(3) In the second embodiment, the values of the channel control data bits are switched by the CPU


10


. It will be apparent to those skilled in the art that this processing may be executed inside the tone generator


200


by arranging a channel monitor circuit therein. To be more specific, the channel monitor circuit sequentially reads the volume levels of the sounding channels from the EG memory


203




a


to determine whether each volume level is equal to or greater than a predetermined level (as low as zero). For the sounding channels with their volume levels found equal to or greater than the predetermined level, the corresponding channel control bit may be set to logic “1”. For the other sounding channels, the corresponding channel control bit may be set to logic “0”.




However, it is desirable to exclude from the above-mentioned decision, exeptional sounding channels of which volume levels are temporarily low due to the operation of a volume control such as a volume pedal. Therefore, it is preferable to store, for all channels, 64-word exclusion data in the channel monitor circuit, the data being indicative of whether to exclude the channel from the decision. To be more specific, any sounding channel of which exclusion data are logic “1” is excluded from the decision and therefore the corresponding channel control data bit does not go logic “0”. On the other hand, for any sounding channel of which exclusion data are logic “0”, the corresponding channel control data bit is set according to the volume level of that sounding channel.




In addition, when such control operations may be executed in reading the waveform data of the attack section and loop section from the waveform memory, a channel is excluded from the decision until the attack section has been read (for example, if the exclusion data=2). Otherwise, after a sounding channel is noted on, the sounding channel is excluded from the decision until it is noted off (for example, if the exclusion data=3).




(4) In the second embodiment, the CPU


10


detects the range filled with NOP codes in the microprogram (namely the range not effectively used for the effect processing), and accordingly adds the clock-on and clock-off instructions to the microprogram. Alternatively, the clock-on and clock-off instructions may be automatically executed in the tone generator


200


. For example, referring to

FIG. 11

, the instruction interpreting block


56


may be configured so that, upon detection that the predetermined number of NOP codes are continuously lined, the instruction interpreting block


56


resets the RS flip-flop


58


; subsequently, upon detection, by executing instruction look ahead, of an instruction other than NOP at a location several steps later, the instruction interpreting block


56


sets the RS flip-flop


58


.




(5) Many recent electronic musical instrument DSPs are each configured as a multi-DSP which executes two or more effect processing operations in parallel (as disclosed in Japanese Published Unexamined Patent Application No. Hei 10-198560 and corresponding U.S. Pat. No. 6,085,309, for example). In this case, it is preferable that control data be set for controlling the supply of an operating clock for each of two or more microprograms executed in parallel. To be more specific, in an operation at every DSP sampling, the operating clock is supplied during a period in which a microprogram for which the control data are set to “supply” and the operating clock is not supplied during a period in which the control data are set to “not supply”.




(6) In each of the above-mentioned embodiments, if “NO EFFECT” is selected in any effect block, the microprogram for the effects in that effect block is filled with NOP codes. Alternatively, instead of filling with NOP codes, a microcode for that portion may be configured so that it does not affect other microcodes in execution, for example. Alternatively still, data generated by the microcode for that portion may be prevented from being finally outputted as a tone signal. These two alternatives can be easily implemented by disabling a write operation to the internal registers of the DSP


205


and the delay memory


270


for that portion of the microcode.




4. Species




The present invention is embodied in the following manners.




(1) A tone generating apparatus operating on the basis of an operating clock, comprises a tone generating block for generating tone signals for plural sounding channels in a time division manner, a control data inputting block for inputting control data for controlling the number of above-mentioned plural sounding channels, a clock control block for controlling, on the basis of the above-mentioned control data, the supply of the operating clock to the tone generating block, and a sounding control block for allocating, in accordance with a sounding start instruction, sounding of a tone signal corresponding to this sounding start instruction to all or some of the above-mentioned sounding channels to be determined on the basis of the above-mentioned control data and starting the generation of the above-mentioned tone signal in the allocated sounding channels.




According to the above-mentioned novel constitution, the power to the tone generator for generating tone signals for plural sounding channels in a time division manner can be saved only by adding a simple configuration to a related-art tone generator.




(2) A signal processing apparatus for executing operations of plural steps for every sampling period on the basis of an operating clock, comprises a signal processing block for executing signal processing, a control data input block for inputting the number of steps of a processing operation to be executed by the signal processing block, a clock control block for controlling, on the basis of the above-mentioned control data, the supply of the operating block to the signal processing block, and a processing program selecting block for selecting a program to be executed by the signal processing block in a range of the number of steps determined in accordance with the control data and for setting the selected program to the signal processing block.




According to the above-mentioned novel constitution, the power to the signal processor for executing operations of plural steps in every sampling period can be saved only by adding a simple configuration to a related-art signal processor.




(3) A tone generating apparatus operating on the basis of an operating clock, comprises a tone generating block for generating tone signals for plural sounding channels in a time division manner, a sounding control block for allocating, in accordance with a sounding start instruction, the sounding of a tone signal corresponding to this sounding start instruction to any of the above-mentioned plural sounding channels and starting the generation of this tone signal in the allocated sounding channel, a volume detecting block for detecting a volume level of each of the above-mentioned plural sounding channels, a control data generating block for generating, on the basis of the detected volume level of each sounding channel, control data for controlling the supply of the operating clock for each sounding channel, and a clock control block for controlling, on the basis of the above-mentioned control data, the supply of the operating clock to the above-mentioned tone generating block.




According to the above-mentioned novel constitution, the supply of the operating clock to the tone generator on the basis of the volume level of each sounding channel, thereby maximizing the power saving of the tone generator.




(4) A signal processing apparatus for executing operations of plural steps in every sampling period on the basis of an operating clock, comprises a signal processing block for executing signal processing, a processing program selecting block for selecting a program to be executed by the above-mentioned signal processing block and setting the selected program to the signal processing block, a control data generating block for generating, on the basis of the set program, control data indicative of a program range not valid or effective in this program, and a clock control block for preventing, on the basis of the above-mentioned control data, a part of the clocks from being supplied to the signal processing block.




According to the above-mentioned novel constitution, the operating clock is supplied only for a period in which a valid program is being executed, thereby maximizing the power saving of the signal processor. The valid program herein denotes a program in which a result of signal processing (for example, effect processing) executed by that program has been converted into a perceivable tone.




As described and according to the invention, the supply of a clock signal to a processing circuit can be controlled in synchronization with a sampling period, thereby reducing the power consumption of the processing circuit in accordance with processing load by a simple configuration.




While the preferred embodiments of the present invention have been described using specific terms, such description is for illustrative purposes only, and it is to be understood that changes and variations may be made without departing from the spirit or scope of the appended claims.



Claims
  • 1. An apparatus for processing a music tone signal in response to a clock signal at each sampling period, the apparatus comprising:a clock generator that generates the clock signal; a signal processor operable in synchronization to the clock signal for time-divisionally processing a plurality of music tone signals through a plurality of channels within one sampling period; and a clock controller being operative during a supply duration allocated within one sampling period for supplying the clock signal to the signal processor from the clock generator to thereby operate the signal processor, and being operative during other than the supply duration within one sampling period for stopping the supplying of the clock signal to the signal processor to thereby suspend the signal processor.
  • 2. The apparatus according to claim 1, further comprising an allocating device that allocates a predetermined supply duration within one sampling period, and a specifying device that specifies a detail of processing of the music tone signals in accordance with the predetermined supply duration so that the signal processor can complete the processing of the music tone signals within the predetermined supply duration.
  • 3. The apparatus according to claim 2, wherein the allocating device allocates the predetermined supply duration based on a predetermined number of channels through which music tones are generated concurrently by the processing of the music tone signals.
  • 4. The apparatus according to claim 2, wherein the allocating device allocates the predetermined supply duration based on a predetermined number of steps by which a program is executed stepwise for processing the music tone signals.
  • 5. The apparatus according to claim 2, wherein the specifying device specifies the detail of the processing of the music tone signals in terms of a number of channels through which the music tone signals are processed for concurrent generation of music tones.
  • 6. The apparatus according to claim 2, wherein the specifying device specifies the detail of the processing of the music tone signals in terms of a kind of a program selectably executed by the signal processor in the processing of the music tone signals.
  • 7. The apparatus according to claim 1, further comprising a specifying device that specifies a detail of processing of the music tone signals, and an allocating device that allocates a supply duration within one sampling period in accordance with the specified detail of the processing so that the signal processor can complete the specified detail of the processing of the music tone signals within the allocated supply duration.
  • 8. The apparatus according to claim 7, wherein the allocating device allocates the supply duration in accordance with the specified detail of the processing in terms of a predetermined number of channels through which music tones are generated concurrently by the processing of the music tone signals.
  • 9. The apparatus according to claim 7, wherein the allocating device allocates the supply duration in accordance with the specified detail of the processing in terms of a predetermined number of steps by which a program is executed stepwise for processing the music tone signals.
  • 10. The apparatus according to claim 7, wherein the specifying device specifies the detail of the processing of the music tone signals in terms of a number of channels through which the music tone signals are processed for concurrent generation of music tones.
  • 11. The apparatus according to claim 7, wherein the specifying device specifies the detail of the processing of the music tone signals in terms of a kind of a program selectably executed by the signal processor in the processing of the music tone signals.
  • 12. The apparatus according to claim 1, wherein the signal processor processes the music tone signal in such a manner that waveform data of a designated timbre is read out to generate the music tone signal at a designated pitch.
  • 13. The apparatus according to claim 1, wherein the signal processor processes the music tone signal in such a manner that waveform data is read out to generate the music tone signal and the generated music tone signal is subjected to filter processing.
  • 14. The apparatus according to claim 1, wherein the signal processor processes the music tone signal in such a manner as to control an amplitude of the music tone signal.
  • 15. The apparatus according to claim 1, wherein the signal processor processes the music tone signal in such a manner as to impart an effect to the music tone signal.
  • 16. A method of processing a music tone signal in response to a clock signal at each sampling period, the method comprising the steps of:continuously generating the clock signal; operating a signal processor in synchronization to the clock signal for time-divisionally processing a plurality of music tone signals through a plurality of channels within one sampling period; supplying the generated clock signal to the signal processor so as a to operate the signal processor during a supply duration allocated within one sampling period; and stopping the supplying of the generated clock signal to the signal processor so as to suspend the signal processor during other than the supply duration within one sampling period.
  • 17. A medium for use in a music apparatus having a signal processor for processing a music tone signal in response to a clock signal at each sampling period, the medium containing program instructions executable by the music apparatus to perform a method comprising the steps of:continuously generating the clock signal; operating the signal processor in synchronization to the clock signal for time-divisionally processing a plurality of music tone signals through a plurality of channels within one sampling period; supplying the generated clock signal to the signal processor so as a to operate the signal processor during a supply duration allocated within one sampling period; and stopping the supplying of the generated clock signal to the signal processor so as to suspend the signal processor during other than the supply duration within one sampling period.
Priority Claims (1)
Number Date Country Kind
2000-079462 Mar 2000 JP
US Referenced Citations (3)
Number Name Date Kind
4128032 Wada et al. Dec 1978 A
4987600 Rossum Jan 1991 A
5532424 Hideo Jul 1996 A
Foreign Referenced Citations (1)
Number Date Country
2000-57122 Feb 2000 JP