The present invention relates to an assistive apparatus, method, and computer program for playing music, and more particularly to an apparatus, a method and computer program for playing proper music based on rough manipulations by the player, in which a note conversion system provides a chord progression pattern and the player may manipulate the music playing input device even in a rough manner, for example, by depressing potentially incorrect (unacceptable) keys intending a melody, chords or a bass performance, and then the note conversion system converts the inputted incorrect note data to correct (acceptable) note data for the respective currently running chords to generate correct melody notes, chord constituent notes or bass performance notes in view of the chord progression. The apparatus, the method and the computer program are also capable of controlling the tone generation to prevent the note conversion from generating overlapped notes with respect to other concurrently generated notes, converting to notes other than essential chord constituent notes, or converting to notes which will fit not only the currently running chord, but also the prevailing tone color (instrument voice).
There have been known in the art such assistive music playing apparatuses that convert roughly played music input signals to proper music playing signals in view of music theory or grammar, so that even a player having poor musical skill and knowledge can enjoy playing music without giving precise care to music theory and grammar. (For example, see unexamined Japanese patent publication No. 1993-27757.)
With a conventional assistive music playing apparatus, however, the inputted music playing signals (i.e. played notes) are uniformly converted to the chord constituent notes or to the scale notes of the designated tonality (key), and may not necessarily make the most of the player's feeling.
Another type of assistive music playing apparatus has been introduced in the art, which apparatus plays back some accompaniment or some music data along with a chord progression and permits the player to play music over such an accompaniment by manipulating the music playing controls such as keys on a keyboard. (For example, see unexamined Japanese patent publication No. 1993-188956.) With such an apparatus, the user may manipulate a key or keys causing generation of a note or notes which may not go well with the concurrently generated accompaniment tones.
A further conceivable method is a method in which the notes played by the user are converted under a prescribed rule to the constituent notes of previously set chords, which method may bring forth a situation where a converted note coincides with another note which is already being generated concurrently. If such coincident notes are generated without care, there may arise a phenomenon of “flanging” (a phenomenon caused by interference of two waveforms, when the pitches, the phases and timbre are very close to each other) resulting in tones quite different from the source or original tones. Further, in the very low frequency range, even though the pitches of two tones are not the same or very close, but if the pitches of two tones are close to some extent, simultaneous sounding of two tones will cause unclear mumbling, thus deteriorating the naturalness of sounds in the acoustic field.
Where the above-mentioned conversion method is employed to convert the user-played notes to the notes which agree with the chord constituent notes under a predetermined rule, no notes other than the chord constituent notes would be generated, even though the user might depress the keys in a manner which would typically cause the generation of notes other than the chord constituent notes, for example by intentionally depressing close black keys or ten keys simultaneously. Such a situation will not be a nuisance from an ordinary point of view in music performance, but will be monotonous and non-surprising with only chord tones to realize a stable music performance.
Further, the above-mentioned conversion method will not cause different conversions for different timbres (voices), or cause conversion to unexpected note pitches which should not be generated normally, or cause conversion to more notes than the number of simultaneously available notes, depending on timbres (voices).
It is, therefore, a first object of the present invention to provide an assistive music playing apparatus, method and computer program with which the player does not need to pay precise attention in playing (inputting) correct notes but to engage himself/herself in playing music rhythmically and emotionally according to his/her general feeling, thereby to present an acceptable music performance. For this purpose, the apparatus, method and computer program provide chord progression for the player to play music over the chord progression, and convert the potentially unacceptable (incorrect) notes to acceptable (correct) notes with reference to the chord at the time of the note input.
A second object of the present invention is to provide an input note conversion system in which the inputted notes according to the user's playing are converted to the notes which will fit the chord at the time of the note input, and in which the note conversion is controlled so that a plurality of converted notes for simultaneous generation shall not be the same or very close notes depending on the note sub-ranges or on the playing conditions, thereby keeping natural acoustic feeling.
A third object of the present invention is to provide an input note conversion system in which the inputted notes according to the user's playing are converted to the notes which will fit the chord at the time of the note input, and in which the note conversion is controlled so that the converted note may not be limited to basic notes in view of the chord but may be non-basic notes, thereby imparting reality in the performance and pleasing the player in playing with full of variety.
A fourth object of the present invention is to provide an input note conversion system in which the inputted notes according to the user's playing are converted to the notes which will fit the chord at the time of the note input, and in which the note conversion is controlled so that a realistic performance with peculiar features on an actual instrument (voice) will be presented without the user paying particular attention.
According to an aspect of the present invention, the first object is accomplished by providing an assistive music playing apparatus comprising: a chord progression pattern providing device which provides a chord progression pattern representing a series of chords; a note input device which inputs notes constituting music playing along with the chord progression, the inputted notes potentially including unacceptable notes to be subjected to note correction; and a note conversion device which converts the inputted notes, with reference to a current chord in the chord progression at the time of the inputted notes, to converted notes according to conversion characteristics which are differently predetermined for different note sub-ranges as divided in view of note pitches.
According to another aspect of the present invention, the first object is accomplished by providing an assistive music playing apparatus comprising: a chord progression pattern providing device which provides a chord progression pattern representing a series of chords; a note input device which inputs notes constituting music playing along with the chord progression, the inputted notes potentially including unacceptable notes to be subjected to note correction; a note conversion device which converts the inputted notes to first converted notes with reference to a current chord in the chord progression at the time of the inputted notes; and a note reconversion device which reconverts, when a plurality of the first converted notes become the same notes, one of the same notes to another note.
According to a further aspect of the present invention, the first object is accomplished by providing an assistive music playing apparatus comprising: a chord progression pattern providing device which provides a chord progression pattern representing a series of chords; a note input device which inputs notes constituting music playing along with the chord progression, the inputted notes potentially including unacceptable notes to be subjected to note correction; a note conversion device which converts the inputted notes to converted notes with reference to a current chord in the chord progression at the time of the inputted notes according to the number of substantially simultaneously inputted notes, a note distance between the highest note and the lowest note in the substantially simultaneously inputted notes, and the note degree of the highest note from the root of the current chord in the chord progression.
According to a still further aspect of the present invention, the second object is accomplished by providing an input note converting apparatus comprising: a chord information acquiring device which acquires chord information from a chord information providing device; an input note information acquiring device which acquires input note information indicating inputted notes from a musical note input device; a note conversion table which contains note employment factors for indicating a number of notes to be employed for note conversion according to the number of substantially simultaneously inputted notes with respect to respective chord types; a note conversion device which converts notes represented by the input note information to notes which fit the chord type represented by the chord information using the note conversion table; and a note conversion control device which controls the note conversion device so that the converted note shall not overlap with another note which is currently being generated; and further by providing a computer program for executing input note conversion processing in a musical note information processing apparatus which includes a note conversion table containing note employment factors for indicating a number of notes to be employed for note conversion according to the number of substantially simultaneously inputted notes with respect to respective chord types, the input note conversion processing comprising: a procedure of acquiring chord information from a chord information providing device; a procedure of acquiring input note information indicating inputted notes from a musical note input device; a procedure of converting notes represented by the input note information to notes which fit the chord type represented by the chord information using the note conversion table; and a procedure of controlling the note conversion device so that the converted note shall not overlap with another note which is currently being generated.
According to a still further aspect of the present invention, the second object is accomplished by providing an input note converting apparatus comprising: a chord information acquiring device which acquires chord information from a chord information providing device; an input note information acquiring device which acquires input note information indicating inputted notes from a musical note input device; a note conversion device which converts notes represented by the input note information to notes which fit the chord type represented by the chord information; and a note conversion control device which takes the converted note as an output candidate, detects music playing conditions from the input note information, and controls the note conversion device in different manner depending on the detected playing condition so that the converted note shall not overlap with another note which is currently being generated; and further by providing a computer program for executing input note conversion processing in a musical note information processing apparatus, the input note conversion processing comprising: a procedure of acquiring chord information from a chord information providing device; a procedure of acquiring input note information indicating inputted notes from a musical note input device; a procedure of converting notes represented by the input note information to notes which fit the chord type represented by the chord information; and a procedure of taking the converted note as an output candidate, detecting music playing conditions from the input note information, and controlling the note conversion device in different manner depending on the detected playing condition so that the converted note shall not overlap with another note which is currently being generated.
According to a still further aspect of the present invention, the second object is accomplished by providing an input note converting apparatus comprising: a chord information acquiring device which acquires chord information from a chord information providing device; an input note information acquiring device which acquires input note information indicating inputted notes from a musical note input device; a note conversion device which converts notes represented by the input note information to notes which fit the chord type represented by the chord information; and a note conversion control device which compares the note pitches of the note which is currently subjected to note conversion and the preceding input note as to which is higher when there is another note being generated, and controls the note conversion device according to the comparison result so that the converted note shall not overlap with another note which is currently being generated; and further by providing a computer program for executing input note conversion processing in a musical note information processing apparatus, the input note conversion processing comprising: a procedure of acquiring chord information from a chord information providing device; a procedure of acquiring input note information indicating inputted notes from a musical note input device; a procedure of converting notes represented by the input note information to notes which fit the chord type represented by the chord information; and a procedure of comparing the note pitches of the note which is currently subjected to note conversion and the preceding input note as to which is higher when there is another note being generated, and controlling the procedure of converting according to the comparison result so that the converted note shall not overlap with another note which is currently being generated.
According to a still further aspect of the present invention, the third object is accomplished by providing an input note converting apparatus comprising: a chord information acquiring device which acquires chord information from a chord information providing device; an input note information acquiring device which acquires input note information indicating inputted notes from a musical note input device; an input condition discriminating device which discriminates note input conditions from the input note information; a note conversion device which converts notes represented by the input note information to notes which fit the chord type represented by the chord information; and a note conversion control device which controls the note conversion device according to the note input condition as discriminated by the input condition discriminating device so that the converted note shall be a basic note or a non-basic note according to the chord information; and further by providing a computer program for executing input note conversion processing in a musical note information processing apparatus, the input note conversion processing comprising: a procedure of acquiring chord information from a chord information providing device; a procedure of acquiring input note information indicating inputted notes from a musical note input device; a procedure of discriminating note input conditions from the input note information; a procedure of converting notes represented by the input note information to notes which fit the chord type represented by the chord information; and a procedure of controlling the procedure of converting according to the note input condition as discriminated by the procedure of discriminating so that the converted note shall be a basic note or a non-basic note according to the chord information.
According to a still further aspect of the present invention, the third object is accomplished by providing an input note converting apparatus comprising: a chord information acquiring device which acquires chord information representing chord types from a chord information providing device; an input note information acquiring device which acquires input note information indicating inputted notes from a musical note input device; an input condition discriminating device which discriminates note input conditions from the input note information; a note conversion table containing note employment factors which decide available converted notes corresponding to the respective chord types, and including a first sub-table and a second sub-table, the first sub-table containing the note employment factors for converting input notes to basic notes in view of the chord type, and the second sub-table containing the note employment factors for converting input notes also to non-basic notes in view of the chord type; and a table deciding device which decides which of the first and the second sub-table to use for the respective input notes according to the note input conditions of the input note information as discriminated by the input condition discriminating device; and further by providing a computer program for executing input note conversion processing in a musical note information processing apparatus which includes a note conversion table containing note employment factors which decide available converted notes corresponding to the respective chord types, and including a first sub-table and a second sub-table, the first sub-table containing the note employment factors for converting input notes to basic notes in view of the chord type, and the second sub-table containing the note employment factors for converting input notes also to non-basic notes in view of the chord type, the input note conversion processing comprising: a procedure of acquiring chord information representing chord types from a chord information providing device; a procedure of acquiring input note information indicating inputted notes from a musical note input device; a procedure of discriminating note input conditions from the input note information; and a procedure of deciding which of the first and the second sub-table to use for the respective input notes according to the note input conditions of the input note information as discriminated by the procedure of discriminating.
According to a still further aspect of the present invention, the fourth object is accomplished by providing an input note converting apparatus comprising: a chord information acquiring device which acquires chord information representing chord types from a chord information providing device; an input note information acquiring device which acquires input note information indicating inputted notes from a musical note input device; a voice information acquiring device which acquires voice information from a voice information providing device; a plurality of note conversion tables containing note employment factors which decide available converted notes corresponding to the respective chord types; and a note conversion device which converts notes represented by the input note information to notes which fit the chord type represented by the chord information using the note conversion table which is selected from among the plurality of note conversion tables according to the voice information; and further by providing a computer program for executing input note conversion processing in a musical note information processing apparatus which includes a plurality of note conversion tables containing note employment factors which decide available converted notes corresponding to the respective chord types, the input note conversion processing comprising: a procedure of acquiring chord information representing chord types from a chord information providing device; a procedure of acquiring input note information indicating inputted notes from a musical note input device; a procedure of acquiring voice information from a voice information providing device; and a procedure of converting notes represented by the input note information to notes which fit the chord type represented by the chord information using the note conversion table which is selected from among the plurality of note conversion tables according to the voice information.
According to a still further aspect of the present invention, the fourth object is accomplished by providing an input note converting apparatus comprising: a chord information acquiring device which acquires chord information from a chord information providing device; an input note information acquiring device which acquires input note information indicating inputted notes from a musical note input device; a voice information acquiring device which acquires voice information from a voice information providing device; a voice condition storing device which stores note conversion conditions corresponding to the respective voices; and a note conversion device which converts notes represented by the input note information to notes which fit the chord information based on the note conversion conditions corresponding to the voice as designated by the voice information; and further by providing a computer program for executing input note conversion processing in a musical note information processing apparatus which includes a voice condition storing device which stores note conversion conditions corresponding to the respective voices, the input note conversion processing comprising: a procedure of acquiring chord information from a chord information providing device; a procedure of acquiring input note information indicating inputted notes from a musical note input device; a procedure of acquiring voice information from a voice information providing device; and a procedure of converting notes represented by the input note information to notes which fit the chord information based on the note conversion conditions corresponding to the voice as designated by the voice information.
The assistive music playing system (apparatus, method and computer program) according to the present invention converts the potentially unacceptable inputted notes individually to musically acceptable notes with reference to the chord at the time each of the notes is inputted, the chord being provided in the form of a chord progression. An accordingly, there is no need to wait for input of other chord constituent notes, and the processing speed can be accelerated. Further, as the note conversion is conducted differently for different note sub-ranges, the deterioration of chord consonance will be avoided and the user's intention will be fully reflected. Further, as plural notes inputted within a predetermined short period of time are processed as simultaneous inputs for a chord, the converted notes sounds in musically good harmony. Where other notes than the highest note among the simultaneous input notes are processed for note conversion with reference to the highest note to obtain other chord notes, the top note will take a big roll in the harmony and draw strong attention of the listener. The player can, therefore, pay attention mainly to musical expression and emotion without bothered by too precise correctness.
According to the input note conversion processing #1 in the input note conversion system of the present invention, the note conversion table is selected depending on the note range or white/black key distinction, and therefore the inputted notes by the user's music playing can be converted to notes which will well fit the chord at the time of such note input. Further, if the converted candidate note should overlap (including both same or very close) with another currently generated note, the candidate note will be reconverted to further better note which will fit the note range, the playing conditions, and also the relative note heights (which note is higher and which note is lower) by the player's actual playing. More specifically, as the input notes are converted to notes which will fit the currently running chord (in the chord progression), the note conversion is controlled to avoid overlap of notes so that the respective input notes shall not be converted to the same or very close notes at the same time, and accordingly naturalness in auditory feeling will be obtained.
According to the input note conversion processing #2 in the input note conversion system of the present invention, where the actually inputted note by the user are converted to the notes which will fit the chord as supplied from the chord providing device, the note conversion is controlled according to the note input state whether to convert a note under processing to a basic note (i.e. a chord constituent note or a scale note) or to a non-basic note (a tension note or a ornamental note). More specifically, the note conversion table includes a first table containing note employment factors (conversion factors) to output only basic notes and a second table containing note employment factors to output also non-basic notes, and tables are selectively nominated according to the input state by the user. Thus, non-basic notes can be generated in case the user so intends and so plays the note input device such as a keyboard. The user can enjoy music with full of varieties.
According to the input note conversion processing #3 in the input note conversion system of the present invention, a plurality of note conversion tables are prepared showing note employment factors for available converted notes with respect to chord types and instrumental voices, and therefore the voice information can be designated and is taken into consideration in converting the notes. As the inputted notes are converted to fit the chord supplied from the chord providing device, the conversion tables can be selectively utilized according to the voice as instructed by the voice information. Thus, by differentiating the note conversion according to the voices, the payer can expect music playing which fit the voice (timbre) of the generated tones.
According to further features of the present invention, the note conversion conditions including the maximum number of simultaneously available notes and the note sub-ranges are prepared for individual voices, and the voice to be considered in note conversion can be specifically designated. When the input notes are converted to the notes which will fit the current chord, the note conversion is controlled to output suitable notes after conversion using such note conversion conditions prepared in connection with the respective voices. Thus, the player does not need to pay particular attention, but can enjoy the natural playing style as would be peculiar to natural musical instrument according to the designated voice.
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 is a flow chart describing a first embodiment of the music playing assist processing;
b is a chart showing the user-set parameters for the processing of
c is a musical notation showing the note inputs in the processing of
d is a table for the chord tone distribution as used in the processing of
e is a musical notation showing the note outputs in the processing of
a is a flow chart describing a second embodiment of the music playing assist processing;
b is a table for the tone numbers to be generated in the processing of 4a;
c is a table for the chord tones to be employed in the processing of
a is a chart showing the conversion range allocation of a first modification of the assistive music playing apparatus;
b is a block diagram showing a functional configuration of the first modification of the assistive music playing apparatus operating with the range allocation of
a is a chart showing the conversion range allocation of a second modification of the assistive music playing apparatus;
b is a block diagram showing a functional configuration of the second modification of the assistive music playing apparatus operating with the range allocation of
a is another example of the normal note conversion table as used in an embodiment of the present invention;
b is an example of the tension note conversion table as used in an embodiment of the present invention;
c is an example of the overall note conversion table as used in an embodiment of the present invention; and
a, 17b and 18, in combination, are a flow chart describing another key-on event processing in the note conversion processing according to another embodiment of the present invention.
Assistive Music Playing System
Illustrated in
The assistive music playing apparatus 1 comprises a RAM 3, a ROM 4, a CPU 5, an external storage device 7, a control detecting circuit 8, a display circuit 10, a tone generator circuit 12, an effect circuit 13, a MIDI interface 16 and a communication interface 17, all of which are interconnected by a bus 2.
A user can set various conditions and parameters using panel controls 9 connected to the control detecting circuit 8. The panel controls may be of any arbitrary types such as a rotary encoder, a switch, a mouse, a character inputting (i.e. alphanumeric) keyboard, a joystick and a jog shuttle, as long as they output signals representing the user's control inputs. Further, the panel controls may be soft switches displayed on the screen of a display 11 operatable by another control means such as a mouse.
The display circuit 10 is connected to the display device 11 to display various information and presentation on the display screen.
The external storage device 7 includes an interface so as to be connected to the bus 2. The external storage device may be, for example, a flexible disk drive (FDD), a hard disk drive (HDD), a magneto-optical disk (MO) drive, a CD-ROM (compact disk read only memory) drive, a DVD (digital versatile disk) drive, a semiconductor memory, or else. The external storage device 7 may store various parameters, various data, a computer program for practicing the embodiment (called “music playing assist program”), music performance information, and so forth.
The RAM 3 includes working areas for the CPU 5 to store flags, registers, buffers or buffers, various parameters, etc. The ROM 4 may store various parameters and control programs, or programs for realizing the embodiments. The CPU 5 conducts arithmetic operations and controls according to the control programs stored in the external storage device 7. A timer 6 is connected to the CPU 5 to provide the basic clock signal, the interrupt process timing, etc. to the CPU 5.
The tone generator 12 is to generate musical tone signals in response to musical performance signals such as music performance data MD stored in the external storage device 7 and MIDI signals supplied from music playing controls (or device) 15 or from a MIDI apparatus 18 connected to the MIDI interface 16, and the musical tone signals are sent to the effect circuit 13 and then to a sound system 14 to be emitted as audible sounds.
The type or fashion of the tone generator may be a waveform memory type, an FM synthesis type, a physical model type, a harmonics synthesis type, a formant synthesis type, an analog synthesizer type having VCOs, VCFs and VCAs, an analog simulation type, or any other type available in the art. The tone generator circuit 12 may be of a hardware structure exclusively functioning as a tone generator, or may be of a combination of a DSP (digital signal processor) and a microprogram, or may be of a combination of a CPU and a software thereby functioning as a tone generator. And may be of any combination of the above-mentioned types. Further, a single or small number of hardware circuits may be used in a time division multiplex fashion to provide a plurality of tone generating channels, or plural separate (individual) hardware circuits may be provided to constitute respective ones of a plurality of tone generating channels.
The effect circuit 13 is to impart various sound effects to the tone signals of digital form supplied from the tone generator 12. The sound system 14 includes D/A converters and loudspeakers to convert the supplied digital musical tone signals into analog signals and emit as audible sounds in the atmosphere.
The music playing controls or device 15 are connected to the control detecting circuit 8 to supply music playing signals or performance signals in accordance with the music playing movements or manipulations of the user (i.e. music player). In the preferred embodiments herein, the music playing controls 15 are keys of a music-playing keyboard. Anyway, the music playing controls 15 may be of any other type of controls as long as they are at least capable of outputting performance signals such as in a MIDI format.
The MIDI interface (MIDI I/F) 16 is the one which is connectable to an electronic musical instrument, other kinds of musical instrument, an audio apparatus, a computer, etc., and is at least capable of transmitting and receiving MIDI signals. The MIDI interface 16 is not necessarily limited to a dedicated (i.e. exclusive) MIDI interface, but also may be formed by using a general-purpose interface such as an RS-232C, a USB (universal serial bus) and IEEE1394. In such a case, the interface may be so designed to transmit also other data than MIDI messages together with the MIDI messages.
The MIDI apparatus is an audio apparatus, a musical instrument, or else which is connected to the MIDI interface 16. The form of the MIDI apparatus is not limited to a keyboard type musical instrument, but also may be a string instrument type, a wind instrument type, a percussion instrument type, or else. Further, the MIDI apparatus may be an electronic musical instrument which incorporates a tone generator device, an automatic performance device, etc. in a single console, or may be configured by interconnecting separate individual such devices via communication means such as MIDI network and other various networks. The user can play (i.e. manipulate, control, operate) the MIDI apparatus 18 to input music playing signals. The MIDI apparatus 18 may serve as controls for inputting various data and various settings other than music playing data.
The communication interface 17 is connectable to a communication network 19 such as a LAN (local area network), Internet and a telephone line, so that the assistive music playing apparatus 1 can be connected to a server computer 20 via the communication network 19. Thus, the user can download control programs, programs for realizing the embodiment, music performance data, and so forth from the server computer 20 into the external storage device such as an HDD, or into the RAM 4, or else. The communication interface 17 and the communication network 19 may be of a cable type or of a wireless (radio) type, or both.
The music playing input unit 21 is comprised, for example, of the music playing controls 15 and the control detecting circuit 8, or of a MIDI apparatus 18 of
The chord progression providing unit 22 is comprised, for example, of the ROM 4 or the external storage device 7 and stores a plural chord progression data sets (files). A chord progression data set is a series of chord data representing an array of chords in terms of chord names or chord degrees for a length of music piece. The chord progression data set may be of the actual chord progression of a particular existing music piece or may be of an arbitrarily created train of chords (as long as not incorrect in music theory). The data set may further contain additional performance data such as of a drum performance or another part performance. In this embodiment, chords are identified and handled in terms of the key (tonality) plus the degree, thereby interpreting the function of the respective chords from a musical point of view. In this connection, the chord progression data are expressed and stored in terms of chord degrees (e.g. I, IIm), so that the user designate a running key or tonality (e.g. F) for the chord progression, thereby determining the actual individual chord names (e.g. F, Gm). Alternatively, the key information may be included in the file of chord progression data set. Further alternatively, actual chord names may be stored as the chord progression data in place of chord degrees, and then the key information will be dispensed with.
The chord progression providing unit 22 supplies the chord progression data set as designated by the user to the note conversion unit 23. The note conversion unit 23 is to convert the potentially incorrect note numbers contained in the music playing signals supplied from the music playing input unit 21 to musically correct note numbers based on the chord progression data supplied from the chord progression providing unit 22, even though the music playing input may contain some incorrect note numbers contrary to the player's intention. The embodiment provides two types of note conversion units conducting music playing assist processing #1 and #2, respectively as described herein below.
The music playing assist processing #1 will be described according to a flow chart of
The chord tone distribution is a rule defining a modification amount (correction factor) for each of the note numbers “0” through “127” with respect to each of the chord degrees. For example, the rule of chord tone distribution is that the treble tone range permits the maximum use of the inputted note number per se as long as available for a tension note, that the middle tone range permits the use of a chord constituent note, that the lower middle tone range permits the use of the root and the fifth note of a chord, and that the bass tone range permits the use of only the root note of a chord. The inputted note numbers are converted accordingly. With the music playing assist processing #1, all of the inputted note numbers will be converted (i.e. modified) according to the chord tone distribution rules mentioned above to realize note conversions to meet the harmony nature. There are prepared a plurality of chord tone distribution tables having different conversion characteristics (factors), and the user will designate a desired one by setting the user-set parameters US (
a is a flow chart describing the music playing assist processing #1. This music playing assist processing is an interrupt processing which is initiated by the user's instruction and is activated at every prescribed interrupt timing thereafter.
The user first set the user-set parameters US as shown in
The processing is started at a step SA1 and then receives the music playing input signals at a step SA2. In this example, it is assumed that the music playing input signals SI containing three notes as shown in
A step SA3 transposes, i.e. shifts, the note numbers in the music playing input signals SI received in the step SA2 by the amount of the “C major key” minus the “designated key (source key)” included in the user-set parameters. The difference is to be expressed in the modulo of “12” so that, for example, “−5” becomes “7.” In the illustrated example, the designated key included in the user-set parameters US is “F major,” which makes “C major” minus “F major” is “7,” and this value “7” is added to the note numbers of the respective note events. Thus, the obtained note numbers are: “75+7=82” (A#5), “71+7=78” (F#5) and “69+7=76” (E5).
A step SA4 determines the chord degree for the present (current) measure with reference to the designated chord progression in the user-set parameters US (
A step SA5 gets a conversion formula for the above-determined chord degree with reference to the chord tone distribution table as previously designated by the user in the user-set parameters US. As the chord degree determined at the step SA4 is “V,” reference is now made to the column of “V” in the chord tone distribution table CDT of
While the chord tone distribution table shown in
A step SA6 converts the transposed note numbers at the step SA3 from the music playing input signals SI in accordance with the conversion formula (factors) obtained at the step SA5. In this example, the three conversion factors “1,” “1” and “−2” are respectively added to the corresponding transposed note numbers “82” (A#), “78” (F#) and “76” (E) as shifted at the step SA3 from the music playing input signals SI, thereby obtaining converted note numbers “83” (G), “79” (C) and “74” (D).
A step SA7 reverse transpose the above converted note numbers as shifted at the step SA6 from the music playing input signals SI by the amount of the “designate key (source key)” minus “C major” back to the note numbers in the source key. In this example, the designated key included in the user-set parameters US is “F major,” which makes “F major” minus “C major” equals “−7” (in modulo of “−12”), and this value of “−7” is added to the note numbers of the respective note events to obtain reverse transposed note numbers back in the source key of “F major.” Thus, the obtained note numbers are: “83−7=76” (E), “79−7=72” (C) and “74−7=67” (G). The value “−7” may be determined by reversing the sign of “+7” as obtained at the step SA3.
Through the above described process, the music playing input signals SI containing three notes as shown in
A step SA8 detects overlapping note numbers, if any, after conversion contained in the output signals SO (a state in which two or more input note numbers have been converted to a single same output note number). In the case where any overlap is detected, for example, the note number of the later (or earlier) input event is reconverted to the note number of the row having the factor of “0” which row is nearest to and below (or above) the note number to which the earlier (or later) input note number has been converted in the chord tone distribution table CDT, to be outputted as the revised converted note number in the output signals SO. For example, if the current chord degree is “IV” (subdominant chord) and the source input note numbers are “76” (E) and “79” (G), the note conversion at the step SA7 gives the same note numbers “77” (F) for the both. In such a situation, the later (or earlier) arrived note number is converted to the note number “81” (A) having a factor of “0” in its row further above the overlapped one. If no overlap is detected in the converted note numbers, the converted note numbers per se as obtained at the step SA7 are outputted as the music playing output signals SO.
A step SA9 conducts processing of tone generation based on the music playing output signals SO. The tone generation processing is conducted by supplying the output signals SO to the tone generator 12 of
According to the above described processing #1, all the note numbers in the music playing input signals are individually converted, and therefore the same number of tones as the number of inputted tones can be generated, which means that the number of generated tones are maintained as intended by the music player.
According to the embodiment which utilizes the chord tone distribution tables of different conversion factors depending on the tone range, the density of generated tones can be variously determined to prevent deterioration of the chord harmony. This can reflect the intention of the player more correctly.
The individual conversion of the note numbers of the inputted music playing signals will obviate waiting for other chord constituent notes, thereby increasing the processing speed, which will be advantageous in processing real time.
The music playing assist processing #2 will be described according to a flow chart of
a is a flow chart describing the music playing assist processing #2. This music playing assist processing is an interrupt processing which is initiated by the user's instruction and is activated at every prescribed interrupt timing thereafter.
b is an example of a table for tone numbers to be generated TNT which is referred to in the music playing assist processing #2 of the present invention. The tone number table TNT is a table for determining tone numbers to be generated GTN (as will be referred to in
c is an example of a table for determining note numbers of the chord tones to be generated (CNT) which will be referred to in the music playing assist processing #2 of the present invention. The chord note determining table CNT is a table for determining the notes to constitute the subject chord to realize most musically beautiful consonance depending on the number of notes to be generated for the subject chord. This example table CNT gives conversion factors in terms of offset value from the top note based on the top note degree (TND) and the tone numbers to be generated (GTN) as are obtained from the table for tone numbers to be generated (TNT) of
Herein below will be described the music playing assist processing #2 with reference to
The processing is started at a step SB1 and then receives the music playing input signals at a step SB2. In this example also, it is assumed that the music playing input signals SI containing three notes as shown in
A step SB3 detects the number of note events included in the input signals SI received at the step SB2 and constituting a chord, and make the detected number to be “NumberOfNotes.” In this example, “NumberOfNotes” is “3.”
A step SB4 detects the difference between the highest note (i.e. top note) having the greatest note number and the lowest note (i.e. bottom note) having the smallest note number among the note events as inputted at the step SB2, and makes this difference value to be the note range (“Range”). In this example, “Range” is “75 (top note)”−“69 (bottom note)”=“6.”
A step SB5 detects the degree number of the top note among the note events included in the music playing input signals as received at the step SB2 from the root note of the subject chord (“TopNoteDegree”). In this example, the designated key in the user-set parameters US is “F major” and therefore the root note is “F” (65). Thus, “TopNoteDegree”=“75” (D#, the top note)−“65” (F, the root note)=“10.”
A step SB6 determines tone numbers to be generated (GTN) in accordance with afore-detected “NumberOfNotes” (“3”) and “Range” (“6”) with reference to the table for tone numbers to be generated (TNT) of
A step SB7 transposes or shifts the note number of the top note included in the note events received at the step SB2 by the amount of “C major” minus the “designated key (source key).” In this example, the “designated key” in the user-set parameters is “F major,” which makes “C major” minus “F major” equals “7” (in semitones). This value “7” is added to the note numbers in the inputted note events to obtain transposed note numbers. Thus, the transposed note number of the top note is “75+7=82” (A#).
A step SB8 creates note numbers for the respective tone numbers to be generated with reference to the row of “TopNoteDegree” in the designated table for chord notes of the current chord as designated by the user-set parameters US of
A step SB9 transposes the created note numbers at the step SB8 for the respective chord notes in response to the input key events by the amount of the “designated key (source key)” minus “C major back to note numbers in the source key. In this example, the designated key in the user-set parameters is “F major” and “Designated Key” minus “C major” is “−7,” which in turn is added to the above obtained respective note numbers. Reverse transposition of the respective note numbers are: “83−7=76” (E), “79−7=72” (C) and “74−7=67” (G). The value of “−7” may be obtained by inverting the sign of the value “7” as obtained by the step SB7. Thus, the output music playing signals will be the same as the output SO of
A step SB10 conducts processing of tone generation based on the music playing output signals SO including the respective note events as transposed back to the source key at the step SB9. The tone generation processing is the same as in the processing #1 mentioned before. The processing then proceeds further to a step SB11 to terminate the assistive music playing processing #2.
According to the processing #2, a plurality of note events inputted within a predetermined short time period are handled as a chord event (deemed to be simultaneous occurrences), and therefore the note conversion processing is designed and conducted to present musically beautiful consonance.
Where all the chord constituent notes are created with reference to the top note among the inputted note events, the top note is fully used or relied upon to realize good musical consonance. While the chord note determining table stores offset values from the top notes, which offset values are added to the top note to create the respective chord constituent notes, the chord constituent notes may be obtained with reference to the bottom note or other another note other than the top note. However, for the note conversion in the treble range and the middle range, the reference note should preferably be the top note for creating other chord constituent notes.
Further, while the number of notes to be generated is limited to “4” at maximum, other number may be employed within the numbers which will usually occur in the ordinary music playing.
In the above explanation about two types of music playing assist processing #1 (
A first modification of the assistive music playing apparatus according to the present invention will be described hereunder with reference to
b is a block diagram of the functional configuration of the first modification 51 of the assistive music playing apparatus 1 of
This type of assistive music playing apparatus is very suitable for such a player who wants to play an entire melody himself or herself which would usually use a higher note range (above the split point SP) but may be unskillful in playing chord accompaniment which would use a lower note range (below the split point SP), so that the player can enjoy playing music with a simple melody and some complicated chords, being assisted by the apparatus of the present invention.
The split point SP can be set at any arbitrary point, and further a plurality of split point may be provided. In the latter case, each fractional range divided by the split points may be set to be either note conversion range or non-conversion range. The non-conversion range can be realized by incorporating the chord tone distribution table and setting all the conversion factors (offset values) to be “0” in the non-conversion range.
A second modification of the assistive music playing apparatus according to the present invention will be described hereunder with reference to
b is a block diagram of the functional configuration of the second modification 61 of the assistive music playing apparatus 1 of
The note conversion unit (type 1) 23a conducts, for example, note conversion according to the above mentioned music playing assist processing #1, while the note conversion unit (type 2) 23b conducts, for example, note conversion according to the above mentioned music playing assist processing #2. As the higher note range which is the range of notes to be converted by type 1 conversion unit is mostly used for playing a monophonic melody, it is advantageous to use the music playing assist processing #1 which converts the inputted music playing signals individually. And, as the lower note range which is the range of notes to be converted by type 2 conversion unit is mostly used for playing a chord accompaniment, it is advantageous to use the music playing assist processing #2 which converts the inputted music playing signals collectively as a chord.
The use of different types of conversion processing for different key range of the keyboard will permit to make the most of the advantageous aspects of the respective conversion types. The split point SP can be set at any arbitrary point, and further there can be set a plurality of split points SP. In the latter case, the type of note conversion processing to be conducted at each of the ranges as divided by the split points can be selectively set by the user. Further, in the case where a plurality of split points are provided, some of the divided ranges may be allocated for non-conversion range as in the above described first modification.
The note conversion types may not necessarily be limited to the types as described above, but may be of any types as long as they are different. Further, the relations between the conversion types and the key ranges may be different from the above mentioned relations. For example, the note conversion unit (type 1) 23a may conduct the note conversion processing #2 and the note conversion unit (type 2) 23b may conduct the note conversion processing #1.
The automatic accompaniment/additional note generating unit 24 is to generate an automatic accompaniment and/or additional notes based on the chord progression supplied from the chord progression providing unit 22 and the note-number-converted music playing input signals supplied from the note conversion unit 23. As the same chord progression is supplied in common to the automatic accompaniment/additional note generating unit 24 and to the note conversion unit 23, the generated automatic accompaniment and the generated additional notes will exhibit good consonance with the note-number-converted music playing input signals (for example, both a chord and one or more additional notes will be given to each top note after conversion of the inputted music playing signals).
The music playing signals SI which are inputted as subjects of conversion in the music playing assist processing are, for example, music performance signals in the MIDI format and are comprised of a plurality of note events (note-ons and note-offs) including at least note pitch information such as note numbers. In addition to note pitch information, each note event usually includes, information for controlling the note sounding way or manner of the note event such as note length information, tone volume information, and so forth. In the music playing assist processing (both #1 and #1) of the present invention, only the note numbers (i.e. pitch information) in the music playing signals SI are converted. This means that the note sounding length information, tone volume information, and other information will be outputted without change as the player has intended, and therefore the player's feeling will be maintained.
The music playing input signals SI may not necessarily be limited to the signals including some incorrectness in music theory, but may be correct in some category of music. In such a situation, if music playing signals of a particular category are inputted by the player and a conversion table for a different category of music is designated, the inputted music performance will be converted to a music performance in such a designated category style.
According to embodiments of the present invention, a play having poor musical knowledge can enjoy music playing which is correct in music theory without paying severe attention to music theory.
Further, by preparing multiplicity of chord tone distribution tables or chord note determining tables corresponding to various music categories (genres), the output performance will be the one which meets a wide variety of music categories and also makes the most of the characteristics of individual musical instruments.
While, in the above described embodiments, the inputted music playing signals are transposed to “C major” key to thereafter convert individual notes to musically correct notes, such transposition can be dispensed with by preparing note conversion tables for every key to process directly the inputted note numbers per se. Another alternative will be that note conversion tables are prepared for some of the keys (i.e. not all the keys) and the transposition will be conducted to the table of the nearest key from the designated key.
The assistive music playing apparatus 1 may not necessarily be limited to the form of an electronic musical instrument, but may be applied to a karaoke apparatus, a game machine, a portable communication terminal such as a cellular phone and a player piano. Where the invention is applied to a portable (mobile) communication terminal, a terminal may be of a self-contained type containing entire functions or may be a part of the system to cooperate with a server computer so that the system as a whole realizes the functions of the present invention.
When the present invention is embodied in the form of an electronic musical instrument, the form may not necessarily be of a keyboard instrument type, but may be of a string instrument type, a wind instrument type, a percussion instrument type, etc. The tone generator unit, the automatic accompaniment unit, and so forth may not necessarily be integrated in a single console of an electronic musical instrument, but may be individually separate ones and interconnected together by any communication means such as MIDI cables and various networks to configure the whole system.
The system according to the invention may be realized by a general-purpose computer installing the computer programs to establish the processing and operation of the above mentioned embodiments. In such a situation, the computer programs can be provided to the users in the form of a computer readable medium such as a CD-ROM and a flexible disk.
Although the invention has been described in connection with particular embodiments herein above, the invention is not limited to the described embodiments. It will be apparent to those having ordinary skill in the art that various modifications, improvements and combinations will be made without departing from the spirit of the invention.
Input Note Conversion System
The system according to the present invention is considered to be an assistive music playing system as viewed from an aspect of user's music playing as described above. But as viewed from an aspect of musical data processing, the system can be defined as an input note conversion system. Description will be now made herein below about an input note conversion system which is the above described assistive music playing system including improvements in a data processing aspect.
The CPU 31 executes various musical information processing including input note conversion processing according to the predetermined software programs on the system clock pulses from the system timer (not shown). In the input note conversion processing, the CPU 31 functions as a sequencer module and a note conversion module. The ROM 32 stores various control programs for conducting musical information processing including the input note conversion processing, and the chord progression data and the note conversion table. The RAM 33 is used for work area for temporarily store various data and parameters necessary for the processing, for example, the data relating to input notes based on the user's music playing and output notes being produced.
The external storage device 34 includes storage media such as a hard disk (HD), a compact disk read-only memory (CD-ROM), a flexible disk (FD), a magneto-optical (MO) disk, a digital versatile disk (DVD) and a semiconductor memory to store the input note conversion program, the chord progression data, note conversion tables, etc. for use in this system.
The music playing control unit 35 is, for example, comprised of music playing controls and a music playing input detecting circuit, and processes the input note signals derived from the user's music playing manipulations of the music playing controls through the music playing input detecting circuit to introduce input note data into the system. The embodiment described below employs a keyboard for the music playing controls, and the music playing control unit 35 is referred to as “keyboard unit.” The keyboard may be divided into, for example, three sub-ranges by two split points (“lower split point” and “upper split point”), which are termed as a bass range, a chord rang and a melody range from the lower end to the upper end, respectively to use for a bass performance, a chord performance and a melody performance. The music playing controls may not necessarily be limited to keys of a keyboard, but may be any arbitrary type of keys, levers on buttons according to the type (string, wind, etc.) of the musical instrument which the user will play.
The panel control unit 36 is, for example, comprised of panel controls and a control detecting circuit, and detects the contents of setting operations and controlling operations by means of the panel controls through the control detecting circuit to introduce control data into the system. The embodiment employs controls in the form of keys, levers, switches, buttons, etc., which are used to set operating conditions of the system and to input various necessary parameters or information for the input note conversion.
The display circuit 37 controls the exhibited contents on the screen of the display device (CRT, LCD, etc.) 41 or the on/off states of various indicators (lamps) according to the instructions from the CPU 31 to give the user visual aids in manipulating the controls 35 and 36.
The tone generator 38 includes tone modules and effect-imparting DSPs to generate musical tone signals as defined by the note data as obtained by converting the inputted notes, the chord progression data and the voice (tone color) data. A sound system 42 which is connected to the tone generator 38 includes a digital-to-analog converter, an amplifier and a loudspeaker, and emits audible musical sounds in the air based on the tone signals. Namely, the tone generator 38 and the sound system 42 constitutes a musical tone creating unit which produces musical tones based on the output note data as processed by the input note conversion system, voice data and the chord progression data.
To the communication interface 39 is connected an external apparatus 43 (e.g. a personal computer) having functions of processing musical data to receive various musical data including the chord progression data and control programs from the external apparatus 43.
The input note conversion system may not necessarily be limited to a dedicated musical data processing apparatus such as the above described electronic musical instrument which is particularly adapted for the musical data processing, but may be realized in the form of “a personal computer+application software” using a personal computer (PC) equipped with music playing input device such as a keyboard and with a tone generator.
Input Note Conversion Processing #1
The input note conversion system according to an embodiment of the present invention is capable of converting notes inputted by musical playing to notes which will better fit the chords and the playing conditions (arpeggio and block chord) through a note conversion processing #1 (first type input note conversion processing) called “key-on processing.”
The input note conversion procedure of the fashion #1 will be described with reference to
The keyboard module (music playing controls) 35 produces, as the input note information, note data (key-on note number) NTi in response to the on/off actuation of the keys in the keyboard. The sequencer module SQ produces chord data for the progression of a music piece based on the chord progression data read out from the ROM 32 or the external storage device 34. The note data NTi from the keyboard and the chord data for the progression of a music piece are inputted to the note conversion module NC.
The note conversion module NC conducts a key-on processing which converts the input note data NTi to output note data NTo based on the current chord information and the predetermined conversion rule, so that the output note data NTo obtained by this key-on processing is outputted to the tone generator modulo TG (tone generator 38).
In the key-on processing, the note conversion module NC also acquires from the system timer ST key-on time data representing the time of the key-on of the note data NTi with reference to the system clock in the system timer ST. This time data acquisition is necessary for the judgment about whether the block chord playing or the arpeggio chord playing in the chord range of the keyboard as explained herein later, in which the current key-on time is within a predetermined time length (e.g. 80 ms) from the preceding detected key-on time is deemed to be a concurrent depression for a block chord, and when “not within” is deemed to be a successive depression for an arpeggio chord.
(Note Conversion Table)
The input note conversion system according to an embodiment of the present invention uses note conversion tables as a method of realizing a desirable note conversion in the key-on processing.
The note conversion table TB indicates the priority orders of the note identifying data to identify the note in accordance with the chord rule with respect to the respective chord types, so that numbers of notes to be generated can be varied according to the number of concurrently depressed keys. In
The distances from the chord root are expressed by “0” through “11” in semitone as shown in the top row of the table. For example, for the C major chord whose root note is “C,” the note names “C” through “B” correspond to “0” through “11,” respectively. The numeral “1” or above indicates the note of that column can be used for the note conversion up to the number of simultaneously depressed keys. The numeral “0” indicates that the note of that column cannot be used.
More particularly, the numeral “1” and above indicate the order of priority in use for note conversion within the number of simultaneously depressed keys. The greatest numeral in each row (e.g. “3” in the row of C major) shows the maximum number of concurrently available notes. For example, if the number of simultaneously depressed keys is “2,” the notes assigned with “1” and “2” can be used it the note conversion. Further for example, when the note name F#5 is inputted as the note data NTi on the C major chord where the number of simultaneously depressed key is one, the note “E” (distance=“4”) assigned with “1” is picked up and the erroneously depressed key of “F#5” is converted to “E5.” But where the number of simultaneously depressed keys is two, the closer of “1” and “2” to the note “F#” (distance=“6”) is “G” (distance=“7”) having the priority order of “2,” and therefore the “G” is employed, and consequently the note “F#5” is converted to the note “G5.”
In the case where no chord information is inputted or the setting to neglect the chord information is made, i.e. where no chord information is to be used in connection with the note conversion, the chord type is instructed to be “Cancel.” In the row of “Cancel,” all the notes (i.e. distances) are assigned with numeral “1,” and this means that when the “Cancel” is instructed, any input note data NTi per se will be outputted as data NTo, and no note conversion takes place.
There may be prepared different note conversion tables in accordance with the key ranges and the white/black key distinction (in terms of C major). For example, where the keyboard is divided into three sub-ranges: a bass key range, a chord key range and a melody key range, six tables are prepared (6=3 key ranges×2 key distinctions). By preparing a plurality of different tables, different conversion rules can be applied to establish more musically sophisticated music playing.
(Prevention of the Same or a Close Note Pitches)
The key-on processing according to an embodiment of the present invention employs a solution for the troubles in the case where the converted note becomes the same note as or the close note to the currently sounding note thereby causing overlap of notes. One way of avoiding overlaps is to employ different methods in note conversion depending on the key ranges (bass, chord and melody ranges) and the playing conditions (arpeggio and block). For example, when the converted note is the same as or close to the currently sounding note, there can be two ways of solution. Namely,
Which way to take can be predetermined with respect to the key ranges and the playing conditions. For example, in the bass range, no note is generated for the converted note. In the chord range and for the arpeggio playing, a next candidate will be searched for. In the chord range and for the block chord playing, no note will be generated for the converted note. In the melody range, a next candidate will be searched for.
In detecting overlapping notes (including both same and close pitches), it is musically preferable to set the detection allowance (i.e. width, the interval limit) of note pitch to judge the overlaps wider for lower notes, and therefore it is preferable to set the interval limits differently for the note pitch sub-ranges (bass, chord, melody). Further, the interval limits may be set differently between the stem notes (white keys in the scale of C major) and the accidental notes (black keys in the scale of C major) to obtain different conversion characteristics between the stem notes and the accidental notes. For example, the input of an accidental note (sharp or flat note) may well probably be an intentional input as a tension note rather than an erroneous depression of the key. For example, the interval limit are set to be “0” for the note conversion factors to permit every note of the depressed key is not converted but is generated per se.
When the keys are depressed in the chord key range (middle key range), the time difference between the two successive depressions of keys will be used in judging whether the inputted key depressions are for the arpeggio performance or for the block chord performance. For example, when the time difference of the current key-on time with respect to the preceding key-on time falls within a predetermined amount, such key-on events are considered to be for a block chord, and when the time difference of the current key-on time with respect to the preceding key-on time exceeds the predetermined amount, such key-on events are considered to be for an arpeggio performance, and the information is recorded accordingly. The preceding key-on time as the comparison reference is the time of the note event of the actually sounding note or the time of the note event of the note to be sounded. When a new note generation is done or is to be done, the preceding key-on time is renewed. The predetermined amount may be set by the user as a constant value, and may be varied in accordance with the tempo of the music being played.
In searching for the next note candidate to avoid overlap, it is difficult to anticipate whether the new selected note will be above the preceding key depression or below. Namely, where the phrase is ascending and the converted note happens to come below the preceding note, or vice versa, there may arise an unnaturalness. In an embodiment, therefore, whether the search for the next candidate is to be made above or below the converted note is determined based on the comparison with the note number (NTio) of the preceding key depression. If the current key-on note number NTi is lower than the preceding key-on note number, the search will be conducted downward, and if higher, the search will be conducted upward. If the current key-on note number NTi is the same as the preceding key-on note number, the search direction may be maintained or may be determined either upward or downward. By determining the searching direction in the method as explained above, there will not occur a reversal in the note movement after the note conversion as compared with the actual key depressions in an ascending phrase or a descending phrase.
(Key-On Event Processing)
First, a step S1 judges whether each of the inputted key-on note numbers NTi is of a white key or of a black key as viewed in the normalized C Major key (or a stem note or an accidental note as viewed in the source key). A step S2 judges the key range and renew (overwrite) the key range information, and also renew the number of simultaneously depressed keys in the key range and the interval limit value. The interval limit value is set to be “4” semitones in the bass key range, “1” semitone in the chord key range, and “0” (no consideration) for the melody key range. When the chord type is designated as “Cancel,” the interval limit value is always “0.”
Next, a step S3 determines a conversion table to be used for the note conversion based on the key range and the category, and then a step S4 derives converted note numbers NTc based on the determined conversion table TB, the chord information and the number of the simultaneously depressed keys. A step S5 then check overlapping in the converted note numbers NTc with reference to the interval limit value and current note information.
When the step S5 judges there is no overlap in the note numbers, the process moves forward to a step S6 to substitute the converted note number NTc to the output note number NTo and conducts the tone generation processing. After the tone generation processing, the converted note number NTc is substituted for the current note information (
On the other hand, when there is an overlap in the note numbers, the process moves forward from the step S5 to a step S7 (
When the step S7 recognizes that the input note events are in the bass range or a block chord in the chord range, the process flow goes to a step S8 to generate no tones for the note number NTc. The block chord is defined to be the condition (state) where a plurality of keys are depressed simultaneously or substantially simultaneously. Where the chord type is “cancel,” it may be considered that there is no overlap. Even in the case where the step S8 determines to generate no tones, the preceding depressed keys NTio is renewed by the current NTio. In other word, whether the tone is to be generated (S6 in
On the other hand, when the step S7 recognizes that the key events are in the melody key range or of the arpeggio playing in the chord range, process flow proceeds to a step S9 to search upward/downward for the next note candidate. The arpeggio playing is defined, for example, herein, as the case where the current note event has occurred more than 80 milliseconds apart from the preceding note event. In order to search for the next candidate, the current key-on note number NTi is compared with the preceding depressed key NTio to determine whether to search upward or downward in order to maintain the note pitch travel direction.
Next, a step S10 renews the key-on note number NTi by incrementing or decrementing the key-on note number NTi by “+1” or “−1” to obtain the renewed key-on note number NTi′, and further convert the renewed key-on note number NTi′ to derive a new converted note number NTc at the step S4 (
The new converted note number NTc is then subjected to the overlap check at the step S5 (
The above described key-on event processing will be specifically explained in detail using the following two examples.
While preferred embodiments of the input note conversion processing #1 as conducted in the input note conversion system of the present invention have been described with reference to the associated drawings, various modifications will be possible without departing from the spirit of the present invention so that the present invention can be practiced in various forms. For example, the note conversion table may be of a type having plural sub-tables to be used in various combinations, and also may be subjectable to edition, and may comprise many kinds of sub-tables. In the described embodiments, the candidate note numbers are searched with consideration to the number of simultaneously inputted notes (keys) when referring to the tables, but the table may be prepared individually for the respective number of simultaneously depressed keys.
The distance at which plural simultaneous note generation is prohibited (allowance for overlap detection) may be arbitrarily set by the user, or may be factory-set as a default setting (fixed), or may be commonly provided through the entire key range. For the keys in the same key range, the prohibition distance may be set different between white keys and black keys (stem note keys and accidental note keys).
The distance at which plural note generation should be avoided may be determined based on the low interval limit (the frequency or note pitch below which two tones of close frequencies sound mumbling with their harmonics interfering with each other). For example, in the case of two notes separated by a major second interval, the low interval limit is applied below the notes “F3” (175 Hz) and “Eb3” (156 HZ). In the case of two notes separated by a minor third interval, the low interval limit is applied below the notes “Eb3” (156 Hz) and “C3” (131 Hz). In the case of major seventh interval separation, the low interval limit is applied below the notes “E3” (165 Hz) and “F2” (87 Hz).
The methods for avoiding overlap (including coincidence and close vicinity) of converted notes with the currently sounding notes are preferably different for different playing conditions for the note conversion system of the present invention. The different methods (solutions) may be, for example, to suppress tone generation, to generate notes in another octave, to replace by an adjacent chord note, and to utilize look-up tables. In the above described embodiments, the differentiation by the playing conditions is employed only in the chord key range, in which the method allotted to the arpeggio playing is to utilize tables, while the method allotted to the block chord playing is to suppress tone generation. However, in other key ranges (the melody range and the bass range) also, the detection process of music playing conditions can be employed and appropriate overlap avoiding methods can be allotted to different playing conditions. For example, in the melody key range, the method of utilizing look-up tables is allotted to the arpeggio playing, whereas the method of generating notes in another octave is allotted to the block chord playing. In the bass key range, the method of utilizing look-up tables is allotted to the arpeggio playing, whereas the method of replacing by an adjacent chord note is allotted to the block chord playing. The combinations of a playing condition and a method for searching for a candidate note are not limited to the above examples. Further, the kinds of playing conditions may be anything else than the above examples. For example, a legato performance may be so recognized when the preceding note (key) is still being inputted (depressed), that is, while the preceding key-on event is still continuing, and the next note (key) is then inputted (depressed) some amount of time (e.g. more than 0.5 s) after the preceding key-on time. When the chord type is designated as “Cancel,” no overlap check takes place before tone generation.
The key range division may not necessarily be as described above, but may be otherwise such as dividing into two ranges: a melody key range and a chord key range.
The time differences for recognizing the playing conditions (styles) may be arbitrarily set by the user, or may be factory-set at default values. In place of the milli-second counting, time length may be counted on the basis of music progressing tempo (e.g. 16th note duration and 8th note duration).
The chord information to be applied to a piece of music to be played is not limited to one set (series) of chord progression, but may be provided in plural sets. The chord information may be previously stored in the apparatus as explained above, and also may be inputted real time.
With respect to the chord information, the processing system may have a function of recognizing chord functions and may chose different methods of note conversion (table utilization or else) according to the chord functions. Then the note conversion to the notes which will meet the chord functions will be possible. Further, at the process step of overlap avoidance after the note conversion, the chord functions may be taken into consideration. In order to recognize the chord functions, the tonality key information and the chord degree information of the respective chords are necessary. The tonality key information may be provided, for example, through the user's setting with the panel controls, or by extracting from the source data (file) containing chord information. The chord degree information may be obtained through calculation based on the chord root and the tonality key given by any means, or by attaching the chord degrees in the chord information as provided.
Examples will be as follows:
Examples of above cited chords but in another keys will be as follows:
Examples of E major chord in various keys will be as follows:
Where the chord function is to be considered in controlling the process of note overlap avoidance, an example of how to determine the converted note is as follows:
When a “G4” note is now being generated for the C major chord as provided in the chord progression under the G major key as designated by the user's setting and a first candidate of converted note is also “G4,” the C major chord is the fourth degree chord (IV) and has a function of subdominant chord, an inputted note is converted to a “C” note as the root of the chord, and thus the note “C4” will be generated in place of the first candidate note “G4.”
Input Note Conversion Processing #2 and #3
In an input note conversion system according to another embodiment of the present invention, the notes inputted by musical playing are converted to notes which will better fit the chords and the voices (timbres) for the music piece to be performed through a note conversion processing #2 and through a note conversion processing #3 (second type and third type input note conversion processing) called “key-on processing #2 and #3.”
According to the input note conversion processing #2 in this input note conversion system, as illustrated in
According to the input note conversion processing #3 in this input note conversion system, note conversion condition information is stored for each voices (timbres), and there are prepared a plurality of note conversion tables indicating note employment factors for available converted notes concerning respective chord types. Through the note conversion in this system, briefly speaking, the note conversion module NC converts the input notes NTi as inputted by the user's playing on the keyboard 35 to notes NTo which fit the chord information from the sequencer SQ using the note conversion tables, in which the voices (timbres) as designated by the voice information are taken into consideration. For example, the note conversion tables (NT, TT) are selectively utilized according to the designated voices VS, and the note numbers to be outputted as converted notes NTo using the tables are controlled to fit the designated voices VS based on the note conversion conditions (SM through RC) relating to such designated voices VS.
The embodiment will be described in more detail hereunder. Referring to
The note conversion module NC includes note conversion tables (
In the key-on processing #2, the note numbers of the input note information NTi are converted to the note numbers which will fit the voice VS and the chord types to be outputted as the output note information NTo, in which the note conversion module NC is also controlled so that the converted note can be a note other than the basic note like a chord constituent note depending on the key depression state MC. The output note information NTo created through the key-on processing #2 is outputted to the tone generator module 38 to be finally emitted as audible sounds by the sound system 42 (
(Conversion Conditions for Voices)
In the input note conversion system according to an embodiment of the present invention, the key-on processing #2 conducts the desired note conversion using conversion information indicating note conversion conditions for the respective voices (timbres) to be designated.
The conversion information for voices is the information to indicate the conditions for the note conversion with respect to each of the voices available. Designation of the voice can be made by the user's voice selecting operation on the panel controls 36, or by extracting voice information (program change message) from the music data stored in the ROM 32 or the external storage device 34. The conversion information for voices contains, as shown in
The maximum number of simultaneously available tones SM is used to limit, within this value, the number of tones to be generated simultaneously by the musical tone producing section 38 and 42 in connection with the number of simultaneously depressed keys on the keyboard 35, and the highest and the lowest note number NH and NL are used to limit the note numbers for the tones to be generated within the note range represented by these note numbers NH through NL depending on the designated voice.
The playing condition RC is information representing conditions according to the manners of playing so-named instruments as identified by the voice names. For example, in the case of a string instrument, there is peculiar conditions that all of the simultaneously generated notes should be assigned to individual strings in one note to one string correspondence and that all the frets to be pressed should be reached by the fingers of one hand (usually, left hand), and in the case of a piano, there is also peculiar conditions that all of the simultaneously generated notes should be of the keys reached by the right and the left hand and also that the finger travelling for successive keys are actually possible by the right and the left hand. The table shown in
In the input note conversion system according to an embodiment of the present invention, the key-on processing #2 uses note conversion tables to realize the desired note conversion, in which the example of
(Note Conversion Table)
Some examples of the note conversion tables are shown in
The note conversion table lists availability factors of the respective notes in terms of distances from the chord root note with respect to the respective chord types in converting the notes NTi of the note information as inputted by the user (e.g. from the keyboard) to acceptable notes NTc. In
To describe more specifically, for example, with respect to
In case the chord information is not utilized, for example, by not inputting chord information or by setting chord negligence designation, the chord type is indicated as “Cancel” and the factors in the bottom row are applied, i.e. “1” for all note distances. When the “Cancel” is designated, every inputted key-on note number NTi itself will be the converted output note number NTo, which means no conversion takes place onto the inputted note number.
By providing a number of different types of note conversion tables based on the similar principle, different conversion rules can be applied to the input notes. For example, the inputted notes on an ordinary performance (music playing) can be converted to chord constituent notes by using a note conversion table as labeled “Normal Note Conversion Table” such as exemplified in
The normal note conversion table TBa shown in
For example, in case the number of simultaneously depressed key is “2,” the notes having the priority order “1” and “2” can be employed as the converted notes. In case the note “F#5” is inputted as the key-on note number NTi over the C major chord, if the number of simultaneously depressed keys is “1,” the note “E” (distance is “4”) having the priority order “1” is immediately retrieved and the inputted note “F#5” is converted to the note “E5,” but if the number of simultaneously depressed keys is “2,” the available notes are “E” and “G” respectively having the priority orders “1” and “2,” and the note “G” (distance is “7”) having the priority order “2” and being closer to the inputted note “F#” (distance is “6”) is retrieved, and thus the inputted note “F#5” is converted to the note “G5.”
The normal note conversion table TBb shown in
The tension note conversion table TBt1 shown in
In the case of above (Ex. 2), in which the inputted notes are converted to the chord constituent notes up to the predetermined number of simultaneously depressed keys, and the inputted notes are converted to the notes including non-chord constituent notes, a single table can be prepared and used. The overall note conversion table TBs of
According to this overall note conversion table TBs, if the chord is C major and the number of simultaneously depressed keys is constantly “3,” the three inputted notes are converted to the chord constituent notes (basic notes) of “C,” “E” and “G.” However, if the number of simultaneously inputted notes exceeds “3” (i.e. “3” <the number of simultaneously inputted notes <the maximum number of simultaneously available notes SM=“6”), the inputted notes are converted to the notes among the three chord constituent notes “C,” “E” and “G” plus a number of non-chord constituent notes “B,” “D” and “A” having the priority orders within the number of simultaneously inputted notes. In this case, the inputted notes may be converted to any of the basic notes, or may be converted to any of the non-basic notes, depending on the conditions.
(Key-on Event Processing #2)
a, 17b and 18, in combination, show a flow chart describing key-on processing #2 according to another embodiment of the present invention. In these Figures, rectangular blocks and hexagonal blocks tagged with symbols S21 through S35 represent process steps as indicated by the attached legends, respectively, and solid line arrows show flows between the steps. Corner-rounded rectangular blocks represent information (data contents) and broken line arrows indicate the use of the respective information.
As the user manipulates playing controls (i.e. depresses keys on the keyboard), a step S21 recognizes the key depression state. At this step S21, key-on information including current key-on note numbers NTi is inputted, and the number of simultaneously depressed keys is renewed accordingly (by the number of note numbers NTi, i.e. with a “+1” count at every new key-on and a “−1” count at every key-off). The step S21 also discriminates white/black key distinction according to the table selecting rules (above mentioned Ex. 1 through Ex. 3), and further measures every time intervals between every adjacent key-on events.
Next, a step S22 determines a conversion table to use for the note conversion. For example, corresponding to the voice kind VS as previously set in the system for the notes to be generated, the step S22 determines the normal and the tension note conversion table as designated by the table numbers of normal table NT and of tension table TT according to the conversion conditions for voices in
Then, a step S23 sets the range search flags L (downward) and H (upward) both to be “TRUE,” which will be used in a step S26 later, and a step S24 in turn converts the key-on note numbers NTi to output note numbers (i.e. converted note numbers) NTc with reference to the chord information and the number of simultaneously depressed keys using the determined table. A step S25 (
When all of the checks at the above described steps S25-S28 (
In the step S25 for checking the number of tones to be generated, the maximum number of simultaneously available tones SM is obtained corresponding to the set voice kind from the conversion conditions for voices (
In the step S26 for checking the note range, the upper and the lower limit note number NH and NL are obtained corresponding to the set voice kind from the conversion conditions for voices (
As long as the note range check judges the converted note number NTc is within either the upper or the lower note range, the process moves forward to the step S27 for the overlap check, but if neither, the process goes to a step S32 (
If the limit check at the step S32 (
The overlap check step S27 (
The upward/downward search step S35 judges the travel direction of the current key from the preceding key by comparing the key-on note number NTi with the preceding key-depressed note NTio, and set the direction for search (upward or downward) according to the judged travel direction. The note number NTi′ for referring to the tables is incremented or decremented by “1” (i.e. “+1” or “−1”) at the step S34, and such an incremented or decremented note number NTi′ is converted at the step S24 to a further converted candidate NTc, which is then subjected to the overlap check at the step S27.
The playing condition check step S28 (
(Examples of Table Use)
Description will be herein below made with respect to the case in which the guitar voice is set among the conversion conditions for voices of
While preferred embodiments of the input note conversion processing #2 and #3 as conducted in the input note conversion system of the present invention have been described with reference to the associated drawings, various modifications will be possible without departing from the spirit of the present invention so that the present invention can be practiced in various forms.
Particularly with respect to the input note conversion processing #2, the basic notes and the non-basic notes may not necessarily be divided into chord constituent notes and other notes, but may be divided into scale notes and non-scale notes, or may be divided into a chord root and other notes. In the case where the basic notes are defined as chord constituent notes, other notes than the chord constituent notes may be the tension notes for the chord as in the embodiment, or may be potentially useful notes for ornaments (e.g. notes below the chord constituent notes by a minor second interval). Or may be the inputted note itself depending thereon.
The step S21 in the above described embodiment judges the key depression state to decide whether to convert to notes including non-basic notes and utilizes the distinction between the white keys and the black keys as mentioned at (Ex. 1) before. The judgment can be made by other ways to decide whether to use also the non-basic notes. For example, such a decision can be made depending on whether the number of simultaneously depressed keys exceeds a predetermined number (e.g. “8”) as mentioned at (Ex. 2) before. Or further, by the distinction as mentioned at (Ex. 3) before, or depending on whether the velocity (touch strength) is less than a predetermined value (e.g. “30”), or whether the particular assigned key or control is manipulated, the conversion can be conducted also to non-basic notes. Needless to say, the case of (Ex. 2) can use the overall note conversion table TBs.
Although the above described embodiments used the tension note conversion table TBt1, TBt2, . . . to convert also to notes other than the chord constituent notes, such conversion notes may be determined by calculating some algorithms prepared in the system. For example, a conversion note (a note to which the inputted note is going to be converted) may be the closest non-chord constituent note to the inputted note, or may be the ninth note of the chord in the octave closest to the inputted note. A further alternative method may be that an inputted note is once converted to a chord constituent note (as a basic note) using the normal note conversion table, and thereafter modify the obtained chord constituent note to a tension note by calculation, which is the method of “a normal note conversion table+a calculation algorithm.”
The note conversion tables may be combinable, modifiable, or may be of a type which can be edited. There may be prepared further kinds of conversion tables. For example, while the chord constituent notes are the basic notes, the conversion to non-chord constituent notes can be conducted by using different tables depending on the differences in key depressions by the user. While a same table is looked up in consideration of the number of simultaneously depressed keys, there may be prepared separate table to look up depending on the number of simultaneously depressed keys.
Although the above described key-on event processing #2 as an example in which the note data NTc after conversion us subject to various checks after the note number conversion step S24, the kinds of check are not limited thereto. The checks to decide not to generate (the step S31) the converted note are not limited to the step S25 of checking the number of tones to be generated (over limit), the step S28 of checking the playing conditions (NG) and the step S32 of checking the limits of the note ranges (beyond limits), but may include further checks. In case the chord type is designated as “cancel,” the step S27 of checking the note overlap may be omitted so that the converted note will be generated anyway.
The number of chords to be applied to the note conversion is not limited. The chord data may be stored beforehand, or may be inputted in real time.
Particularly in the input note conversion processing #3, the contents of the table of conversion conditions for the voices (
While in the embodiment, the conversion table is determined with reference to the table of conversion conditions for voices (
When referring to the note conversion tables TBa and TBs, the candidate converted notes are picked up in consideration of the number of simultaneously inputted notes (i.e. depressed keys) in the above explained embodiments, but separate conversion tables may be prepared individually for the different numbers of simultaneously inputted notes.
The step S25 of checking the number of tones to be simultaneously generated may be passed through (as within the limit) with respect to the voices which have nothing to do with the number of simultaneously generated notes.
In case the step S26 judges that the converted note NTc is not within the limit designated by the limit parameters NH or NL in the table of conversion conditions for the voices, the embodiment conducts the step S32 of limit check and forward (S33 and S34, or S31 and S30), but the processing may directly flow to the step S31 to generate no tone, or may shift the converted note NTc and then conduct the note range check step S26 again, or may involve other process steps.
As will be understood from the foregoing description, the present invention has many advantages including the following.
According to the assistive music playing system of the present invention, the player does not need to pay precise attention in playing (inputting) correct notes but to engage himself/herself in playing music rhythmically and emotionally according to his/her general feeling, thereby to present an acceptable music performance.
According to the input note conversion processing #1 in the input note conversion system of the present invention, the inputted notes according to the user's playing are converted to the notes which will fit the chord at the time of the note input using the conversion tables adapted for different chords, and further the note conversion is controlled so that a plurality of converted notes for simultaneous generation shall not be the same or very close notes depending on the note sub-ranges or on the playing conditions, thereby preventing the generation of overlapping notes, and therefore a natural acoustic feeling will be maintained.
According to the input note conversion processing #2 in the input note conversion system of the present invention, the inputted notes according to the user's playing are converted to the notes which will fit the chord at the time of the note input, and the note conversion is controlled so that the converted note may be basic notes (e.g. chord constituent notes or scale notes) or may be non-basic notes (e.g. tension notes or ornaments) based on the note input state such as the key depression state, thereby permitting the conversion to the notes other than basic notes depending on the note input state, and therefore the player can enjoy a music performance with full of variety including non-basic notes according to the player's desire.
According to the input note conversion processing #3 in the input note conversion system of the present invention, the inputted notes according to the user's playing are converted to the notes which will fit the chord at the time of the note input, in which the note conversion tables are selectively used according to the voices designated by the voice information, and the converted notes are further controlled to fit the voice according to the note conversion conditions corresponding to the designated voice, and therefore different note conversions are possible in connection with different voices, so that a realistic performance with peculiar features on an actual instrument (voice) will be presented without the user paying particular attention.
While several forms of the invention have been shown and described, other forms will be apparent to those skilled in the art without departing from the spirit of the invention. Therefore, it will be understood that the embodiments shown in the drawings and described above are merely for illustrative purposes, and are not intended to limit the scope of the invention, which is defined by the appended claims.
Number | Date | Country | Kind |
---|---|---|---|
2002-258917 | Sep 2002 | JP | national |
2002-354134 | Dec 2002 | JP | national |
2002-354135 | Dec 2002 | JP | national |
2002-361884 | Dec 2002 | JP | national |
This is a continuation of U.S. patent application Ser. No. 10/655,491 filed Sep. 4, 2003, the entire disclosure of which is incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
5315060 | Paroutaud | May 1994 | A |
5403967 | Takano | Apr 1995 | A |
5612501 | Kondo et al. | Mar 1997 | A |
5850051 | Machover et al. | Dec 1998 | A |
6100462 | Aoki | Aug 2000 | A |
6639141 | Kay | Oct 2003 | B2 |
Number | Date | Country |
---|---|---|
2001-100745 | Apr 2001 | JP |
Number | Date | Country | |
---|---|---|---|
20080028919 A1 | Feb 2008 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 10655491 | Sep 2003 | US |
Child | 11865066 | US |