The present invention relates to a method and device for automatically composing a piece of music in accordance with various musical conditions.
With a widespread use of personal computers, everyone has now come to be able to freely enjoy various types of music through the “computer music” technique, which uses a computer to play a musical instrument, compose a piece of music (music piece), arrange a composed music piece and synthesize to a tone color. Particularly, in the field of music composition using a computer, even people without expert knowledge of music can compose easily by just entering and setting various musical conditions as directed by the computer. In addition, automatic music composing devices have recently been proposed which analyze characteristics of a melody to an original music piece by classifying the melody into harmonic and non-harmonic tones and further classifying the non-harmonic tones. The proposed automatic music composing devices then synthesize a new melody in accordance with the analysis results and chord progression to thereby automatically compose a music piece.
For example, Japanese Patent Laid-open Publications Nos. SHO-63-311395, SHO-63-250696 and HEI-1-167783 disclose automatic composing techniques which take non-harmonic tones into account as mentioned above. Further, in U.S. Pat. No. 4,926,737, there is disclosed a technique which extracts characteristic parameters out of a motif melody and creates a new melody on the basis of the thus-extracted parameters. In addition, Japanese Patent Laid-Open Publication No. HEI-3119381 teaches an automatic composing technique which analyzes time series forming a melody of an original music piece so as to calculate linear predictive coefficients and create a new melody on the basis of the calculated linear predictive coefficients. Furthermore, Japanese Patent Laid-open Publication Nos. HEI-4-9892 and HEI-4-9893 disclose technique of analyzing a melody on the basis of chords and tonality in a melody. All of the prior techniques create a new melody in accordance with a given chord progression and by use of extracted characteristic parameters or analyzed data of a melody. These techniques, however, required user's special knowledge of music.
Furthermore, Japanese Patent Laid-Open Publication No. SHO-60-107079 shows a technique which prestores many kinds of note patterns (patterns of pitch variation tendency and note combination) for a single measure and selects a desired one of the prestored note patterns so as to automatically compose a music piece comprised of a plurality of measures. This technique, however, can only compose a music piece with a limited note combination (positions of individual positions within a measure) because the note combination is fixedly contained in the pattern.
Moreover, Japanese Patent Laid-open Publication No. HEI-6-75576 discloses a technique which prestores many pieces of correlative melody information, selects a desired piece of the correlative melody information for convolutional integral operations thereon so as to form melody outline information (information indicative of a time-varying pitch tendency), and automatically composes a music piece on the basis of the melody outline information. However, this publication fails to describe in detail a manner in which notes are allocated to the formed melody outline and only discloses that a music piece is created by entering musical rules.
Because the known automatic composing techniques in the filed of computer music as discussed above are merely based on such processing as to satisfy a variety of preset musical conditions (such as a chord progression, musical genre and rhythm (type), they can not perform normal composing operations hitherto done by a human being, such as first creating words and then creating music suitable for the words.
Further, in the prior art automatic music composing devices which analyze melodic characteristics of an original music piece and compose a new music piece on the basis of results of the analysis, the analysis results were used directly without being substantially modified. Even where the analysis results were modified partly, the partial modification did not mean anything more than mere random rewriting of the analysis results, due to the fact that it could not be clearly recognized how the modification acts in the course of the automatic composition. Therefore, these automatic music composing devices could not achieve automatic composition of a music piece as contemplated by an operator or user.
It is therefore an object of the present invention to provide a method and device for automatically composing a music piece which allow users, having no special musical knowledge about chord progression, to easily perform operations for the music piece composition.
It is another object of the present invention to provide a method and device which are capable of composing a music piece in such a manner that a user's intention is easily reflected in the music piece.
It is still another object of the present invention to provide a method and device which are capable of automatically composing a music piece with increased ease on the basis of words for the music piece to be composed.
In order to accomplish the objects, the present invention provides an automatic music composing device which comprises a supply section for supplying music template information including at least information indicative of a pitch variation tendency in each of a plurality of sections forming a music piece, an input section for, in response to an operation of a user, inputting information indicative of a tendency relating to the number of notes contained in each of sections of a music piece to be composed, and a determination section for determining a length and pitch of each note to be contained in each of the sections of the music piece to be composed, on the basis of the music template information and the information indicative of a pitch variation tendency in each of the sections inputted by the input section.
The above-mentioned information indicative of a pitch variation tendency in each of the sections may be that of a pitch envelope which is relatively accurate information, or more generalized information of a general pitch variation tendency. The information indicative of a tendency relating to the number of notes in each section is information relating to each individual note to exist in the phrase. Each such section corresponds to a short independent portion of a melody called a “phrase”. The information relating to each individual note in the phrase which is most familiar to nonprofessional users may be words for a music piece. Although there are of course some exceptions from the view point of the musical theory, individual syllables in the words in most cases can be regarded as corresponding more or less to individual notes, and thus it is very preferable to make use of such an idea in automatic music composing techniques because the idea greatly simplifies user's data entry for music composition. The information indicative of a tendency relating to the number of notes in a single phrase can be entered by the user making and entering words suitable for the phrase. For languages such as Japanese where in most cases each letter corresponds to one syllable, this is very convenient because entering words in characters results directly in entry of syllable information.
Of course, for other languages such as English where letters of words do not correspond to syllables on a one-to-one basis, syllables of the words phrases can be analyzed on the basis of entered letters of the words, so that the thus-analyzed syllable information can be used as the above-mentioned information indicative of a tendency relating to the number of notes. However, the simplest method will be to enter a desired words phrase in the form of scat having a single syllable like “Du” rather than entering the words in letters. In such a case, entering, in addition to syllable information of the words, information indicating long vowels as necessary may be very useful in determining a length of note corresponding to each note. In this manner, a length and pitch of each note to be contained in each phrase can be determined on the basis of entry of the information indicative of a tendency relating to the number of notes in each of the sections, and thus data of a music piece can be generated automatically.
According to the present invention thus arranged, the user only has to enter the information indicative of a tendency relating to the number of notes in each phrase in the form of words information or syllable information such as scat, with the result that the user need not have any special knowledge of music. Further, because the information indicative of a tendency relating to the number of notes can be entered by the user entirely freely, a music piece with free note arrangement (position and length of each note in a measure), and besides, the user's intention can be reflected easily on the music piece.
Preferably, the above-mentioned supply section includes a memory having prestored therein a plurality of pieces of the music template information for a plurality of different music pieces, and a selection section for selecting from the memory a desired piece of the music template information. This permits automatic composition, free of any musical problem, by use of music template information for an already-composed music piece without requiring the user's special knowledge of music.
The supply section may further include a section which, in response to an operation of the user, changes the contents of the piece of the music template information selected by the selection section. Because the change is made to the music template information, it allows the user's intention to be easily reflected in the music piece composed.
The present invention also provides a method of automatically composing music using a computer which comprises the steps of supplying music template information including at least information indicative of a pitch variation tendency in each of a plurality of sections forming a music piece, inputting, in response to an operation of a user, information indicative of a tendency relating to a number of notes in each of sections of a music piece to be composed, and determining a length and pitch of each note to be contained in each of the sections, on the basis of the music template information and the information indicative of a tendency relating to a number of notes in each of sections inputted by the input section.
The present invention further provides a method of automatically composing music using a computer which comprises the steps of analyzing musical characteristics for each of a plurality of sections forming a music piece and, on the basis of the analyzed musical characteristics, supplying music template information including at least information indicative of a pitch variation tendency in the section and information relating to a number of notes and a position of each the note in the section, storing the supplied music template information into a memory, the memory storing a plurality of pieces of the music template information for a plurality of music pieces, selecting from the memory a desired piece of the music desired template information in response to an operation of a user, editing contents of the selected piece of the music template information in response to an operation of the user, and determining a position, length and pitch of each note to be contained in each of the sections, on the basis of the piece of the music template information selected and edited in the steps of selecting and editing, so as to generate music data.
The present invention further provides a machine-readable recording medium which contains a program to be executed by a computer for implementing the automatic music composing method proposed above.
An automatic music composing device in accordance with another aspect of the present invention comprises an information supply section for supplying information including at least syllable data corresponding to words for a music piece to be composed, a setting section for setting characteristic data to characterize the music piece to be composed, and a music piece generation section for generating the music piece corresponding to the words on the basis of the information including the syllable data supplied by the information supply section and the characteristic data set by the setting section.
The characteristic data characterizing the music piece to be composed are for example the arrangement of passages, key, time and pitch range of the music piece, which may be designated by the user or prestored within the music composing device. Normally, a music piece may be automatically composed by just designating the characteristic data, but the present invention is designed to automatically generate a music piece well matching the user-specified syllable data corresponding to the words in consideration of its relations with the syllable data.
An automatic music composing device in accordance with still another aspect of the present invention comprises a performance data input section for inputting performance data that represents a music piece having a plurality of sections, a characteristic extraction section for analyzing the performance data for each of the sections so as to extract musical characteristics of the section, a storage section for storing the musical characteristics of each of the sections extracted by the extraction section as characteristic data to characterize the music piece, and a music piece generation section for generating performance data representing a new music piece, on the basis of the characteristic data stored in the storage section.
If performance data representing a music piece are for example MIDI data, the performance data input section supplies the performance data along with data indicative of phrase divisions, measure lines, etc. The characteristic extraction section analyzes the performance data for each phrase and measure line in order to extract the musical characteristics, such as pitch and rhythm patterns, for each phrase and measure. Therefore, the characteristic extraction section extracts a plurality of the musical characteristics for a single music piece. The storage section stores, as characteristic data for a music piece, the plurality of the musical characteristics extracted by the characteristic extraction section. The music piece generation section generates a new music piece on the basis of the characteristic data stored in the storage section. Thus, if it is desired to edit a portion of the music piece generated by the music piece generation section, the present invention greatly facilitates the desired editing by modifying those of the stored characteristic data that are associated with the relevant phrase and measure line.
For better understanding of the above and other features of the present invention, the preferred embodiments of the invention will be described in detail below with reference to the accompanying drawings, in which:
The electronic musical instrument is controlled by a microcomputer comprised of a microprocessor unit (CPU) 1, a program memory 2 and a working memory 3.
The CPU 1 controls the overall operation of the electronic musical instrument. As shown, to this CPU 1 are connected, via a data and address bus 1D, the program memory 2, the working memory 3, a performance data memory (RAM) 4, a depressed key detection circuit 5, a switch operation detection circuit 6, a display circuit 7 and a tone source circuit 8.
The program memory 2 is a read-only memory (ROM) which has stored therein various programs to be run by the CPU 1, various data and various marks and letters. In this program memory 2, there is also stored an operating program for implementing an automatic music composing method according to the principle of the present invention.
The working memory 3 is allocated in predetermined address areas of a random access memory (RAM) for use as various registers and flags for temporarily storing performance information and various data which occur as the CPU 1 executes the programs.
The performance data memory (RAM) 4 is provided to prestore, for a plurality of music pieces, various performance-related data such as music piece templates, pitch patterns and rhythm patterns, i.e., data indicating musical characteristics of an analyzed music piece.
Keyboard 9 connected to the depressed key detection circuit 5 has a plurality of keys for designating the pitch of any tone to be generated and key switches provided in corresponding relations to the keys. Depending on the applications, the keyboard 9 may also include a key-touch detection means such as a key-depression velocity or force detecting device.
The depressed key detection circuit 5, which comprises circuitry including a plurality of key switches corresponding to the keys on the keyboard 9, outputs a key-on event information signal upon detection of each new depressed key and a key-off event information signal upon detection of each new released key. The depressed key detection circuit 5 also generates key touch data by determining the key-depression velocity or force and outputs the generated touch data as velocity data. In this embodiment, each of the key-on and key-off event information and velocity data is expressed on the basis of the MIDI standards and contains data indicative of a key code of the depressed or released key and a channel to which tone generation of the key is assigned.
On an operation panel 1A, there are provided an analyzing switch to initiate an analysis and extraction of musical characteristics of an already-composed (existing) music piece, an arranging switch to initiate automatic composition of a music piece based on the results of the analysis and extraction, ten-keys to enter numerical value data, a keyboard to enter letter data, and various other operators to enter various musical conditions relating to automatic music piece composition. Although the operation panel 1A includes other operators for selecting, setting and controlling the pitch, color, effect, etc. of each tone to be generated, these operators will not be described in detail because they are well known in the art.
The switch operation detection circuit 6 detects an operational condition of each of the switches and operators to provide switch event information corresponding to the detected condition to the CPU 1 via the data and address bus 1D.
The display circuit 7 shows on a display 1B various information such as the controlling conditions of the CPU 1 and contents of various setting data, and the display 1B may comprise for example a liquid crystal display (LCD) that is controlled by the display circuit 7.
The above-mentioned operation panel 1A and display 1B together constitute a GUI (Graphical User Interface).
The tone source circuit 8 has a plurality of tone generation channels, by means of which it is capable of generating plural tones simultaneously. The tone source circuit 8 receives performance information (data complying with the MIDI standards) supplied via the data and address bus 1D, and it generates tone signals on the basis of the received data. Any tone signal generating method may be used in the tone source circuit 8 depending on an application intended. For example, any conventionally-known tone signal generating method may be used such as: the memory readout method where tone waveform sample value data stored in a waveform memory are sequentially read out in accordance with address data that change in correspondence to the pitch of tone to be generated; the FM method where tone waveform sample value data are obtained by performing predetermined frequency modulation operations using the above-mentioned address data as phase angle parameter data; or the AM method where tone waveform sample value data are obtained by performing predetermined amplitude modulation operations using the above-mentioned address data as phase angle parameter.
The tone signals thus generated by the tone source circuit 8 are sounded or audibly reproduced via a sound system 1C comprised of amplifiers and speakers (not shown).
In a hard disk 201, there may be stored various data such as music template information as stored in the performance data memory 4 and the above-mentioned operating program for automatic composition as stored in the program memory 2. By prescoring the operating program in the hard disk 201 rather than in the ROM 2 and loading the operating program into the RAM 3, the CPU 1 can operate in exactly the same way as where the operating program is stored in the ROM 2. This greatly facilitates version-up of the operation program, addition of an operating program, etc. A CD-ROM (compact disk) 202 may be used as a removably-attachable external recording medium for recording various data such as performance data, music template information and an optional operating program similarly to the above-mentioned. Such an operating program and data stored in the CD-ROM 202 can be read out by a CD-ROM drive 203 to be transferred for storage into the hard disk 201. This facilitates installation and version-up of the operating program. The removably-attachable external recording medium may of course be other than the CD-ROM, such as a floppy disk and magneto optical disk (MO).
A communication interface 204 may be connected to the bus 1D so that the microcomputer system can be connected via the interface 204 to a communication network 205 such as a LAN (Local Area Network), internet and telephone line network and can also be connected to an appropriate sever computer 206 via the communication network 205. Thus, where the operating program and various data are not contained in the hard disk 201, these operating program and data can be received from the server computer 206 and downloaded into the hard disk 201. In such a case, the microcomputer of the electronic musical instrument, i.e., a “client”, sends a command requesting the server computer 206 to download the operating program and various data by way of the communication interface 204 and communication network 205. In response to the command, the server computer 206 delivers the requested operating program for automatic composition and data to the microcomputer via the communication network 205. The microcomputer completes the necessary downloading by receiving the operating program and data via the communication network 204 and storing these into the hard disk 201.
It should be understood here that the microcomputer of the electronic musical instrument may be implemented by installing the operating program and various data corresponding to the present invention in any commercially available personal computer. In such a case, the operating program and various data corresponding to the present invention may be provided to users in a recorded form on a recording medium, such as a CD-ROM or floppy disk, which is readable by a personal computer that is used implement automatic composition according to the present invention. Where the personal computer is connected to a communication network such as a LAN, the operating program and various data may be supplied to the personal computer via the communication network similarly to the above-mentioned.
Next, a description will be made about exemplary operation of the automatic music composing device according to the present invention, with reference to FIG. 1.
At step 11, a determination is made as to whether the analyzing switch has been actuated on the operation panel 1A. If the analyzing switch has been actuated (YES), the operations of steps 12 to 15 are executed; otherwise (NO), the CPU 1 jumps to step 16.
At step 12, various information on the score of the already-composed music piece is read in. For example, the title, musical style, genre, melody, chord progression, words, key, time, tempo, measure lines, phrase divisions are input by use of the GUI (operation panel 1A and display 1B), keyboard 1B, etc. If the already-composed music piece can be read in as MIDI data, the melody, key, tempo, etc. may be analyzed on the basis of the MIDI data with the unanalyzable title, musical style, etc. being introduced by the user via the GUI. At step 13, the score information input through the operation of step 12 is stored into a predetermined region of the working memory 3.
At next step 14, the CPU 1 executes a process to analyze and extract the musical characteristics of the music piece on the basis of the score information having been input in the above-mentioned manner.
Step 31: The score information of the already-composed music piece is read out from the working memory 13, and the number of the phrases contained in the score information is determined and stored into a number-of-phrases register FN.
Step 32: A counter register CNT is set to a value of “1”.
Step 33: The operations of steps 34 to 39 are performed for the phrase of the phrase number designated by the counter register CNT as a “phrase in question”. The operations of steps 34 to 36 analytically extracts pitch-related factors out of the score information, while the operations Steps 37 to 39 analytically extracts rhythm-related factors out of the score information.
Step 34: The melody of the phrase in question is converted into individual pitch difference data using the first pitch of the phrase as a pitch converting basis.
Step 35: The pitch pattern of the phrase in question is detected on the basis of the pitch difference data obtained at step 34. In this case, a line graph plotted by connecting every pitch difference data within the phrase may be used as the pitch pattern. However, because such a line graph connecting every pitch difference data will considerably complicate a later-described pitch contrast/imitate determination, this embodiment uses, as the pitch pattern of the phrase, a line graph plotted by connecting only four pitches, i.e., the first and last and highest and lowest pitches in the phrase. If, however, the first or last pitch is the same as the highest or lowest pitch, a line graph connecting two or three of the pitches is used as the pitch pattern of the phrase. Alternatively, a line graph may be used which is plotted by extracting the maximal and minimal pitches from the graph connecting every pitch difference data and connecting the extracted pitches and first and last pitches of the phrase.
Step 36: The first and last pitches of the phrase are detected.
Step 37: Bouncing and syncopation are removed from the rhythm pattern of the phrase to detect a primitive rhythm pattern of the phrase. Although the original rhythm pattern of the score information may be directly used as the primitive rhythm pattern, it will considerably complicate the later-described pitch contrast/imitate determination. Thus, this embodiment includes sets of detecting patterns to be used for detecting bouncing and syncopation and basic patterns obtained by removing such bouncing and syncopation from the detecting patterns, and it removes bouncing and syncopation from the phrase's rhythm pattern by replacing a portion of the phrase's rhythm pattern matching one of the detecting patterns with the corresponding basic pattern, so as to create the primitive rhythm pattern.
Step 38: A comparison is made between the numbers of notes present in the former and latter halves of the phrase, in order to detect a note density in the phrase; for example, for example, where the phrase has two measures, a comparison is made between the numbers of notes present in the former and latter measures of the phrase. If the difference in the number of notes between the former and latter measures is three or more, one of the measures that has more notes is determined as dense and the other measure having less notes is determined as sparse. If, however, the difference in the number of notes present between the two measures is two or less, then the measures are determined as having an equal number of notes, not as dense and sparse.
Step 39: A determination is made as to whether there is a rest at the head of the phrase, i.e., whether there is a time delay at the first beat of the phrase.
Step 3A: A determination is made as to whether the current values in the counter register CNT and phrase number register FN are equal. If the determination is in the affirmative (YES), this means that the operations of steps 33 to 39 have been completed for all the phrases contained in the score information, and thus the CPU 1 executes operations at and after step 41 of
Step 3B: Because of the negative determination at step 3A, the CPU 1 reverts to step 33 after incrementing the counter register CNT by “1”.
A description will next be made about the analyzing and extracting process for the whole of the score information of steps 41 to 4A of FIG. 4.
Step 41: Pitch range for the whole of the score information is detected on the basis of the highest and lowest pitches contained in the information.
Step 42: On the basis of the line graph obtained at step 35, it is examined here whether the individual phrases are approximate or similar in pitch pattern to each other. If the examination shows that the phrases are approximate or similar in pitch pattern, the phrases following the first phrase are determined as imitating the pitches of the first phrase.
Step 43: From the whole score information are detected such notes having the shortest and longest duration (i/e/., the shortest and longest notes).
Step 44: On the basis of the primitive rhythm obtained at step 37, it is examined whether the individual phrases are approximate or similar in rhythm pattern to each other. If the examination shows that the phrases are approximate or similar in rhythm pattern, the phrases following the first phrase are determined as imitating the rhythm pattern of the first phrase.
Step 45: It is examined what proportion (percentage) of the whole score information (i.e., the whole music piece) the phrases detected at step at 39 as having a rest account for. If the rate is 0 percent, the phrase occupancy is treated as “null”, if the proportion is greater than 0 percent but smaller than 80 percent, the phrase occupancy is treated as “medium”, and if the proportion is more than 80 percent, the phrase occupancy is treated as “high”.
Step 46: It is examined what proportion (percentage) of the whole score information (i.e., the whole music piece) the phrases having syncopation removed therefrom at step 37 account for. If the proportion is 0 percent, the phrase occupancy is treated as “null”, if the proportion is greater than 0 percent but smaller than 80 percent, the phrase occupancy is treated as “medium”, and if the proportion is more than 80 percent, the phrase occupancy is treated as “high”, at step 45.
Step 47: The pitches in the whole score information are smoothed so as to obtain a pitch curve; for example, the pitch curve may be obtained by connecting the pitch of every note with a spline or Bezier curve.
Step 48: The volume values in the whole score information are smoothed so as to obtain a strength/weakness curve; for example, the strength/weakness curve may be obtained by connecting the velocity value of every note with a spline or Bezier curve.
Step 49: The pitch and strength/weakness curves obtained at steps 47 and 48, respectively, are added together and set as an emotional fluctuation curve. Alternatively, the emotional fluctuation curve may be obtained by multiplying or averaging the pitch and strength/weakness curves.
Step 4A: A determination is made as to whether the whole score information is melodic or rhythmic. If the tempo value is greater than a predetermined value, the whole score information is determined as rhythmic; otherwise, the whole score information is determined as melodic. Alternatively, if the average value of the duration time is greater than a predetermined value, the whole score information may be determined as melodic; otherwise, the whole score information may be determined as rhythmic.
At step 15, the results of the analyzing and extracting process are stored into the performance data memory 4 as a composition template. Consequently, a plurality of results of the user's analysis and extraction will be stored into the performance data memory 4. The above-described analyzing and extracting process may be performed for a specific number of music pieces, each representing a different genre, to store the processed results of the musical pieces in advance.
In the musical form block of
The musical motif block includes a genre storing location, an image music piece storing location, a composer storing location and melodic/rhythmic selection location. In the genre storing location is stored a name of genre of a music piece to be composed. Although “8 beat” is stored in the illustrated example, the genre name to be stored in this location may be “dance and pop music” (rap, Euro-beat or pop ballad), “soul music” (such as dance funk, soul ballad or R & B), “rock music” (such as soft 8 beat, 8 beat or rock'n roll), “jazz music” (such as swing, jazz ballad or jazz bossa nova), “Latin music” (such as bossa nova, samba, rumba, beguine, tango or reggae), “march music”, “enka” (which is a type of Japanese popular song full of melancholy), and “shoka” (which are Japanese songs for schoolchildren).
In the image storing location of the musical motif block of
The general rhythm condition block of
In the time storing location is stored the time of the music piece; time “ 4/4” is stored in the illustrated example. In the tempo storing location is stored a tempo of the music piece which is expressed in the form of a metronome mark or speed-indicating characters; in the illustrated example, a metronome mark is stored which indicates 120 quarter-notes per minute. In the shortest note storing location is stored a note having the shortest duration detected at step 43 of
The general pitch condition block of
In an emotional fluctuation block of
Pitch block of
In the first/last tone storing location are stored the first and last pitches of each phrase, analytically extracted at step 36 of
Further, rhythm block of
Referring back to
When the editing switch is activated to cause the electronic musical instrument to operate as the automatic music composing device, it is necessary for the user to set various musical conditions at step 17 and enter words at step 18. Once the musical conditions are set and the words are entered by the user, the CPU 1 executes operations of steps 19 to 23 in accordance with the musical conditions and words and internal musical conditions prestored within the device, so as to automatically compose a music piece. Finally, at step 24, the music piece is completed by the user modifying the automatically composed music piece.
More specifically, at step 17, the user sets the user musical conditions using the GUI (operation panel 1A and display 1B) to enter data in the individual blocks and locations on the screens as shown in
In order to designate a phrase (a short independent portion of melody line), the user enters space marks (triangle marks “Δ” in the illustrated example) at locations corresponding to phrase-dividing points, as shown in FIG. 7B. Such space marks become phrase-dividing marks.
Measure line marks “/” may be entered at each location of a measure line in order to designate a boundary, i.e., division between measures, as shown in FIG. 7C. Also, long vowel marks “-” may be entered after predetermined syllable data, as shown in FIG. 7D. The note length allocated to the syllable data may be controlled by entering a plurality of the long vowel marks in succession.
Further, accent marks “.” may be added to each appropriate syllable data. The pitch and velocity of each syllable data with the accent mark will be set slightly higher than other syllable data during a subsequent automatic composition. The intonation of the syllable data may be entered in a broken line, as shown in FIG. 7F. Further, the syllable data located at each climax portion of the music piece may be designated in a half-tone dot mesh block, as shown in FIG. 7G.
While the entry of the syllable data and the setting of the phrase dividing marks are essential to this embodiment, the entry of the measure line marks “/”, long vowel marks “-” accent marks “.” and intonation and climax indications is optional, i.e., may be made only when the user thinks they are necessary. Also, divisions between syllables and rhyming points may be set as needed.
The thus-entered words data are stored into a words memory area within the working memory 3.
At each address location for the syllable data having the accent mark attached thereto as shown in
Further, at each address location for the syllable data having intonation imparted thereto as shown in
Once the user's setting of the musical conditions and entry of the words data are completed, the CPU 1 executes operations of steps 19 to 23 in accordance with the user musical conditions and words data and internal musical conditions prestored within the electronic musical instrument, so as to automatically compose a music piece. The internal musical conditions prestored within the electronic musical instrument include those that act to present genre-specific or composer-specific characteristics, that act to make rhythm patterns easy to sing, that act to make pitch patterns easy to sing, that act to raise pitches and increase note lengths to achieve a tone jump, and that act to make pitch patterns and rhythm patterns resemble each other in rhyming points.
Referring back to
Step 91: The phrase number register FN is set to a value of “1”.
Step 92: From the words memory, all the words data are read out which form a phrase of the phrase number designated by the phrase number register FN. In the case of the words memory shown in
Step 93: The number of the words data read out at the preceding step 92 for the phrase of phrase number “1” is stored into a number-of-data register SN.
Step 94: A variable register C is set to a value of “1”.
Step 95: The “C”th words data corresponding to the set value in the variable register C is read out.
Step 96: A determination is made as to whether the words data read out at preceding step 95 is a measure line mark “/”. If the read-out words data is a measure line mark “/” (YES), the CPU 1 moves to step 97; otherwise, the CPU 1 moves to step 98.
Step 97: Because a measure line position is designated by the user, the address location for the measure line mark “/” is determined as a measure division point.
Step 98: A determination is made as to whether the words data read out at step 95 is a long vowel mark “-”. If the read-out words data is a long vowel mark “-” (YES), the CPU 1 moves to step 99, otherwise, the CPU 1 moves to step 9A.
Step 99: The data immediately before the words data (syllable data) preceding the read-out long vowel mark “-” is determined as a candidate for measure division.
Step 9A: A determination is made as to whether any accent is designated for the words data (syllable data) read out at step 95. If answered in the affirmative, the CPU 1 goes to step 9B, but if no accent is designated for the read-out words data, the CPU 1 proceeds to step 9C.
Step 9B: The data immediately before the read-out words data having the accent is determined as a measure division candidate.
Step 9C: The variable register C is incremented by one in order to read out next words data.
Step 9D: A determination is made as to whether the incremented value of the variable register C is greater than the value of the number-of-data register SN. If the incremented value of the variable register C is greater (YES), this means that readout of all the words data of the phrase has been completed, so that the CPU 1 moves to step 101 of FIG. 10. If, however, the incremented value of the variable register C is not greater than the value of the number-of-data register SN, this means that the phrase has further words data to be read out, and hence the CPU 1 reverts to step 95 of
Step 101: Because this embodiment assumes that each phrase consists of two measures, it is determined whether there exit two or more measure line marks “/”. If two or more measure line marks exist (YES), the CPU 1 jumps to step 107, but if there exits no or only one measure line mark (NO), the CPU 1 performs operations of steps 102 to 106 so as to determine a measure line.
Step 102: Now that there exits no or only one measure line mark as determined at step 101, the CPU 1 goes to step 103 if only one measure line mark exits, but goes to step 104 if no measure line mark exits.
Step 103: Now that only one measure line mark exits in the phrase as determined at preceding step 102, if there are two or more measure line candidates determined at step 99 or 9B, one of the candidates is selected randomly, so as to finally determine the one measure division point determined from the measure line mark “/” and the randomly selected candidate as two measure line locations. If there exits only one candidate for measure division point, the candidate is determined as a measure line location. If there exits no measure line candidate, one of the divisions between the syllable data is selected randomly and set as a measure line location.
Step 104: Now that preceding step 102 has ascertained that no measure line mark “/” exists in the phrase, it is further determined whether there are two or more measure line candidates determined at step 99 or 9B. With an affirmative determination, the CPU 1 goes to step 105, but if there is no such a candidate, the CPU 1 proceeds to step 106.
Step 105: Now that it has been determined thathere are two or more measure line candidates in the phrase with no measure line mark existing therein, the first and last ones of the candidates are determined as measure line locations.
Step 106: If only one measure line candidate exists in the phrase, this candidate and one division randomly selected from among the divisions between the syllable data are determined as measure line locations. If, however, no measure line candidate exists in the phrase, two divisions randomly selected from among the divisions between the syllable data are determined as measure line locations.
Step 107: Measure line marks are inserted at the two measure line locations determined by the operation of one of steps 103, 105 and 107.
Step 108: A determination is made as to whether the stored value in the phrase number register FN has reached the phrase number of the last phrase. If answered in the affirmative, the CPU 1 returns to end this measure division setting process, but if the stored value of the phrase number register FN has not reached the last phrase number, the CPU 1 branches to step 109.
Step 109: Now that the last phrase number has not been reached as determined at preceding step 108, the value of the phrase number register FN is incremented by one, and the CPU 1 reverts to step 92 of
Upon completion of the above-described measure division setting process of step 19, the CPU 1 proceeds to step 20 of
Step 111: The phrase number register FN is set to a value of “1”.
Step 112: From the words memory, all the words data are read out which form a phrase of the phrase number designated by the phrase number register FN.
Step 113: A determination is made as to whether there is an indication, in the rhythm pattern contrast/imitate row on the musical condition setting screen shown in
Step 114: Now that there is the indication to imitate a rhythm pattern as defined at preceding step 113, the first beat of a phrase to be imitated is determined as the first beat of the phrase in question.
Step 115: A determination is made as to whether there is an indication, in the phrase head delay specifying location on the musical condition setting screen shown in
Step 116: Now that there is the indication to effect a delay at the head of the phrase as defined at preceding step 115, it is further determined here whether “NULL” is indicated in the first-beat delay frequency storing location on the musical condition setting screen for the whole music piece of FIG. 5. If “NULL” is indicated in the first-beat delay frequency specifying location (YES), the CPU 1 moves to step 120 of
Step 117: Now that the first beat delay frequency is “MEDIUM” or “HIGH” as determined at step 116, it is further determined whether the first beat delay frequency is “HIGH” and also a random number generator (which randomly generates values from “0” to “99”) is currently generating a random number value not less than “20” If answered in the affirmative, the CPU 1 goes to step 119, but if answered in the negative, the CPU 1 proceeds to step 118. Thus, when the first beat delay frequency is “HIGH”, an affirmative determination is yielded at this step with a probability of 80 percent.
Step 118: Now that a negative determination has been yielded at preceding step 117, it is further determined here whether the first beat delay frequency is “MEDIUM” and also the random number generator is currently generating a random number value not less than “50”. If answered in the affirmative, the CPU 1 goes to step 119, but if answered in the negative, the CPU 1 proceeds to step 120 of FIG. 12. Thus, when the first beat delay frequency is “MEDIUM”, an affirmative determination is yielded at this step with a probability of 50 percent.
In this way, whether or not the first beat of the phrase in question should be delayed can be decided depending on the delay frequency “HIGH” or “MEDIUM”. The above-mentioned values “20” and “50” are only illustrative, and the user may of course optionally set other values for the same purpose.
Step 119: Because of an affirmative determination at preceding step 117 or 118, former and latter halves (hereinafter called a “top” and “bottom”) of each beat, except for the top of the first beat, are determined randomly in order to delay the first beat of the phrase.
Step 120: Because there is no instruction to delay the phrase head as determined at step 115 and the phrase delay frequency is “NULL” as determined at step 116, or because a negative determination has been yielded at step 117 or 118, a further determination is made as to whether there is any unallocated (undetermined) beat of the preceding phrase. If answered in the affirmative, the CPU 1 goes to step 122, but if answered in the negative, the CPU 1 proceeds to step 121.
Step 121: Now that the phrase delay frequency is “NULL” as determined at step 116 and there is no unallocated beat of the preceding phrase as determined at step 120, the top of the first beat is determined as beat timing.
Step 122: Because step 120 has determined that there is some unallocated beat of the preceding phrase although the phrase delay frequency is “NULL” as determined at step 116, beat timing is randomly determined within a range from the first to fourth beats of the phrase in question including the unallocated beat.
Step 123: Now that the first syllable beat has been set in the above-mentioned manner, this step determines the last syllable beat of the phrase in correspondence with the setting of the first syllable beat. Namely, beat timing to be occupied by the last syllable beat is set in such a manner to correspond to the unallocated beat(s) in the measure in which the first syllable of the phrase resides. For example, if the initial beat timing in the measure where the first syllable resides is at the bottom of the third beat, this means that beats up to the top of the third beat are unallocated, so that the last syllable beat timing is determined to occupy up to the top of the third beat in the succeeding measure; if the initial beat timing in the measure where the first syllable resides is at the top of the third beat, this means that beats up to the bottom of the second beat are unallocated, so that the last syllable beat timing is determined to occupy up to the top of the second beat in the succeeding measure.
Step 124: The thus-determined beats of the first and last syllables are stored at the address locations of the corresponding syllable data in the words memory.
Step 125: A determination is made as to whether the stored value in the phrase number register FN has reached the last phrase number. If answered in the affirmative, the CPU 1 returns to end this beat setting process, but if the stored value of the phrase number register FN has not reached the last phrase number, the CPU 1 branches to step 126.
Step 126: Now that the stored value of the phrase number register FN has not reached the last phrase number as determined at preceding step 125, the value of the phrase number register FN is incremented by one, and the CPU 1 reverts to step 112 of
Once the beats of the first and last syllables have been set in the above-mentioned manner, the CPU 1 next executes a rhythm pattern generating process of step 21.
Step 141: The phrase number register FN is set to a value of “1”.
Step 142: From the words memory, all the words data are read out which form a phrase of the phrase number designated by the phrase number register FN.
Step 143: Priority for allocating notes, i.e., beat priority is determined on the basis of occurrence frequency at the individual tone generating timing within the phrase according to the musical conditions chosen or set as shown in FIG. 6. Namely, step 143 creates a beat priority setting table as shown in FIG. 15 and sets tone generation timing of each syllable. Specifically, occurrence frequency for frequency-related items (more-importance-to-beat, denseness/sparseness condition and contrast/imitate) is allotted to the top and bottom of beats forming each measure in the beat priority setting table.
In the “more-importance-to-beat” location or row of the beat priority setting table, there is used frequencies of weight value “1” that is preset in accordance with the genre. In
In the “denseness/sparseness” condition row, flag values are set at the locations of the top and bottom of the beats corresponding to the denseness/sparseness chosen or set on the musical condition setting screen shown in
In the “contrast/imitate” row, flag values are set at the locations of the top and bottom of the beats corresponding to the rhythm pattern detected at step 37 of FIG. 3. When any passage to be imitated is designated on the musical condition setting screen shown in
In the “total frequency” row is stored a total of the frequency values of the above-mentioned “more-importance-to-heat”, “denseness/sparseness” and “contrast/imitate” rows for the top and bottom of each relevant beat. In the illustrated example, the total frequency for the top of the first beat is “12” which is a sum of “8” representing the “more-importance-to-beat” frequency value and “4” representing the “denseness/sparseness” condition. The total frequencies for the bottom of the first beat, top of the second beat, bottom of the second beat, top of the third beat, bottom of the third beat, top of the fourth beat and bottom of the fourth beat are “8”, “10 ”, “6”, “7”, “3”, “5” and “1”, respectively.
Finally, in a “measure-by-measure priority” row, priority numbers are allocated, in descending order of the total frequency, to the top and bottom of individual beats in each relevant measure. If the total frequency values are the same, the earlier has priority over the later. In the illustrated example of
In the “more-importance-to-beat”, “denseness/sparseness” and “contrast/imitate” rows, frequency values set for the top of the third beat in the first measure to the bottom of the second beat in the third measure are the same as in the above-described example of FIG. 15A. In a “measure-by-measure priority” row, priority numbers are allocated, in descending order of the total frequency, to the top and bottom of individual beats in each relevant measure. Thus, in the first measure of
Step 144: Tone generation timing of each syllable is determined in accordance with the thus-created beat priority setting table and the number of syllables in the phrase in question. If the read-out words data is a long vowel mark “-”, the allocation of tone generation timing is inhibited over the first to fourth sections following the syllable data immediately before the read-out mark “-”, depending on the number of syllables in the phrase.
For example, according to the beat priority setting table as shown in
Further, according to the beat priority setting table as shown in
Step 145: Note length of each syllable data is determined on the basis of the tone generation timing determined at preceding step 144. A rest is also inserted as needed. The rest inserting frequency will vary depending on which of “MELODIC” and “RHYTHMIC” is selected on the musical condition setting screen of FIG. 5.
For example, according to the beat priority setting table as shown in
According to the beat priority setting table as shown in
Step 146: The rhythm pattern determined by the operation of preceding step 145 is stored into a music piece memory. That is, the note lengths of the syllable data set at step 145 are stored, as duration data, into a music piece memory area within the working memory 3.
Step 147: A determination is made as to whether the stored value in the phrase number register FN has reached the last phrase number. If answered in the affirmative, the CPU 1 returns to end this rhythm generating process, but if the stored value of the phrase number register FN has not reached the last phrase number, the CPU 1 branches to step 148.
Step 148: Now that the stored value of the phrase number register FN has not reached the last phrase number as determined at preceding step 147, the value of the phrase number register FN is incremented at one, and the CPU 1 reverts to step 142 of
Once a rhythm pattern has been set in the above-mentioned manner, the CPU 1 next executes a pitch pattern generating process of step 22 of FIG. 1.
Step 161: The phrase number register FN is set to a value of “1”.
Step 162: From the words memory, all the words data are read out which form a phrase of the phrase number designated by the phrase number register FN.
Step 163: The number of the read-out syllable data is stored into the number-of-data register SN.
Step 164: Tone pitches are determined for the first and last syllables of the phrase designated by the phrase number register FN. That is, when degrees (I, II, III, IV, V, VI, VII) are designated in the first and last tones location of the musical condition setting screen shown in
Now that tone pitches have been set at step 164 for the first and last syllables of the phrase, operations of steps 165 to 167 are performed to determine a pitch for each remaining syllable in the phrase.
Step 165: A determination is made as to whether any pitch pattern is designated in the “phrase pitch pattern” location of the musical condition setting screen shown in FIG. 6. If answered in the affirmative, the CPU 1 jumps to step 167; otherwise, the CPU 1 goes to step 166.
Step 166: Now that no pitch pattern is designated in the phrase pitch pattern location as determined at preceding step 165, one of different pitch patterns of
Step 167: Tone pitches are set for (SN−2) syllables other than the first and last syllables on the basis of the templates selected at step 165 or 166. For example, in the case where the number of syllables is “9” and a pitch pattern as shown in
When the syllables other than the first and last are allocated uniformly on a template, they may sometimes not resemble the shape of the pitch pattern. More specifically, in such a case where the number of syllables is “6” as shown in
Instead of allocating the syllables uniformly on the template, sampling may be conducted as shown in (D) of
Amplitude levels in the pitch pattern are set depending, for example, on the activeness/quietness pattern set in the “activeness/quietness” location of the musical condition setting screen shown in
Referring back to
Step 24 executes an operation for the user to manually modify the music piece composed by the CPU 1 through the operations of steps 19 to 23. At this step, the data of the automatically composed music piece are read out from the music piece memory and visually presented on the display 1B. Then, operations are performed to modify the rhythms and pitches within each phrase and throughout the music piece, so as to modify the music piece data as needed; for example, connections between the phrases may be modified to facilitate singing of the music piece. If a phrase is to long, a breathing pause may be inserted. Portions of the music piece where high-pitched tones last too long and where an abrupt rhythm change occurs may also be modified. The user preferably effects modifications by actually listening to the playing of the music piece to check to see whether the music piece has too many disjunct motions, has good musical consistency, etc. The music piece data having been manually modified in this way are stored back into the music piece memory.
A succession of the operations of steps 17 to 24 described above permits automatic composition of a music piece corresponding to words designated by the user.
Whereas the preferred embodiment has been described above in relation to the case where musical conditions are set by the user, an already-composed music piece may be analyzed to extract its musical conditions, or the extracted musical condition may be modified by the user.
Further, although the preferred embodiment has been described above in relation to the case where syllable data are in Japanese, it should be obvious that the present invention is also applicable to syllable data in any other languages. In such a case, syllables may be analyzed and determined, from entered words information, on the basis of phonetic symbols such as monophthong, diphthong, explosive, nasal, double consonant and fricative consonant, so that a music piece can be composed on the basis of such determined syllable information in a similar manner to the above-mentioned. In a simpler form, the user may enter the syllable information in the form of scat. For example, words as shown in
Furthermore, although the preferred embodiment has been described above as setting the denseness/sparseness and contrast/imitate conditions by just selecting between denseness and sparseness and whether or not to effect the contrast/imitate, such denseness/sparseness and contrast/imitate conditions may be set by designating their values. In such a case, numerical values in the denseness/sparseness and contrast/imitate rows on the beat priority setting table of
The first aspect of the present invention achieves the benefit that a music piece can be automatically Composed in proper consistency with already-created words.
The second aspect of the present invention achieves the benefit that when automatically composing a music piece by analyzing a melody of an original music piece, proper modifications can be made to the analyzed results so that the music piece can be automatically composed easily as contemplated by a user.
Number | Date | Country | Kind |
---|---|---|---|
7-221051 | Aug 1995 | JP | national |
Number | Name | Date | Kind |
---|---|---|---|
4731847 | Lybrook et al. | Mar 1988 | A |
4926737 | Minamitaka | May 1990 | A |
5208416 | Hayakawa et al. | May 1993 | A |
5375501 | Okuda | Dec 1994 | A |
5453569 | Saito et al. | Sep 1995 | A |
Number | Date | Country |
---|---|---|
60-107079 | Jun 1985 | JP |
63-250696 | Oct 1988 | JP |
63-286883 | Nov 1988 | JP |
63-311395 | Dec 1988 | JP |
1-167882 | Mar 1989 | JP |
1-167783 | Jul 1989 | JP |
1-167882 | Jul 1989 | JP |
3-119381 | May 1991 | JP |
4-9892 | Jan 1992 | JP |
4-9893 | Jan 1992 | JP |
15-181473 | Jul 1993 | JP |
6-75576 | Mar 1994 | JP |
09-062263 | Mar 1997 | JP |
09-062263 | Jul 1997 | JP |
Number | Date | Country | |
---|---|---|---|
Parent | 08693462 | Aug 1996 | US |
Child | 09543367 | US |