Abstract:
A provisional key is determined on the basis of a relatively small amount of performance information (for instance, information on one chord), while a definite key is determined on the basis of a relatively large amount of performance information (for instance, information on progression of plural chords). If a definite key has been determined, an automatic accompaniment tone is controlled on the basis of the determined definite key, but, if no definite key has been determined, an automatic accompaniment tone is controlled on the basis of the provisional key. The definite key based control is performed in a different manner from the provisional key based control. The definite key based control can achieve control of higher musical quality (for instance, tension notes can be used in a daring manner), but such a daring control is refrained in the provisional key based control.

Description:
BACKGROUND OF THE INVENTION 
     This invention relates to an automatic accompaniment device which performs an automatic accompaniment on the basis of automatic detection of a key (musical key) of a music piece being played. 
     Among various types of conventional automatic accompaniment devices, there is known a type which, using accompaniment patterns provided in correspondence to performance rhythm, generates automatic accompaniment tones corresponding to actually performed chords and which also automatically determines each key by detecting the performed chords so as to further control the pitch of the accompaniment patterns on the basis of the determined key (e.g., U.S. Pat. No. 5,058,401). 
     However, the key determining function in the prior art devices merely determines keys in accordance with the same standard in a uniform manner for both very distinguishing chord progressions (such as a dominant motion) and rather unlikely chord progressions. If the standard is made strict, this uniform determination will involve so many sections whose key or keys are not properly detected that it is altogether impossible to control the automatic accompaniment. Thus, for allowing the automatic accompaniment to be controlled, it is necessary to make the standard loose enough to permit key detection. If, however, such a loose standard is applied, even an ambiguous key tends to be forcedly determined as a specific key. But, if the determined key is not certain or definite, daring (high-tension) accompaniment tones can not be used, and so, rather safe or undaring accompaniment patterns made up of only chord component notes such as arpeggio are used from beginning to end, which will undesirably render the automatic accompaniment extremely monotonous. 
     SUMMARY OF THE INVENTION 
     It is therefore an object of the present invention to provide an automatic accompaniment device which is capable of performing an automatic accompaniment using daring tension notes without causing any substantial musical failure or inconvenience. 
     To achieve the above-mentioned object, an automatic accompaniment device according to the present invention comprises an input section for inputting performance information, a provisional key determination section for determining a provisional key on the basis of a first amount of information from among the performance information input by the input section, a definite key determination section for finally determining a definite key on the basis of a second amount of information from among the input performance information, the second amount of information being larger than the first amount of information, and an automatic accompaniment tone control section for, if a definite key has been determined by the definite key determination section, applying a first control to an automatic accompaniment tone based on the definite key, but, if no definite key has been determined, applying a second control to an automatic accompaniment tone based on the provisional key determined by the provisional key determination section, the first control to the automatic accompaniment tone based on the definite key being performed in a different manner from the second control based on the provisional key. 
     The definite key is determined on the basis of a larger amount of the performance information and therefore will have a higher determination accuracy. On the other hand, the provisional key is determined on the basis of a smaller amount of the performance information and therefore is so easy to determine that there will be caused no such an undesirable case where no key determination can be made at all. Thus, if a definite key has been determined, an automatic accompaniment tone is controlled on the basis of the determined definite key, while, if no definite key has been determined, an automatic accompaniment tone is controlled on the basis of the provisional key. Because of such arrangements, musical accuracy can be ensured by the definite key based control, and uncontrollable conditions can be prevented by the provisional key based control. Therefore, by controlling the automatic accompaniment tone in different manners depending on which one of the definite key and provisional key is used, very efficient control can be achieved. Namely, control of higher musical quality can be achieved by the definite key based control of the automatic accompaniment tone (for instance, tension notes can be used in a daring manner), while such a daring control is not refrained in the provisional key based control of the automatic accompaniment tone. Thus, improved musical quality in an automatic accompaniment can be effectively achieved. 
     Now, with reference to the accompanying drawings, the preferred embodiment of the present invention will be described in detail. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a block diagram illustrating the hardware structure of an electronic musical instrument according to an embodiment of the present invention; 
     FIG. 2 is a diagram illustrating an example of a key determining table used in the embodiment; 
     FIG. 3 is a diagram illustrating an example of a pattern converting table used in the embodiment; 
     FIG. 4 is a diagram illustrating another example of the pattern converting table used in the embodiment; 
     FIG. 5 is a flowchart illustrating an example of an main routine of computer processing programs employed in the embodiment; 
     FIG. 6 is a flowchart illustrating an example of a chord detection/key determination processing subroutine of FIG. 5; and 
     FIG. 7 is a flowchart illustrating an example of timer interrupt processing. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
     FIG. 1 is a block diagram illustrating the hardware structure of an electronic musical instrument according to an embodiment of the present invention. This electronic musical instrument is played by operating a keyboard 17 and has such an automatic accompaniment function that permits accompaniment notes to be automatically generated by detecting, from the performance operation of the keyboard 17, each chord and key (musical key) of a specific music piece being played. 
     The entire operation of the electronic musical instrument is controlled by a CPU 10. To this CPU 10 are connected, via a bus 11, a program memory 12, a source pattern memory 13, a key determining table 14, a pattern converting table 15, a working memory 16, the keyboard 17, switch groups 18 and a tone generator 20. 
     In the program memory 12, there are stored various programs for controlling the operation of the electronic musical instrument. The source pattern memory 13 stores therein basic patterns of automatic accompaniment. It is assumed here that each of the basic patterns in the pattern memory 13 is a C-major accompaniment pattern and stored, for each rhythm type, so as to be able to cover one or more measures. Further, the basic pattern is an accompaniment pattern having daring (high-tension) characteristics by employing many nonharmonic notes. 
     As shown in FIG. 2, the key determining table 14 stores therein various rules or principles that are applied to determine a key at a given section of a music piece on the basis of a detected chord progression. More specifically, the key determining table 14 comprises first to third tables MODE1-MODE3. As will be later described in detail, the first table MODE1 stores rules that are applied for determining a provisional key, the second table MODE2 stores rules that are applied for finally determining a definite key, and the third table MODE3 stores rules that are applied for judging whether or not the finally-determined definite key can be maintained. 
     The pattern converting table 15 is a memory which stores therein pitch (i.e., tone pitch) shift amounts for each accompaniment pattern read out from the source pattern memory 13. The pattern converting table 15 comprises separate pattern converting tables for provisional and definite keys, and these two separate tables are provided for each of various chord types (major, minor, 7th and minor 7th chords). 
     FIG. 2 illustrates in detail the musical key determining table and a key determining process based on given programs that are executed in accordance with flowcharts shown in FIGS. 5 to 7, which will be later described in detail. 
     As mentioned above, the key determining table 14 comprises three-level tables MODE1, MODE2 and MODE3 which are employed in such a manner that three level determinations are sequentially made from higher level to lower level. i.e., in such a manner that, if predetermined determination conditions are satisfied in a specific determination level table, reference is then made to a next (lower level) table. The first table MODE1 stores rules for temporarily determining a provisional key at such a stage when a key of the music piece is indefinite. If a preceding key has been already made definite or confirmed and a currently performed chord is a diatonic chord (DC) of the definite key, that definite key is maintained (determination level 1-1). If determination level 1-1 is not satisfied and a major chord is detected as a currently performed chord, a key having the root of the detected chord as its tonic is provisionally determined (determination level 1-2). Similarly, if a minor chord is detected as the currently performed chord, then a minor key having the root of the detected chord as its tonic is provisionally determined (determination level 1-3). However, since the key determining process in this embodiment is performed only on the basis of the types of major scale component notes, minor keys are not identified but just handled as if they were major keys having corresponding component notes. Thus, if any minor chord is detected, a note which is minor 3rd (three semitones) higher than the root of the detected chord is provisionally determined as its tonic. If dominant 7th chord is detected, this chord is considered as a dominant chord and thus a note which is perfect 5th (five semitones) higher than its root is provisionally determined as its tonic (determination level 1-4). In addition to the above-mentioned, the first table MODE1 stores various other rules, which are denoted simply as &#34;others&#34; in the figure, for provisionally determining a key on the basis of only one chord. 
     The second table MODE2 stores rules for finally determining a definite key on the basis of a chord progression in such a state where a provisional key has already been determined. If, for instance, chord I (tonic chord of the provisional key), chord V 7  (dominant 7th chord of the provisional key) and a diatonic, chord (DC) of the provisional key are detected in the order of mentioning, it is apparent that the determined provisional key is correct, and thus a definite key is determined as &#34;I&#34; (which is a major key having the root of chord I as its tonic). Also, if a chord progression is detected in the order of VI m  →III 7  →DC, provisional key I is determined as a definite key. However, in effect, this represents a minor key having the root of VI as its tonic. Also, if a chord progression of V 7  →DC is detected, provisional key I is determined as a definite key. Further, in the case of a chord progression of IV m  →V 7  →I m  is detected, minor 3rd note of the provisional key IIIb is determined as the tonic of the definite key; that is, a minor key having as its tonic the minor 3rd note of provisional key I is determined as a definite key. In addition to the above-mentioned, progression rules are established for obtaining definite keys and there rules are also stored in the second table MODE2, for both cases where a following chord is diatonic chord and is a chord having relatively high relativity with respect to provisional key I. Also in referring to this second table MODE2, sequential determinations are made in the order of determination levels 2-1, 2-2, 2-3 . . . 2-n, until any higher-level determination conditions are satisfied. 
     If the following chord has low relativity to provisional key I, the provisional key is judged to be incorrect, so that reference is made back to the first table MODE1 and then determination level 2-n is performed. II, V m7  etc. are among those chords having high relativity, while I#, IV# etc. are among those chords having low relativity. &#34;0&#34; in the &#34;CHORD PROGRESSION&#34; column of the second table MODE2 represents a chord detected when the first table MODE1 has been referred to, &#34;1&#34; represents a next chord, and &#34;2&#34; represent a further next chord. 
     The third table MODE3 stores therein rules that are applied for judging whether the definite key determined in the above-mentioned manner can be maintained or not. Unless any peculiar chord or chord progression is detected, the definite key is maintained (determination level 3-1). Here, the peculiar chord progression signifies a dominant motion to another key. Namely, if a chord progression of IV m  →V 7  →I m  is detected, this represent a modular ion to a minor key having the same tonic, and thus, in this case, key having the minor 3rd note IIIb of the definite key is determined as a new definite key (determination level 3-1). 
     If any other chord than the diatonic chords which does not fall within the category of a dominant motion to another key, it is considered that the key has become indefinite, and then reference is made back to the first table MODE1 (determination level 3-2). In such a case, however, if a next chord detected during reference to the table MODE1 is one of the diatonic chords of the key (determination level 1-1), reference is made directly back to this third table MODE3 without referring to the second table MODE2, so as to maintain the key that has been so far determined as a definite key. If the next chord is not any of the diatonic chords, a key having this next chord as its tonic is provisionally determined (determination levels 1-2 to 1-5), and then reference is made to the second table MODE2. 
     FIGS. 3 and 4 both illustrate an example of stored data in the pattern converting table 15. This table comprises a matrix whose vertical axis represents interval (number of semitones) between tonic TN of key and root ROOT of chord and whose horizontal axis represents pitch NT of read-out accompaniment pattern, and this table stores therein pitch shift amount for the accompaniment pattern. 
     What is shown in FIG. 3 is a pattern converting table for 7th chord of a provisional key. If a seventh is detected during a period when a provisional key chord is determined, each note of a read-out automatic accompaniment pattern is shifted in accordance with this table. In this table, there are stored pitch shift amounts for returning each pattern that is diverted from the chord component notes to the chord component notes as closely as possible. For example, if a note based on the accompaniment pattern is 2nd note or 2 degrees from the root (2), it is lowered by a whole tone (-2) to be changed into the root. Further, if an accompaniment pattern note is 4th note (5), it lowered by a semitone (-1) to be changed into 3rd note. Furthermore, if an accompaniment pattern note is 6th note (9), it is raised by a semitone (+1) to be changed into minor 7th note. In this way, in the case of a provisional key which has rather poor reliability, accompaniment patterns are changed so as to generate as undaring tones as possible: that is, high-tension accompaniment pattern note such as 2nd note,  4th note, 6th note or the like is changed into undaring note such as root, 3rd note, minor 7th note or the like. Such a pattern converting table for provisional key is provided for each of the chord types such as major, minor and minor 7th chords. &#34;+0&#34; in the figure signifies such note requiring no conversion, or such note which is not affected in its numerical value no matter what happens because of the fact that the source pattern itself has been made so as not to have that note. For instance, &#34;+0&#34; for minor 7th note (10 semitones) in the above-mentioned example signifies that no conversion is required, and &#34;+0&#34; for minor 2nd note (one semitone) signifies that note is not present in the source pattern. Detailed description on this matter will not be given here because it may vary from one musical genre to another. 
     Further, as previously mentioned, in the case of chords having low relativity, the key is immediately changed, by reference to the first table MODE1, into a key having the chord as its tonic, and therefore there may be some chords which are not referred to. But, here in this table, all chords are listed for ease of understanding. To be more specific, such chords G#7, D#7, F#7, G#7 are not referred to because of their low relativity. 
     FIG. 4 illustrates an example of a pattern converting table for 7th chord of definite key. According to this pattern converting table, each read-out pattern is not rearranged into chord component note. But, every high-tension accompaniment pattern is sounded with no substantial change, and only those pitches which are not suitable for the key are shifted. This pattern converting table for definite key is also provided for each of various chords such as 7th, major and minor 7th chords. 
     If any other chord is designated during reference to the first table MODE1, reference to the table MODE1 is continued and a table used for conversion at such a time converts accompaniment pattern so as to employ chord component notes in a similar manner to the prior art. Thus, such a table is not shown. 
     FIGS. 5 to 7 illustrate flowcharts of various programs which are carried out by the CPU 10 of FIG. 1. FIG. 5 illustrates a main routine, in which an initialization process is first executed (step S1) in response to switch-on of the power supply. After that, it is detected if a start/stop switch has been operated to start/stop an automatic accompaniment (step S2). If the start/stop switch has been turned on, RUN flag is inverted (step S3). If the RUN flag has become &#34;1&#34; (RUN=1) as a result of the inversion, an automatic accompaniment is caused to start. 
     Then, register MODE instructing which of the three tables MODE1 to MODE3 in the key determining table 14 should be referred to is set to an initial value of &#34;1&#34; to designate the first table MODE1, and register PROG for managing chord progressions is cleared (step S5). If, on the other hand, the RUN flag has become &#34;0&#34; as a result of the inversion, an accompaniment tone having been generated up to that moment is extinguished (step S6). 
     Subsequently, it is examined whether or not there is any key event (key-on or key-off event) (step S7). If there is any key event, it is further examined if the key event concerns accompaniment keys which are, for example, within one octave&#39;s accompaniment key range provided on the lower tone side of the keyboard. A desired chord is designated by a combination of depressed keys within this accompaniment key range. If the key event concerns any key in the higher tone side of the keyboard, this means a key event for a melody tone, and thus sounding or extinguishing process for the melody tone is carried out depending on the key-on or key-off event (step S9). If, on the other hand, it is an accompaniment key event, chord detection/key determination processing is carried out on the basis of a combination of the depressed keys (step S10). After that, other processing is carried out. 
     FIG. 6 is a flowchart showing an example of the chord detection/key determination processing of step S10. First, a chord is detected (step S11). The chord detection may be carried out by searching through a conventionally-known chord component note table to thereby determine a specific chord. If no chord has been detected, the program returns to the main routine without executing further processes (step S12). If any chord has been detected, the root of the detected chord is set into root register ROOT, and the type of the chord is set into register TYPE (step S13). Then, by using the chord root and type stored in the respective registers ROOT and TYPE as well as a current definite key or provisional key, the key determining table 14 is searched to determine a key (step S14). After this key determining process, the registers MODE and PROG are renewed on the basis of the determination level (step S15), and then the program returns to the main routine. The key determining process of step S14 and renewal process for the register MODE of step 15 have already been described in connection with FIG. 12. Unless the value of the register MODE changes, the stored content in the register PROG changes like &#34;1&#34;, &#34;2&#34; . . . each time chord changes. But, if the value of the register MODE has changed, the register PROG is reset to &#34;0&#34;. 
     FIG. 7 is a flowchart showing timer interrupt processing which is executed in response to interruption by the timer 19 at each 8th-note timing. First, it is examined if the RUN flag is &#34;1&#34; (RUN=1) (step S20). Only when RUN=1, it is indicated that an automatic accompaniment is being performed. Therefore, if RUN=0, the program returns to the main routine. If RUN=1, a source pattern is read out which corresponds to the tempo clock timing (and the type of rhythm) detected at that moment (step S21). After that, one of the pattern converting tables is selected depending on the type of the detected chord and on whether the key having been determined at that moment is a provisional key or a definite key. Namely, if the key is a provisional key, one table which corresponds to the current chord type is selected from among a group of the pattern converting tables. 
     As previously described in connection with FIGS. 3 and 4, the corresponding vertical axis is determined from the difference between the tonic TN of the key and the chord root ROOT and the corresponding axis is determined from the read-out accompaniment pattern note, to thereby obtain a pitch conversion amount for converting the accompaniment pattern note (step S24). Next, on the basis of the ROOT and TYPE, pitch shift operations are executed on the accompaniment pattern note (step S25). Thus-obtained pitch data on the accompaniment note is output to a tone generator (step S26). In this way, it is possible to form accompaniment patterns corresponding to the varying key determination levels. 
     Although, in the above-described embodiment, provisional and definite keys are determined on the basis of detected chord progression alone, the key determination may be made on the basis of a combination of the chord progression and melody information. For example, the provisional key determination may be made only on the basis of the chord information, and the definite key determination may be made on the basis of the chord and melody information. 
     According to the present invention as described above, because of the arrangements that accompaniment pattern is determined depending on the level of key determination, safe or undaring accompaniment pattern can be used when key has not yet been determined, and daring accompaniment pattern can be used when key has been determined.