The present invention relates to an apparatus for playing arpeggios and a computer program therefor, and more particularly to an electronic musical apparatus for automatically running a plurality of arpeggio performances in parallel in rhythmic synchronization with each other or with another automatic musical performance.
Various types of musical apparatuses are conventionally known in the art for automatically playing arpeggios in response to simple manual playing operations by the player on the keyboard. An example of automatic arpeggio playing apparatus is disclosed in U.S. Pat. No. 6,051,771 (corresponding to unexamined Japanese patent publication No. H11-126074) in which as the player designates a chord on the keyboard, the apparatus generates the chord constituent notes in succession as a broken chord based on a pre-stored arpeggio pattern.
In the above-referenced publication, a particular part of the keyboard is allotted for the arpeggio playing (i.e. an arpeggio key range), and a chord played by depressing the keys in the arpeggio key range is produced with successive generation of the chord constituent notes in an arpeggio pattern which is selected from among a plurality of pre-stored arpeggio patterns. However, this arpeggio playing apparatus is not adapted for playing arpeggios (i.e. broken chords) in different patterns respectively in response to different chords played in different key ranges.
A conventional arpeggio playing apparatus may be provided with a plurality of arpeggio playing mechanisms (or units) so that different chords played in the different key ranges would produce broken chords with different arpeggio patterns, respectively. However, an arpeggio playing apparatus generally starts reading out an arpeggio pattern to start a broken chord performance in response to key depressions (new key-ons detected) in the arpeggio key range, and stops reading out the arpeggio pattern when the depressed keys have all been released, although there can be different operations depending on the operation modes. Under such a circumstance, if the reading out operations of arpeggio patterns start independently at the different key ranges, the arpeggio patterns for playing arpeggios may run without being synchronized (i.e. under staggered rhythm beatings) with each other. The phenomenon of staggered rhythm beatings can occur similarly in the case where an arpeggio performance is conducted while other automatic performances such as an automatic rhythm performance and an automatic melody performance are running.
In view of the foregoing circumstances, therefore, it is a primary object of the present invention to provide an arpeggio playing apparatus and a computer program therefor with which arpeggio performances by a plurality of arpeggio playing units will not deviate from each other in rhythm beating, and further an arpeggio pattern will start with a favorable manner in view of another already running arpeggio performance or automatic performance (e.g. an accompaniment or a melody) in terms of a synchronized musical progression.
According to the present invention, the object is accomplished by providing an arpeggio playing apparatus comprising: a musical tone signal generating device including a plurality of arpeggio playing parts each of which is capable of playing an automatic arpeggio with an arpeggio pattern at a progression tempo, the operation of the arpeggio playing part being started in response to a start instruction; a start instruction detecting device that detects a start instruction for an arpeggio playing part to start the operation; and a start controlling device that controls, under the condition that a first arpeggio playing part has started playing an automatic arpeggio at the progression tempo which defines a synchronization timing including synchronization grids and that a start instruction is received for another arpeggio playing part, the another arpeggio playing part to start the operation thereof in synchronism with the defined synchronization timing and to run at the progression tempo. Thus, plural automatic arpeggio performances by plural arpeggio playing parts will run in synchronism with each other, thereby preventing staggered progressions of arpeggio performances.
In an aspect of the present invention, the start controlling device may control the another arpeggio playing part to immediately start the operation upon receipt of the start instruction for the another arpeggio playing part in such a way that a span of the arpeggio pattern from its head until the position corresponding to a first coming synchronization grid is played in a shortened time length between the receipt of the start instruction and the first coming synchronization grid. This type of control may preferably be conducted when the time point at which the start instruction is received locates within a predetermined time range from a preceding synchronization grid that locates just before the start instruction. Thus, the later instructed arpeggio performance will start without a delay, with the existing time differences being absorbed at the beginning span of the arpeggio pattern by the first coming synchronization grid, thereafter keeping synchronized progressions of the arpeggio performances.
In another aspect of the present invention, the start controlling device may control the another arpeggio playing part to immediately start the operation upon receipt of the start instruction for the another arpeggio playing part in such a way that a span of the arpeggio pattern from its head until the position corresponding to a first coming synchronization grid is played in an elongated time length between the receipt of the start instruction and the second coming synchronization grid. This type of control may preferably be conducted when the time point at which the start instruction is received locates outside a predetermined time range from a preceding synchronization grid that locates just before the start instruction. Thus, the later instructed arpeggio performance will start without a delay, with the existing time differences being absorbed at the beginning span of the arpeggio pattern by the second coming synchronization grid, thereafter keeping synchronized progressions of the arpeggio performances.
In a further aspect of the present invention, when the time point at which the start instruction is received locates outside a predetermined time range from a preceding synchronization grid that locates just before the start instruction, the start controlling device may control the another arpeggio playing part to suspend starting until the first coming synchronization grid and to start the operation at the first coming synchronization grid in such a way that a span of the arpeggio pattern from its head until the position corresponding to a first coming synchronization grid is played in the time length between the first coming synchronization grid and the second coming synchronization grid. Thus, the later instructed arpeggio performance will start with the full arpeggio pattern at the correct tempo and run in synchronism with the earlier started and currently running arpeggio performance.
According to the present invention, the object is further accomplished by providing an arpeggio playing apparatus comprising: a musical tone signal generating device including an automatic music playing device and an arpeggio playing part that is capable of playing an automatic arpeggio with an arpeggio pattern at a progression tempo, the operation of the arpeggio playing part being started in response to a start instruction; a start instruction detecting device that detects a start instruction for the arpeggio playing part to start the operation; and a start controlling device that controls, under the condition that the automatic music playing device has started an automatic music performance at the progression tempo which defines a synchronization timing including synchronization grids and that a start instruction is received for the arpeggio playing part, the arpeggio playing part to start the operation thereof in synchronism with the defined synchronization timing and to run at the tempo of the automatic music playing device. Thus, the automatic arpeggio performance will run in synchronism with the automatic music performance, thereby preventing staggered progression between the automatic performances.
In a still further aspect of the present invention, the start controlling device may control the arpeggio playing part to immediately start the operation upon receipt of the start instruction for the arpeggio playing part in such a way that a span of the arpeggio pattern from its head until the position corresponding to a first coming synchronization grid is played in a shortened time length between the receipt of the start instruction and the first coming synchronization grid. This type of control may preferably be conducted when the time point at which the start instruction is received locates within a predetermined time range from a preceding synchronization grid that locates just before the start instruction. Thus, the arpeggio performance will start without a delay, with the existing time differences being absorbed at the beginning span of the arpeggio pattern by the first coming synchronization grid, thereafter keeping a synchronized progression of the arpeggio performance with the automatic music performance.
In a still further aspect of the present invention, the start controlling device may control the arpeggio playing part to immediately start the operation upon receipt of the start instruction for the arpeggio playing part in such a way that a span of the arpeggio pattern from its head until the position corresponding to a first coming synchronization grid is played in an elongated time length between the receipt of the start instruction and the second coming synchronization grid. This type of control may preferably be conducted when the time point at which the start instruction is received locates outside a predetermined time range from a preceding synchronization grid that locates just before the start instruction. Thus, the arpeggio performance will start without a delay, with the existing time differences being absorbed at the beginning span of the arpeggio pattern by the second coming synchronization grid, thereafter keeping synchronized progressions of the arpeggio performance with the automatic music performance.
In a still further aspect of the present invention, when the time point at which the start instruction is received locates outside a predetermined time range from a preceding synchronization grid that locates just before the start instruction, the start controlling device may control the arpeggio playing part to suspend starting until the first coming synchronization grid and to start the operation at the first coming synchronization grid in such a way that a span of the arpeggio pattern from its head until the position corresponding to a first coming synchronization grid is played in the time length between the first coming synchronization grid and the second coming synchronization grid. Thus, the arpeggio performance will start with the full arpeggio pattern at the correct tempo and run in synchronism with the earlier started and currently running automatic music performance.
According to the present invention, the object is still further accomplished by providing a computer program for playing an automatic arpeggio with a computer comprising a musical tone signal generating device including a plurality of arpeggio playing parts each of which is capable of playing an automatic arpeggio with an arpeggio pattern at a progression tempo and functioning as an arpeggio playing apparatus, the program containing instructions for: detecting a start instruction for each of the arpeggio playing parts to start the operation; and controlling, under the condition that a first arpeggio playing part has started playing an automatic arpeggio at the progression tempo which defines a synchronization timing including synchronization grids and that a start instruction is received for another arpeggio playing part, the another arpeggio playing part to start the operation thereof in synchronism with the defined synchronization timing and to run at the progression tempo. Thus, plural automatic arpeggio performances by plural arpeggio playing parts will run in synchronism with each other, thereby preventing staggered progressions of arpeggio performances.
According to the present invention, the object is still further accomplished by providing a computer program for playing an automatic arpeggio with a computer comprising a musical tone signal generating device including an automatic music playing device and an arpeggio playing part that is capable of playing an automatic arpeggio with an arpeggio pattern at a progression tempo and functioning as an arpeggio playing apparatus, the program containing instructions for: detecting a start instruction for the arpeggio playing part to start the operation; and controlling, under the condition that the automatic music playing device has started playing an automatic music performance at the progression tempo which defines a synchronization timing including periodically aligned synchronization grids and that a start instruction is received for the arpeggio playing part, the arpeggio playing part to immediately start in synchronism with the defined synchronization timing the operation thereof upon receipt of the start instruction for the arpeggio playing part in such a way that a span of the arpeggio pattern from its head until the position corresponding to a first coming synchronization grid is played in a shortened time length between the receipt of the start instruction and the first coming synchronization grid, and thereafter the arpeggio pattern is played at the progression tempo. Thus, the arpeggio performance will start without a delay, with the existing time differences being absorbed at the beginning span of the arpeggio pattern by the first coming synchronization grid, thereafter keeping a synchronized progression of the arpeggio performance with the automatic music performance.
According to the present invention, the object is still further accomplished by providing a computer program for playing an automatic arpeggio with a computer comprising a musical tone signal generating device including an automatic music playing device and an arpeggio playing part that is capable of playing an automatic arpeggio with an arpeggio pattern at a progression tempo and functioning as an arpeggio playing apparatus, the program containing instructions for: detecting a start instruction for the arpeggio playing part to start the operation; and controlling, under the condition that the automatic music playing device has started an automatic music performance at the progression tempo which defines a synchronization timing including periodically aligned synchronization grids and that a start instruction is received for the arpeggio playing part, the arpeggio playing part to immediately start the operation thereof in synchronism with the defined synchronization timing upon receipt of the start instruction for the arpeggio playing part in such a way that a span of the arpeggio pattern from its head until the position corresponding to a first coming synchronization grid is played in an elongated time length between the receipt of the start instruction and the second coming synchronization grid, and thereafter the arpeggio pattern is played at the progression tempo. Thus, the arpeggio performance will start without a delay, with the existing time differences being absorbed at the beginning span of the arpeggio pattern by the second coming synchronization grid, thereafter keeping synchronized progressions of the arpeggio performance with the automatic music performance.
As will be apparent from the above description, the present invention can be practiced not only in the form of an apparatus, but also in the form of a computer program to operate a computer or other data processing devices. The invention can further be practiced in the form of a method including the steps mentioned herein.
In addition, as will be apparent from the description herein later, some of the structural element devices of the present invention are structured by means of hardware circuits, while some are configured by a computer system performing the assigned functions according to the associated programs. The former may of course be configured by a computer system and the latter may of course be hardware structured discrete devices. Therefore, a hardware-structured device performing a certain function and a computer-configured arrangement performing the same function should be considered a same-named device or an equivalent to each other.
The invention and its various embodiments can now be better understood by turning to the following detailed description of the preferred embodiments which are presented as illustrated examples of the invention defined in the claims. It is expressly understood that the invention as defined by the claims may be broader than the illustrated embodiments described bellow.
For a better understanding of the present invention, and to show how the same may be practiced and will work, reference will now be made, by way of example, to the accompanying drawings, in which:
a and 6b are, in combination, a flow chart showing the procedure of a key-on processing with an embodiment of an arpeggio playing apparatus according to the present invention;
a is a timing chart showing an example of the time length adjustment of an arpeggio pattern with an embodiment of an arpeggio playing apparatus according to the present invention;
b is a timing chart showing another example of the time length adjustment of an arpeggio pattern with an embodiment of an arpeggio playing apparatus according to the present invention;
c is a timing chart showing a further example of the time length adjustment of an arpeggio pattern with an embodiment of an arpeggio playing apparatus according to the present invention;
The present invention will now be described in detail with reference to the drawings showing preferred embodiments thereof. It should, however, be understood that the illustrated embodiments are merely examples for the purpose of understanding the invention, and should not be taken as limiting the scope of the invention.
Overall System Configuration
The CPU 1 functions as a data processing unit in association with the RAM 2 and the ROM 3, and conducts various musical data processing including arpeggio playing processing driven by a clock signal from a timer 13, and also functions as a sequencer (SQ) to conduct an automatic musical performance according to automatic performance data. The RAM 2 is used as work areas for temporarily store various data necessary for the processing. The ROM 3 stores beforehand various control programs including the arpeggio playing program and data prepared for automatic musical performances in order to execute the above-mentioned processing.
The external storage device 4 may include a built-in storage medium such as a hard disk (HD) and a flash memory (semiconductor memory) as well as various portable external storage media such as a compact disk read-only memory (CD-ROM), a flexible disk (FD), a magneto-optical (MO) disk, a digital versatile disk (DVD), a small-sized memory card like Smart Media (trademark) and so forth. Thus, the arpeggio playing apparatus can process various data including automatic performance data stored in any type of external storage device 4.
The play detection circuit 5 detects the user's real-time operations of a manual playing device 14 such as a keyboard (as to which key is depressed with what intensity or velocity and which key is released) and sends the corresponding manual performance data of the real-time operations (representing the key-on event including the note number and the key-on velocity and the key-off event including the note number) to the data processing unit, while the controls detection circuit 6 detects the user's operations of the setting controls 15 (on a control panel) such as key switches and sends the corresponding setting data to the data processing unit. Among the setting controls 15 are further included, for example, arpeggio parameter setting controls relating to arpeggio playing such as an arpeggio tempo, and arpeggio on/off command, a quantization value and a hold command for each of arpeggio playing parts.
The display circuit 7 is connected to a display device 16 such as an LCD for displaying various screen images and pictures and to various indicators (not shown), and controls the displayed contents and lighting conditions of these devices according to instructions from the CPU 1, and also presents GUIs for assisting the user in operating the various setting controls 15 and the manual playing device 14.
The tone generator circuit 8 and the effect circuit 9 constitute a musical tone signal generating unit SG (or simply called a tone generating unit) including a plurality of tone processing parts. The tone generator circuit 8, therefore, comprises a plurality of tone generators (#1-#4), each including a plurality of tone generation channels, and an arpeggio pattern memory. Each of the tone processing parts is arranged so that a desired tone color can be set, and is provided with a function of an arpeggiator. Each of the tone processing part produces tone signal data representing a tone waveform having a tone color as set for each tone processing part in response to performance data of the real-time manual performance or of the automatic performance derived from the play detection circuit 5 or from the memory 3 or the storage 4 via the sequencer SQ in the data processing unit and given to each tone processing part, and, where the function of the arpeggiator is rendered active, produces tone signal data for an arpeggio (a broken chord performance) according to an arpeggio pattern selected and read out from the arpeggio pattern memory. The tone generator in each tone processing part may be a physical independent dedicated tone generator or one of the logically divided portions of a physically single tone processing circuit. The effect circuit 9 includes an effect imparting DSP (digital signal processor) and imparts intended tone effects to the tone signal data of each tone processing part to produce musical tone signals for the plurality of tone processing parts. To the effect circuit 9 is connected a sound system 17, which includes a D/A converter, an amplifier and a loudspeaker, and emits audible musical sounds based on the effect imparted musical tone signals from the tone generating unit SG.
To the MIDI interface 10 is connected another MIDI apparatus MD so that MIDI musical performance data are received from another apparatus MD and are used in this arpeggio playing apparatus EM. For example, the tone generating unit SG can produce tone signals based on the performance data supplied from another apparatus MD. The communication interface 11 is connected to a communication network CN such as the Internet and a local area network (LAN) so that a control program and various data can be downloaded from an external server computer SV or the like, and can be stored in the external storage 4 for later use in this system.
General Operation of Arpeggio Playing
In the arpeggio playing apparatus according to an embodiment of the present invention, the musical tone signal generating unit (tone generating unit) SG comprises a plurality of tone signal processing parts, which may be referred to as “tone processing parts,” so that the plurality of tone processing parts can execute plural arpeggio performances in parallel where each of the tone processing parts include an arpeggiator.
The tone processing parts #1-#4 include tone generators #1-#4, respectively, each of which can separately set the tone color as well as the key range to receive performance data (note-on data and note-off data) from the manual playing device 14 such as a keyboard KB. In the example shown in
The tone processing parts #1-#4 include arpeggiator #1-#4, respectively, each of which has a function of automatically playing an arpeggio (broken chord) by producing tone signals to be sounded in succession along a selected arpeggio pattern based the performance data derived from the keyboard KB (manual playing device). In this context, the “tone processing part” can be termed as an “arpeggio processing part.” The musical tone signal generating unit (tone generating unit) SG includes an arpeggio pattern memory which stores various arpeggio patterns so that a desired arpeggio pattern can be selected from among the plurality of arpeggio patterns according to the user's selecting operation for each of the tone processing parts, whereby arpeggio patterns can be independently set for the respective tone processing parts and a plurality of arpeggios will be performed concurrently (in parallel) using the plurality of tone processing parts.
Each of the arpeggiators #1-#4 has a function of accentuating (enhancing or highlighting) the arpeggio performance, for which there are provided a regular arpeggio track and an accentuated arpeggio track for each of the arpeggio patterns, wherein a running arpeggio pattern will be changed over from the regular arpeggio pattern in the regular arpeggio track to the accentuated arpeggio pattern in the accentuated arpeggio track when the key-on velocity is equal to or greater than the predetermined threshold value, thereby enhancing the arpeggio playing.
An arpeggio pattern represents a pattern of notes sounding in succession in terms of rhythm and pitch with respect to the time progression, and has a length which is an integer multiple of the periods SQ and AQ (to be defined hereinafter) which respectively correspond to the span of a quantized synchronization grids and the span of a quantized accentuation grids (both to be described hereinafter). Shown exemplarily in
Typically, the pattern length on the regular tracks is between one measure and several measures, while the pattern length on the accentuated tracks is between one beat and one measure. The contents of the accentuated arpeggio patterns may preferably be of musically enhanced or highlighted ones than those of the regular arpeggio patterns, for example, larger in volume, greater in number of notes, more complicated in rhythm, and so forth.
While there are various parameters with respect to the arpeggiator, some typical parameters concerning the arpeggio playing processing are as follows.
(1) Parameters Common to All the Processing Parts
(2) Parameters for Each of the Processing Parts
An embodiment of the present invention is adapted to play a plurality of arpeggio performances in parallel using a plurality of arpeggio processing parts (i.e. tone processing parts), wherein when a new key-on event occurs in a key range associated with an arpeggio processing part to start an arpeggio playing in this arpeggio processing part, the arpeggio processing part will start, at a quantized synchronization grid (i.e. timing), the designated arpeggio playing in synchronism with another arpeggio playing, if any, which is already running in another arpeggio processing part. If the occurrence of a new key-on is within a predetermined delay margin (tolerable time range for delay) from the synchronization timing, the arpeggio playing will start immediately. In this context, a new key-on is defined as a first occurrence of a key depression under the condition that all the keys have been released in the key range assigned to the arpeggio processing part in question. Where the “hold” mode is set “on” for the arpeggio processing part in question, a first new key-on starts an arpeggio playing in this arpeggio processing part, and the arpeggio playing will be kept running until the hold mode for this processing part is canceled (or turned off) by the user manipulating the setting control 15 (
When another key-on occurs in another processing part, this processing part starts playing an arpeggio pattern. If the ARP Quantized Sync Value is not zero, this second processing part is to start the arpeggio pattern as quantized to the timing of the quantization grids which are marked along the time axis according to the quantized Sync Value. Suppose, for example, as shown in
More specifically, with reference to
On the other hand, if the key-on time tb in the processing part #3 occurs a bit later than the preceding quantized synchronization grid t5 and within the predetermined delay margin tau-a from the synchronization grid t5, the processing part #3 does not wait until the next coming synchronization grid t6 but immediately outputs all the note events existing in the head part (between t5 and tb) of the arpeggio pattern as if it had started at the synchronization grid t5 and keeps on playing the arpeggio pattern from the pattern position corresponding to the time tb and onward at the progression tempo. If the arpeggio performance should start at the next coming quantized synchronization grid t6 instead, the arpeggio performance would be different from the intention of the user (player), especially in the case of the quantization value of a long duration such as a quarter note duration.
The above-mentioned predetermined delay margin tau-a is not necessarily a 20 ms period but may be longer or shorter than 20 ms as long as it is shorter than the grid span SQ. The delay margin tau-a may be varied in accordance with the tempo.
In summary, the characteristic feature in starting arpeggio performances with the arpeggio playing apparatus of the above-described embodiment having a plurality of arpeggio processing parts #1-#4 resides in that while an arpeggio processing part (e.g. #1 in
Changeover between Regular and Accentuated Arpeggio Patterns
An arpeggio playing apparatus according to an embodiment of the present invention can play an accentuated arpeggio pattern when the key-on velocity (i.e. depression strength) is at or above (equal to or greater than) the predetermined threshold value, while it plays a regular pattern when the key-on velocity is below the threshold value. The changeover timing between the two kinds of patterns can be set to the quantized synchronization grids.
Where the Quantized ARP Accent Start is set “on” in an arpeggio processing part, when there comes a new key-on event A (with the key-on velocity below the threshold) from the associated key range at a time point t1, the processing part starts arpeggio playing in a regular arpeggio pattern (in a regular track) at the time point t1, which establishes quantized accentuation grids t1, t2, t3, and so forth having a period of the Quantized ARP Accent Value “AQ” which is set for the arpeggio pattern thereby defining a synchronization timing for the changeover to an accentuated arpeggio pattern and vice versa. If the ARP Hold Switch is set “on” in this arpeggio processing part, the arpeggio playing with the regular pattern is kept running even though there is an all-key-off event A at a time point tc.
Thereafter, for example, suppose further key-ons (these may be either a new key-on or an additional key-on) B and C occur at the time points td and tf with a key-on velocity (where there are plural key depressions at a time, the greatest velocity among them) at or above the predetermined threshold value “ARP Accent Vel Threshold.” The arpeggio pattern is changed over from the regular pattern to the accentuated pattern according to the Quantized Accentuation Grids t5 and t11, respectively. The reading position of the regular pattern keeps on progressing behind the accentuated pattern reading, as illustrated with dashed lines in
The changeover timing to the accentuated pattern is controlled in a similar manner as described above about the starts of new processing parts with reference to
In summary, the characteristic feature in changing arpeggio patterns with the arpeggio playing apparatus of the above-described embodiment resides in that each arpeggio pattern to be nominated or designated has a regular pattern version and an accentuated pattern version stored in the memory or storage, and that the regular version is read out and used for an automatic arpeggio performance (in a broken chord) when the velocity of the manipulated key or keys is under the predetermined velocity threshold (AccThreshold), while the accentuated version is read out and used for an automatic arpeggio performance when the velocity of the manipulated key or keys is at or above the predetermined velocity threshold so that strong key manipulations will present arpeggio performances in an enhanced or highlighted fashion. Further, a quantized arpeggio accentuation value which defines the synchronization timing for changing over the arpeggio patterns from the regular version to the accentuated version is prepared or set for each arpeggio pattern so that the time points of changing over the pattern versions are controlled to synchronize with the quantized timing grids (e.g. t5, t7, t11, t13 in
Processing Flows
An arpeggio playing apparatus according to the present invention realizes a versatile arpeggio performances by playing a plurality of arpeggio pattern progressions in parallel and changing over pattern versions between the regular one and the accentuated one according to the arpeggio playing computer program.
Key-on Processing
As the key-on processing of
On the other hand, when the step S2 judges that the key-on event is within the key range #N, i.e. the judgment is affirmative (YES), the step S3 in turn judges whether or not the arpeggio playing command is “on” for the processing part #N. If the arpeggio playing command is “off” at the processing part #N, the judgment at the step S3 is negative (NO) and the process flow moves to the step S4 to generate tones in the regular way, i.e. not in an automatic arpeggio manner, instructing the musical tone signal generating unit SG to generate a tone signal simply corresponding to the key-on event (i.e. individual key depression). Then, the process flow skips to the step S13, terminating the key-on processing for the processing part #N.
When the step S3 judges that the arpeggio playing command is “on” at the processing part #N, i.e. the judgment is affirmative (YES), the process flow goes forward to the step S5 to judge whether or not the velocity of the key-on is at or above the predetermined velocity threshold value, i.e. Key-On Vel>=AccThreshold. If the velocity is below the velocity threshold value, i.e. Key-On Vel<AccThreshold, the process flow moves to the step S6 which selects the regular version of the arpeggio pattern according to the number of depressed keys and/or the detected chord for the processing part #N. If the velocity is at or above the velocity threshold value, i.e. Key-On Vel>=AccThreshold, the judgment at the step S6 is affirmative (YES) and the process flow goes forward to the step S7 which selects the accentuated version of the arpeggio pattern according to the number of depressed keys and/or the detected chord for the processing part #N. After the pattern selection processing at the step S6 or S7, the processing flow goes to the step S8 (
The step S8 judges whether or not the key-on event is a new key-on for the processing part #N. If the judgment is affirmative (YES), the step S9 then judges whether or not the hold command is set “on” for the processing part #N. If the judgment is affirmative (YES), the process flow goes forward to the step S10 to judge whether or not the arpeggio playing has yet to start (i.e. not started yet) in the processing part #N.
When the step S9 judges that the hold command for the processing part #N is set “off” (NO), or when the step S10 judges that an arpeggio playing has not started yet in the processing part #N (YES), the process flow goes to the step S11 to conduct an arpeggio start processing, of which the detail is described in the subroutine flow chart of
Arpeggio Start Processing
In the arpeggio start processing shown in
On the other hand, when the quantized arpeggio synchronization value is set “on” with a specific value, the judgment in the step Al turns out negative (NO), and then a step A3 judges whether or not another processing part has already started arpeggio processing. If no other processing part has started an arpeggio playing yet, the judgment in the step A3 is negative (NO) and the process flow goes to the step A2. The step A2 immediately starts an arpeggio playing with the selected pattern at a prevailing or set progression tempo and activates the quantized synchronization grids according to the quantized synchronization value. Further, where the quantized accentuation grid command is set “on,” the quantized accentuation grids are also activated with the quantized accent value for the selected arpeggio pattern, before returning to the step S13 (
When the step A3 judges that another processing part has already started an arpeggio playing (YES), the process flow moves forward to a step A4 to judge whether or not the key-on event time point is within a predetermined delay margin tau-a (tolerable for starting) from a quantized synchronization grid. If the key-on event time point is within the predetermined delay margin tau-a from a quantized synchronization grid (YES), the process flow moves forward to a step A5, which instructs the musical tone signal generating unit SG to output all the events of the selected arpeggio pattern up to this time point and immediately start playing the arpeggio pattern remaining after this time point at the progression tempo. The process flow then returns to the step S13 (
On the other hand, when the step A4 judges that the key-on event time point is outside the predetermined delay margin tau-a (NO), the process flow goes to a step A6, which instructs the musical tone signal generating unit SG to prepare for starting the selected arpeggio pattern performance at the next coming quantized synchronization grid. The process flow then returns to the step S 13 (
Arpeggio Pattern Changeover Processing In the arpeggio pattern changeover processing shown in
Where the step S7 (
Where the quantized accentuation command is set “on,” the judgment by the step P3 is affirmative (YES) and the process flow moves forward to a step P5, which judges whether or not the key-on event time point is within a predetermined delay margin tau-b (tolerable for changing over the patterns) from a quantized accentuation grid. If the key-on event time point is within the predetermined delay margin tau-b from a quantized accentuation grid (YES), the process flow moves forward to a step P6, which instructs the musical tone signal generating unit SG to output all the events of the selected accentuated arpeggio pattern up to this time point and immediately start playing the accentuated arpeggio pattern remaining after this time point. The process flow then returns to the step S13 (
On the other hand, when the step P5 judges that the key-on event time point is outside the predetermined delay margin tau-b (NO), the process flow goes to a step P7, which instructs the musical tone signal generating unit SG to suspend starting and to prepare for starting the selected accentuated arpeggio pattern performance at the next coming quantized accentuation grid. The process flow then returns to the step S13 (
Now back to the key-on processing flow in
Key-Off Processing
When a key-off event occurs according to the key release in the keyboard KB, the key-off processing procedure as shown in
Where the arpeggio playing is not set “on,” the regular tone extinction is conducted with respect to the individual releases of the depressed keys.
Where all the keys in the associated key range are released (i.e. all-key-off event) under the non-hold mode (i.e. the hold command in this processing part is “off”), the arpeggio playing processing in this processing part is immediately stopped.
Where all the keys in the associated key range are released under the hold mode (i.e. the hold command in this processing part is “on”), the arpeggio playing processing will be kept on running.
Where not all the keys in the associated key range are released under either mode (i.e. whether the hold command is “on” or “off”), the arpeggio playing processing will be kept on running.
After the key-off processing for the processing part #N in the step R2, the process flow proceeds to a step R3, which judges whether or not the key-off processing for the processing part #N has been finished for all the processing parts up to the last part number. If the key-off processing has not been finished for up to the last part number, the step R3 judges negative (NO), and the process flow loops back to the step R2, after incrementing the part number by one, i.e. N=N+1, at a step R4, and repeats the processing of the step R2 until the last numbered processing part. When the key-off processing has been finished for all the processing parts, the step R3 judges affirmative (YES), and the process flow returns to the general main routine of the apparatus to stand by for a key-on event or a key-off event.
The notes (listed in the list of the depressed keys) to be used for playing a broken chord or for detecting a chord in each tone processing part will be determined in the following manner. Under the non-hold mode, every note listed in the list of the depressed keys is used individually. In other words, under the non-hold mode, whenever there is a key depression event, the note is added in the list of the depressed keys, and whenever there is a key release event, the note is deleted from the list of the depressed keys. Under the hold mode, on the other hand, when there is a key depression event, the list of the depressed keys will be renewed with the keys being depressed concurrently at this time, and even when there is a key release event, the note will not be deleted from the list of the depressed keys.
Other Processing
The arpeggio playing processing with an embodiment according to the present invention includes further processes as follows in addition to the above described processing, although not shown in the drawings.
(1) Time Administration
The time counter counts the clock pulse according to the tempo set for an automatic performance and defines timing for the rhythmic progression of an automatic musical performance. More specifically, the timing of the quantized grids are established, and a judgment is made as to whether or not the current time point is at a quantized grid or within the predetermined tolerance margin from a quantized grid.
(2) Playback of Arpeggio Pattern
A selected arpeggio pattern is read out successively in a designated tempo, and the assigned tone processing part generates tone signals of the notes determined by the key-on events for the tone processing part in a broken chord or determined by modifying the note numbers in the arpeggio pattern according to the detected chord based on the key-on events. As the velocity values for the tone generation, the velocity values included in the arpeggio pattern data file may be used, and also the velocity values detected at the key-on events may be used. As these data processing belong to the generally practiced arpeggio processing, detailed descriptions are omitted herein. In the case of the regular arpeggio pattern, when the processing comes to the end of an arpeggio pattern, the processing returns to the head of the pattern to repeat the playback. On the other hand, in the case of the accentuated arpeggio pattern, when the processing comes to the end of an arpeggio pattern, the processing changes over to the regular pattern.
(3) Stop of Arpeggio Pattern
A running arpeggio can be stopped by switching off the arpeggio on/off control (both under the hold mode whether any key is being depressed or not, and under the non-hold mode when any key is being depressed).
Time Length Adjustment of Arpeggio Pattern
In the above description about how the arpeggio patterns are started relative to each other, when a new key-on occurs within a predetermined delay margin (tolerable time range) tau-a from a quantized synchronization grid, an arpeggio pattern is immediately started with its head portion before the key-on time point cut off and with the remaining portion after the key-on time point running forward, and when a new key-on occurs outside the predetermined delay margin tau-a from a aquantized synchronization grid, the start of an arpeggio pattern is suspended until the next coming synchronization grid. Alternatively, the time length adjustment of the arpeggio pattern can be realized, by shortening or elongating the time length for playing the arpeggio pattern as will be described in (a) through (c) hereinbelow. While the following description will be made with respect to the synchronized starts of arpeggio patterns relative to each other, the similar ideas can be applied also to the quantized changeovers of arpeggio patterns between an accentuated version arpeggio pattern and a regular version arpeggio pattern.
(a) Whether or not a key-on event occurs within the predetermined time range tau-a from the synchronization grid, the pattern is to be shortened (compressed) anyway. To explain with reference to the flow chart of the arpeggio start processing shown in
The method shown in
(b) Whether or not a key-on event occurs within the predetermined time range tau-a from the synchronization grid, the pattern is to be elongated (expanded) anyway. To explain with reference to the flow chart of the arpeggio start processing shown in
The elongation (expansion) of an arpeggio pattern can be realized by immediately starting the arpeggio pattern upon receipt of a new key-on event, for example, at the time point ti as shown in
More specifically, the method shown in
(c) The pattern is to be shortened, when the key-on event occurs within a predetermined delay margin from a synchronization grid, and the pattern is to be elongated, when the key-on event occurs outside a predetermined delay margin from a synchronization grid. Although not shown in a figure, the operation can be explained using the flow chart of
Arrangement and Operation of Tone Processing Parts (Ex. 2)
An arpeggio playing apparatus according to the present invention may also include an automatic musical performance device, in which while an automatic musical performance is running, arpeggios can be started in synchronism with the rhythmic timing of the running automatic performance by shortening or elongating the first span of an arpeggio pattern.
The tone signal generating unit SG comprises sixteen tone processing parts #1-#16 and four arpeggiators, where each of the arpeggiators can be arbitrarily set for any of the tone processing parts. For example, as shown in
In this connection, where the performance data providing channels include automatic performance data providing channels (sequencer tracks), the arpeggio performances are conducted in synchronization with the progression timing of the sequencer SQ. Namely, where the quantized synchronization or the quantized accentuation is set for the arpeggio playing, the quantized grids for the arpeggio playing are established in synchronism with the quantized grids of the progression timing of the running sequencer SQ. Typically, where an automatic performance is first started by the sequencer SQ and an arpeggio playing is thereafter started by the tone processing part having an arpeggiator, the arpeggio performance is conducted in synchronism with the progression timing of the automatic performance by the sequencer SQ. Where an arpeggio playing is first started and an automatic performance by the sequencer SQ is thereafter started while the arpeggio playing is running, the synchronization timing is defined by the earlier started arpeggio playing until the sequencer SQ is started, and after the sequencer SQ is started and is running, the synchronization timing is defined by the progression of the sequencer SQ.
More specifically, the operation will be as follows, if explained with reference to
For example, when the processing part #1 of the second embodiment is to start arpeggio playing in response to the manual performance on the keyboard KB, the step A3 of
Now referring to
Alternatively, as explained in paragraph (a) above, the step A7 can be provided in place of the steps A4-A6 of
While several preferred embodiments have been described and illustrated in detail herein above with reference to the drawings, it should be understood that the illustrated embodiments are just for preferable examples and that the present invention can be practiced with various modifications without departing from the spirit of the present invention. For example, the number of tone processing parts is not limited to the numbers in the embodiments. It should also be understood that the basic arrangement for playing automatic arpeggios, i.e. the procedure to perform broken chords based on the inputted manual performance data from the keyboard can be readily can be practiced by employing the arrangement of various conventionally known arpeggio playing apparatuses.
Number | Date | Country | Kind |
---|---|---|---|
2006-256534 | Sep 2006 | JP | national |
Number | Name | Date | Kind |
---|---|---|---|
6051771 | Iizuka | Apr 2000 | A |
7091410 | Ito et al. | Aug 2006 | B2 |
Number | Date | Country |
---|---|---|
11-126074 | May 1999 | JP |
Number | Date | Country | |
---|---|---|---|
20080072744 A1 | Mar 2008 | US |