EP0288800A2 - Dispositif pour composition automatique - Google Patents

Dispositif pour composition automatique Download PDF

Info

Publication number
EP0288800A2
EP0288800A2 EP88105606A EP88105606A EP0288800A2 EP 0288800 A2 EP0288800 A2 EP 0288800A2 EP 88105606 A EP88105606 A EP 88105606A EP 88105606 A EP88105606 A EP 88105606A EP 0288800 A2 EP0288800 A2 EP 0288800A2
Authority
EP
European Patent Office
Prior art keywords
melody
motif
tone
tones
note
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
EP88105606A
Other languages
German (de)
English (en)
Other versions
EP0288800A3 (en
EP0288800B1 (fr
Inventor
Junichi C/O Patent Dept. Developm. Div Minamitaka
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP62086571A external-priority patent/JPH07111619B2/ja
Priority claimed from JP62121037A external-priority patent/JPH07113828B2/ja
Priority claimed from JP62145405A external-priority patent/JPH07111620B2/ja
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Publication of EP0288800A2 publication Critical patent/EP0288800A2/fr
Publication of EP0288800A3 publication Critical patent/EP0288800A3/en
Application granted granted Critical
Publication of EP0288800B1 publication Critical patent/EP0288800B1/fr
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/0008Associated control or indicating means
    • G10H1/0025Automatic or semi-automatic music composition, e.g. producing random music, applying rules from music theory or modifying a musical piece
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/36Accompaniment arrangements
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/36Accompaniment arrangements
    • G10H1/40Rhythm
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/031Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal
    • G10H2210/086Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal for transcription of raw audio or music data to a displayed or printed staff representation or to displayable MIDI-like note-oriented data, e.g. in pianoroll format
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/101Music Composition or musical creation; Tools or processes therefor
    • G10H2210/111Automatic composing, i.e. using predefined musical rules
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/101Music Composition or musical creation; Tools or processes therefor
    • G10H2210/111Automatic composing, i.e. using predefined musical rules
    • G10H2210/115Automatic composing, i.e. using predefined musical rules using a random process to generate a musical note, phrase, sequence or structure
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/101Music Composition or musical creation; Tools or processes therefor
    • G10H2210/145Composing rules, e.g. harmonic or musical rules, for use in automatic composition; Rule generation algorithms therefor
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/155Musical effects
    • G10H2210/161Note sequence effects, i.e. sensing, altering, controlling, processing or synthesising a note trigger selection or sequence, e.g. by altering trigger timing, triggered note values, adding improvisation or ornaments or also rapid repetition of the same note onset
    • G10H2210/175Fillnote, i.e. adding isolated notes or passing notes to the melody
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/155Musical effects
    • G10H2210/161Note sequence effects, i.e. sensing, altering, controlling, processing or synthesising a note trigger selection or sequence, e.g. by altering trigger timing, triggered note values, adding improvisation or ornaments or also rapid repetition of the same note onset
    • G10H2210/181Gracenote, i.e. adding a different and very short ornamental note at the beginning or at the end of a melody note, e.g. appoggiatura, acciaccatura, sparsh-swar
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/155Musical effects
    • G10H2210/161Note sequence effects, i.e. sensing, altering, controlling, processing or synthesising a note trigger selection or sequence, e.g. by altering trigger timing, triggered note values, adding improvisation or ornaments or also rapid repetition of the same note onset
    • G10H2210/185Arpeggio, i.e. notes played or sung in rapid sequence, one after the other, rather than ringing out simultaneously, e.g. as a chord; Generators therefor, i.e. arpeggiators; Discrete glissando effects on instruments not permitting continuous glissando, e.g. xylophone or piano, with stepwise pitch variation and on which distinct onsets due to successive note triggerings can be heard
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/395Special musical scales, i.e. other than the 12-interval equally tempered scale; Special input devices therefor
    • G10H2210/471Natural or just intonation scales, i.e. based on harmonics consonance such that most adjacent pitches are related by harmonically pure ratios of small integers
    • G10H2210/501Altered natural scale, i.e. 12 unequal intervals not foreseen in the above
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/395Special musical scales, i.e. other than the 12-interval equally tempered scale; Special input devices therefor
    • G10H2210/531Bluenote scale, i.e. 7-tone scale of 2+1+2+1+3+1+2 semitones
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/395Special musical scales, i.e. other than the 12-interval equally tempered scale; Special input devices therefor
    • G10H2210/535Hexatonal or hexatonic scales, i.e. six pitches or notes per octave, e.g. whole tone scale, augmented scale, Prometheus scale, blues scale
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/395Special musical scales, i.e. other than the 12-interval equally tempered scale; Special input devices therefor
    • G10H2210/541Pentatonal or pentatonic scale, i.e. five pitches or notes per octave, e.g. basic Chinese musical scale, black piano keys, Javanese gamelan slendro scale or Japanese shakuhachi flute
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/395Special musical scales, i.e. other than the 12-interval equally tempered scale; Special input devices therefor
    • G10H2210/541Pentatonal or pentatonic scale, i.e. five pitches or notes per octave, e.g. basic Chinese musical scale, black piano keys, Javanese gamelan slendro scale or Japanese shakuhachi flute
    • G10H2210/545Yona Nuki, i.e. a family of pentatonic scales without fourth or seventh, e.g. Hirajoshi, Iwato, Kumoi, Sino-indian [Raga Amritavarsini] used, e.g. for japanese traditional music, koto or shamisen tunings
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/395Special musical scales, i.e. other than the 12-interval equally tempered scale; Special input devices therefor
    • G10H2210/541Pentatonal or pentatonic scale, i.e. five pitches or notes per octave, e.g. basic Chinese musical scale, black piano keys, Javanese gamelan slendro scale or Japanese shakuhachi flute
    • G10H2210/551Okinawa pentatonic scale, i.e. Okinawan min'yo, e.g. including the half-steps omitted in the min'yo pentatonic scale used in the main japanese islands
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/571Chords; Chord sequences
    • G10H2210/576Chord progression
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/571Chords; Chord sequences
    • G10H2210/581Chord inversion
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/571Chords; Chord sequences
    • G10H2210/616Chord seventh, major or minor
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/005Algorithms for electrophonic musical instruments or musical processing, e.g. for automatic composition or resource allocation
    • G10H2250/015Markov chains, e.g. hidden Markov models [HMM], for musical processing, e.g. musical analysis or musical composition
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/131Mathematical functions for musical analysis, processing, synthesis or composition
    • G10H2250/211Random number generators, pseudorandom generators, classes of functions therefor
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/131Mathematical functions for musical analysis, processing, synthesis or composition
    • G10H2250/215Transforms, i.e. mathematical transforms into domains appropriate for musical signal processing, coding or compression
    • G10H2250/235Fourier transform; Discrete Fourier Transform [DFT]; Fast Fourier Transform [FFT]

Definitions

  • the present invention relates to an apparatus for automatically composing a musical piece.
  • an automatic composer One of the most important considerations to be taken into account when designing, an automatic composer is that the device in question should be capable of composing a musical piece which is familiar to people in general, i.e. one which is not mechanical in sound, but is full of musicality.
  • U.S. Patent No. 4,399,731 issued to E. Aoki on August 23, 1983 discloses an automatic composer comprising means for randomly sampling individual pitch data from a set of pitch data, such as a twelve-note scale data, and means for checking whether the sampled data satisfies limited musical conditions. When the sample satisfies these conditions, it will be accepted as a melody note. If not, the sample is rejected as unsuitable for a melody note, and a new sample is taken from the set of pitch data and checked in turn.
  • the basic process performed by this automatic composer is essentially one of trial and error.
  • the above apparatus provides a means for checking sampled data as to their musical conditions, or for selecting data by means of a condition filter.
  • the selection standard is, consequently, a key factor in determining the quality of the music composed. If the selection of pitch data were too restrictive, the melodies generated would be lacking in variety. If, on the other hand, the selection process were too wide in scope, the original disordered sequence of pitches would be the predominent element in the melodies generated.
  • the above-mentioned automatic composer is thus more suitable for generating a melody which does not conform any existing style of music familiar to most people, and is primarily useful for music dictation i.e. solfeggio and/or performance exercise, since novel or unfamiliar music is, initially at least, difficult to read or play.
  • the above automatic composer therefore clearly fails to satisfy the musical criteria outlined earlier.
  • the present invention contemplates the very function.
  • Another automatic composer is disclosed present inventor, in Japanese Patent laid open (Kokai) 62-187876, dated Aug. 17, 1987.
  • This apparatus comprises a table representing frequencies of pitch transitions and a random number generator.
  • tone pitches are successively developed from the outputs of the frequency table and the random number generator, to form a melody.
  • the frequency table makes it possible to compose music which accords with the musical style designated by a user. Even this arrangement cannot be said, however, to carry out analysis and evaluation of musical properties of melody for musical composition.
  • the present invention aims to provide a novel and useful automatic composer and various apparatus associated therewith, far apart from the prior art.
  • An object of the present invention is to provide a novel and unique automatic composer.
  • Another object of the present invention is to provide an automatic composer capable of composing a melody which varies in a great number of ways as music proceeds which maintaining the concept or essence of music.
  • a further object of the present invention is to provide an automatic composer which is capable of composing music based on a given motif.
  • Still another object of the present invention is to provide an automatic composer which is capable of composing music in accordance with a given chord progression.
  • a further object of the present invention is to provide an automatic composer capable of composing music with a controlled stream of melody.
  • Another object of the present invention provide an automatic composer which is capable of controlling the rhythm of melody in various ways.
  • Yet another object of the present invention is to provide an automatic composer which is capable of producing a controlled sequence of tone pitches.
  • a further object of the present invention it to provide a melody analyzer which automatically provides a harmony evaluation of melody.
  • a further object of the present invention it to provide an improved automatic composer which facilitates analysis of motif.
  • Another object of the present invention is to provide a rhythm machine which is capable of automatically producing a controlled rhythm pattern.
  • a further object of the present invention is to provide an automatic composer which facilitates eddition or correction of a music piece.
  • an automatic composer which comprises input means for providing motif information, motif analyzer means for extracting motif featuring parameters characterizing the motif, chord data source means for providing chord progression information and melody forming means for generating a melody in accordance with the motif featuring parameters and the chord progression information.
  • the motif analyzer means extracts, from motif information provided by a user, parameters characterizing that motif while the melody forming means generates a melody in accordance with the extracted motif featuring parameters. Therefore, the musical concept or essence of the motif is held through the entire melody or complete music piece. Further, the melody forming means generates a melody in accordance with chord progression information provided by the chord data source means. Therefore, a generated melody will vary in a number of ways while satisfying the chord progression requirement. Further the above arrangement has an advantage that the user need not input anything but a motif which is relatively short and the borden on the user is very light.
  • the motif analyzer means includes harmony analyzer means which extracts nonharmonic tones contained or buried in the motif information.
  • the melody forming means includes first melody forming means which generates arpeggios and second melody forming means which places nonharmonic tone(s) before, after arpeggio tone(s) and/or between arpeggio tones.
  • the generated melody has a composite structure of arpeggio tones (harmonic tones), mixed with nonharmonic tones and is desirable in respect of music.
  • the melody forming means includes melody control means which generates melody featuring parameters characterizing a melody to be generated in accordance with the motif featuring parameters: the melody featuring parameters preferably include those parameters which vary as music proceeds.
  • the melody control means serves to convert the characteristics of motif into those of melody. How much of the motif characteristic elements are incorporated into melody characteristic elements is controlled by the melody control means, depending on its various modes of operation. In one mode, a generated melody will be faithful to the motif. In another mode, a generated melody will be qualified, transformed or modified from the motif. In still another mode, a generated melody is free from the motif.
  • the melody forming means generates a melody on a segment by segment (measure, for example) basis. This simulates the process of music composition by a human.
  • the melody forming means includes means which introduces variations or randomized components controlled by the values of the melody featuring parameters in order to generate a melody variable in the range of the controlled variations. This is effective in obtaining a composed music piece with subtleness.
  • an automatic composer which comprises input means, motif analyzer means for evaluating or extracting the characteristics of a motif provided by the input means and melody forming means operable in accordance with the result of evaluation by the motif analyzer means and including first component forming means adapted to generate a sequence of pitches of melody tone and second component forming means adapted to generate a sequence of durations of melody tones.
  • the motif analyzer means includes rhythm analyzer means adapted to extract rhythmic characteristic of motif.
  • the second component means is adapted to generate the sequence of tone durations of melody based on the result of evaluation by the rhythm analyzer means.
  • the second (rhythm) component forming means comprises pulses scale source means which provides a pulse scale of pulse points having weights depending on their positions and means which selectively disjoins or joins tone durations in accordance with the pulse scale provided by the pulse scale source means.
  • This arrangement it is possible to generate a sequence of tone durations preserving consistency throughout the music piece.
  • This arrangement may be utilized as a rhythm machine which automatically generates a rhythm pattern.
  • the rhythm analyzer means includes mini-pattern means adapted to extract a characteristic mini-pattern contained in the sequence of tone durations in the motif.
  • the second component forming means includes means adapted to incorporate the extracted mini-pattern into a sequence of tone durations to be generated. This is an approach in which the rhythmic characteristic of motif is directly reflected in the rhythm of melody.
  • the rhythm analyzer means includes means which associatively infers an appropriate pulse scale by analyzing the sequence of pitches of motif tones as well as the sequence of durations of motif tones.
  • the second component forming means generates a sequence of tone duration based on the associated pulse scale.
  • the first component forming means includes tone pitch control means which controls valid tone pitches which can be used as melody tone pitches.
  • the pitch control means includes note scale source means adapted to provided a weighted note scale and determination means adapted to check validness of a pitch of melody note candidate in accordance with the weight assigned to that pitch of candidate on the note scale provided by the note scale source means.
  • the note scale source means may comprise note scale memory means which stores a set of note scales of limited number and note scale synthesizing means which generates a new note scale by producing a linear combination of two or more note scales stored in the note scale memory means.
  • the note scale source means comprises note scale memory means which stores a set of note scales and means which modifies, among the weights of respective pitches of the note scale read from the note scale memory means, weight of those tone pitches which form the members of in- progress chord provided from the chord data source means.
  • the determination means may incudes means which generates a threshold value.
  • the determination means validates the pitch of tone candidate when the weight of that pitch as defined by the note scale source means has a predetermined relationship with the threshold value.
  • the motif analyzer means can be made in a simpler form.
  • an automatic composer of the above mentioned type further comprises means adapted to input chords for the motif.
  • the motif analyzer means includes determination means for distinguishing nonharmonic tones in the motif from harmonic tone in accordance will the corresponding chord. With this arrangement, the user can choose one of the available chords for the motif portion. Different chords for the same motif with result in different melody generation.
  • the arrangement comprising the chord input means, the determination means and additional means for classifying nonharmonic tones from the identified nonharmonic tone information and the input melody may be applied to a melody analyzer for automatically providing harmony analysis of melody.
  • the user may develop the ability of pattern recognition of various melodic lines. It is expected, for example, that the user may learn how individual nonharmonic tones and harmonic tones work in melodic lines in more efficient manner as compared to the learning at the place of conventional music education.
  • an automatic composer comprises chord data source means adapted to provide chord progression information, motif control means adapted to generate motif featuring parameters characterizing a motif, motif forming means adapted to generate a motif in accordance with the motif featuring parameters and the chord progression, melody control means adapted to generate melody featuring parameters characterizing a melody and melody forming means adapted to generate a melody in accordance with the melody featuring parameters and the chord progression.
  • the motif control means and the melody control means may share a hardware structure or function.
  • the motif forming means and the melody forming means may share a hardware structure or function.
  • an automatic composer which comprises melody control means adapted to generate melody featuring parameters characterizing a melody to be generated on a segment by segment basis, chord data source means adapted to provide chord progression information, melody forming means adapted to generate a melody in accordance with the melody featuring parameters and the chord progression information, input means adapted to designate a segment of the generated melody for correction, means adapted to input correction data for the designated segment, and means for converting the corrected data into parameter in the form of melody featuring parameters and the melody forming means is operable in the subsequent music composition to generate a melody for the designated segment based on the converted parameter.
  • melody control means adapted to generate melody featuring parameters characterizing a melody to be generated on a segment by segment basis
  • chord data source means adapted to provide chord progression information
  • melody forming means adapted to generate a melody in accordance with the melody featuring parameters and the chord progression information
  • input means adapted to designate a segment of the generated melody for correction
  • means adapted to input correction data for the designated segment
  • the present automatic composer comprises an input device 1, a chord number memory 2, a chord progression memory 3, a motif memory 4, a parameter B memory 5, a CPU 6, a work memory 7, a parameter C memory 8, a learned data memory 9, a melody data memory 10, a monitor including a CRT 12, a score printer 13, a tone forming circuit 14 and a second system 15, and an external memory 16.
  • the above motif memory 4 stores a motif (given melody) information provided by means of the input device 1.
  • the motif information is expressed by a series of data of pitch and duration (time value).
  • CPU6 derives, from the stored motif information, parameters characterizing the motif i.e. motif featuring parameters.
  • the above chord progression memory 3 stores a chord progression information in the form of a series of chord names.
  • the chord progression information may be provided either by designating respective chords in a successive manner by means of the input device operated by the user or being automatically generated by CPU6 in response to a macro-instruction such as one specifying the form of music.
  • the automatic generation of chord progression is possible by, for example, connecting basic or frequently used chord patterns or linking acceptable chord pairs or combinations.
  • a Markov process model could be utilized. However, it is not pertinent to the present invention whether chord progression is directly specified by the user or automatically generated by the machine.
  • the chord member memory 2 stores members of chords (pitch data of members) for respective chords.
  • the content of each address of the chord progression memory 3 representing a chord name specifies the address locations where member data for that particular chord are stored.
  • CPU6 advances the address of the chord progression memory 3 at every time of chord change, for example, each measure, and from the content of the advanced address, i.e., chord name, calculates a corresponding addresses of the chord member memory 2 to read out pitch data of chord members at those addresses.
  • the parameter B memory stores parameters B for controlling the style of music.
  • CPU In composition mode, CPU generates, on segment by segment basis, parameters C which are dependent upon the parameters B, the above motif featuring parameters and an segment variable such as measure number.
  • the parameters C have a character of controlling or characterizing a melody to be generated. The generation of parameters C will be described later.
  • the generated parameters C are stored in the parameter C memory.
  • the work memory 7 is used to store intermediate data such as in-process melody data in the course of composition.
  • the melody data memory 10 stores melody data forming a complete music piece.
  • a complete music piece may be outputted by means of the monitor 11 as required. For example, one may listen to music via the tone forming circuit 14 and the sound system 15, or obtain a copy of the music score from the score printer 13.
  • the present embodiment allows the user to request correction by means of CRT12 and the input device 1.
  • the correction is made in an interactive manner between the user and the machine.
  • the corrected data is, then, stored in the learned data memory 9 as knowledge.
  • CPU6 utilizes the knowledge to generate a melody.
  • the external memory 16 is utilized for providing a back up copy of complete music pieces, acquired knowledge or as a resource for substitutable programs of automatic composition.
  • Fig. 2 wherein blocks denoted by symbols beginning with a letter I represent information or a source thereof.
  • II is a motif information which may be stored in the motif memory 4 in Fig. 1.
  • 12 indicates parameters B stored in the parameter B memory in Fig. 1.
  • 13 is a chord progression information provided by the chord progression memory 3 in Fig. 1.
  • 14 indicates a generated melody which may be stored in the melody data memory 10 in Fig. 1.
  • those blocks denoted by symbols beginning with a letter F indicates various functions of the automatic composition.
  • main functions comprise a motif evaluation function F1 for evaluating motif information, motif parameter extraction function F2 for extracting motif parameters from the result of the evaluation, a melody generating function F3 for generating a melody in accordance with the motif featuring parameters from the motif parameter extraction function F2 and chord progression information.
  • the composer system further comprises correcting and learning function F4 for correcting the necessary parts of the generated melody by means of monitoring D1 by a user and learning the corrected information and parameter correcting function F5 for correcting associated parameters.
  • the above evaluation function F1 comprises, in the present example, nonharmonic tone extraction function for extracting nonharmonic tones for their respective types from the motif.
  • an anticipation extraction element 21 an appoggiatura extraction element 22, a neighbor tone extraction element 23, a passing tone extraction element 24 and an auxiliary tone extraction element 25 are shown to extract respective kind of nonharmonic tones.
  • types of nonharmonic tones extracted by extraction elements 21 through 26 “anticipation”, “appoggiatura” etc. are enumerated. However, those terms such as “anticipation”, “appoggiatura” are not necessarily the same as those used in any specific theory of harmony.
  • the usage of terms for respective type of nonharmonic tones is somewhat different among individual musicologists and the definitions thereof vary with category or genre of music compositions and music history. This vagueness, though not so much as that of natural languages, fails to satisfy the definitions required by computer systems.
  • the anticipation extraction element 21 serves to extract a first kind of nonharmonic tones which might be regarded as anticipation while the appoggiatura extraction elements 22 serves to extract a second class of nonharmonic tones and similarly, other elements functions to extract third, fourth kind of nonharmonic tones and so on.
  • a function 27 which loads HDi (motif data) with constants or nonharmonic identifiers corresponding to respective kinds of nonharmonic tones. This function 27, could instead, be incorporated into respective nonharmonic tone extraction elements 21 through 26.
  • the motif parameter extraction function F2 extracts parameters characterizing the motif from the evaluation results from the motif evaluation function Fl, here, motif data with the information of nonharmonic tone identifiers indicative of the locations and types of nonharmonic tones in the motif.
  • the motif parameter extraction function F2 comprises a function 31 for extracting the number of respective types of nonharmonic tones, a function 32 for extracting the total numbers of harmonic tones and nonharmonic tones contained in the motif, a function 33 for extracting a parameter indicative of the pattern of the arpeggio of the motif, and a function 34 for extracting a parameter indicative of the smoothness of the motif.
  • This segment unit may be a predetermined interval of the motif or input melody.
  • the motif forms a phrase in accordance with a chord progression the chord of which changes measure by measure, (this is true in many cases) one measure may be used as a unit of the extraction segment.
  • evaluation and extraction by the functions FI and F2 are performed on a measure by measure basis starting with the first measure and ending with the last or Nth measure.
  • the length of the motif is a melody for a single and opening measure of the composition, and the function F2 extracts parameters characterizing the motif at the first measure and referred to as parameters PAj later, unless otherwise stated.
  • the melody generating function F3 also involves a concept of segment for which a melody is controlled.
  • a chord progression information 13 represents a series of chords each having a duration of a single measure with chord C for i-th measure, for example, chord C for (i + 1 )th measure, chord F for (i + 2)th measure and chord G for (i + 3)th measure the length of one measure may be used as the control segment for melody generation.
  • parameters C are a parameter C computation function F31 within the melody generating function F3 which generates parameters C on the above described segment basis.
  • the nature of the parameters C is that they depend upon motif featuring parameters provided by the motif parameter extraction function F2 as well as the location of segment such as the measure number.
  • parameters C may be expressed by:
  • the parameters C generated by the parameter C computation function F31 are supplied to the remaining portions of the melody generating function F3, i.e. an arpeggio generating function F32 and a nonharmonic tone imparting function F33 both of which utilize the supplied parameters to control the generation of a melody. In other words, the parameters C serves to control or characterize a melody to be generated.
  • the parameter C computation function F31 not only uses the above motif featuring parameters and the segment number but also utilizes parameters B stored in the parameter B memory 5 in Fig. 1 for the computation of the parameters C.
  • the parameter B memory 5 serves to compress data in connection with the forming of the parameters C.
  • means for forming the parameters C i.e. melody control parameters may be configured by another arrangement wherein selection of parameters C is made from data base ⁇ f(i) ⁇ of possible parameters C in accordance with the motif featuring parameters, such arrangement will require a vast amount of storage because data are to be provided for respective segments i.
  • the parameter B memory 5 of the present embodiment is an element of the melody featuring parameter generating means.
  • An arpeggio component of the complete melody is generated by the arpeggio generating function F32.
  • Another element of the function F32 is a chord member reading function 41 which reads out respective members of the chord from the chord member memory 2 (Fig. 1) in accordance with the chord progression information 13.
  • Another element of the function F32 is a chord inversion function 42 which selectively performs chord inversions with respect to the chord members read out by the function F41 in accordance with parameters C such as chord inversion designating parameters determined for respective segments such as measures.
  • This function 42 serves mainly to control the range of the melody for respective segments.
  • the arpeggio generating function F32 further comprises a function 43 for determining a harmonic tone MEDi from the immediately preceding tone, and a function for correcting the pattern or shape of the arpeggio.
  • the arpeggios generated by the arpeggio generating function F32 adheres or conforms to the chord progression while their patterns are controlled by parameters C for respective segments.
  • the nonharmonic tone imparting function F33 serves to allocate or impart nonharmonic tones between arpeggio tones provided by the above arpeggio generating function F32.
  • an appoggiatura imparting function 51 there are shown an appoggiatura imparting function 51, a passing tone imparting function 52, a neighbor tone imparting function 53 and an auxiliary tone imparting function 54.
  • the terms of "appoggiatura”, “passing”, “neighbor” and “auxiliary” are merely for the purpose of description. Actually, they are first, second, third and fourth kind of nonharmonic tones for the generation of a melody.
  • respective functions 51 through 54 apply rules of nonharmonic tone imparting defined therein in accordance with parameters C which are determined on segment by segment basis. For example, if a parameter C inhibits the imparting of appoggiatura, the appoggiatura imparting function 51 will not impart any appoggiatura. The number of appoggiatura may also be controlled by an associate parameter C. In short, respective functions 51 through 54 perform imparting of nonharmonic tones under the control of parameters C. It is, however, possible and desirable to introduce randomized components in order to avoid the uniqueness. Such random or variation introducing function may be incorporated into either nonharmonic tone imparting functions 51 through 54 or parameter C computation function F31, or the combination thereof with appropriate trade-off therebetween.
  • a tone duration correcting function 55 which corrects respective durations or time values of the melody for respective segments or measures so that the segmented melody has a predetermined length.
  • the melody generated segment by segment by the above melody generating function F3 is stored into the melody data memory 10 (Fig. 1).
  • the motif is, in the present example, an opening melody for the first measure of the composition while the melody generated by the melody generating function F3 follows the motif. Accordingly, the melody data in the melody data memory 10 are arrayed with the motif data as the leading data for the purpose of facilitating further data processing.
  • the melody automatically generated by the above described functions is shown by a symbol 14 in Fig. 2.
  • a user may listen to a complete music piece by means of monitoring D1. If the monitored music is satisfactory, no correction will be made to the data of that music.
  • the automatic composer learns that portion and inquires the user as to which type of parameters should be corrected and how it should be converted for that portion by means of CRT12. It is preferred that the expression of such queries be made in a comprehensible manner to the user.
  • the present embodiment includes conversion means for performing conversions between subjective and objective parameters as will be described in more detail.
  • the user designates a desired type of a parameter which is, in turn, learned by the automatic composer.
  • Such learning is carried out by the correcting and learning function F4 in Fig. 2.
  • the result of learning i.e. the information of corrected portion and type and value of the parameter is stored into the learned data memory 9 (Fig. 1) as knowledge for composition.
  • the automatic composer will put the parameter correcting function F5 into operation so that the generated melody will conform to the user's request.
  • the parameter provided by the parameter correction function F5 takes preference over the parameter computed by the parameter C computation function F31.
  • the user's inclination or preference will reflect on the melody generated.
  • the above learning function should be disabled. To this end, when a style or genre of music is designated by the user via the input device 1 (Fig. 1), only that portion of the learning function associated with the designated musical style may be active.
  • the above learning function on a partial and field dependent basis might be superficially analogous to the technique of learning Chinese compound words for word processing. Of course, they are different in substance.
  • the minimum duration or time value of notes is assumed to be a sixteenth note. Namely, the data for sixteenth has a value of one while the data for eighth which is twice sixteenth has a value of two.
  • the unit of extraction segment and generation segment is assumed to be one measure.
  • chord progression information is also assumed to have one chord a measure.
  • each measure is assumed to be the same irrespective of the measure number.
  • each chord consists of four pitches.
  • One type of chords consists of four independent voices such as C major seventh chord of do, mi, sol, and ti, while the other type of chords is triad with two voices having an octave relation each other.
  • the triad of do, mi and sol is expressed here by four data for do, mi, so and do (octave up from do).
  • address locations for each chord in the chord member memory 2 are made up of four addresses with respective addresses storing values corresponding to the respective pitches of members.
  • the corresponding data are 1, 5, 8 and 13 respectively.
  • Fig. 7 is a flowchart showing a nonharmonic tone extraction.
  • i denotes a variable for motif data number.
  • computation is carried out of the number of tones following the i-th tone for the same measure with the result set in a variable AFT.
  • the number of tone preceding the i-th tone in the measure is computed and the result is set into a variable BEF.
  • the pitch differences or the intervals formed between adjacent pairs of tones surrounding the i-th tone are obtained.
  • al is set at the pitch difference between the pitch MDi + 2 of the tone which is the second tone after the i-th tone and the pitch MDi + 1 of the tone which is the first tone after the i-th tone.
  • the variable a is set at a unique value so that any nonharmonic tone will not be extracted for the tone before or after the rest in the process of 7-4 to 7-9.
  • 7-4 through 7-9 is a process of extracting respective types of nonharmonic tones.
  • the order of the operations is not restricted to that as illustrated. In principle, any order may be used.
  • Fig. 7 shows examples of respective types of nonharmonic tones by arrows on staffs. That is, a note denoted by an arrow is a corresponding type of a nonharmonic tone.
  • the note number i in the motif measure is incremented at 7-10, and the process storting from 7-2 is repeated until the note number exceeds the total number of the notes in the motif measure.
  • the above (i) and (ii) constitute a condition part (IF part or LHS) of the rule while (iii) forms an action part (conclusion part or RHS) of the rule.
  • rule of (i) to (iii) may be described either by means of procedural programming languages or by means of rules in rule-based systems. The latter may be preferable because it is easier to update or improve rules. Such rules may be expressed by, for instance, logic programming languages.
  • CPU6 (Fig. 1) carries out the processing in accordance with the flowcharts shown in these Figures and when the extraction condition is met, accept the associated tone as a nonharmonic tone.
  • the total number of motif notes are five.
  • AFT the number of succeeding notes in the measure
  • BEF the number of preceeding notes in the measure
  • the first tone will not be recognized as an anticipation note.
  • the checks for AFT and BEF are passed but a2 check is not passed because a2 is equal to 4.
  • the conditions for passing and auxiliary shown in Figs. 11 and 12 are not met. Accordingly, the first tone of do is not found to be any type of nonharmonic tone.
  • mi is then incremented and the examination of the second note of mi is similarly performed. mi is not found to be a nonharmonic tone, either.
  • the third tone of fa is analyzed as follows.
  • the third tone skips the anticipation processing (does not meet the condition for anticipation), because a2 is unequal to zero.
  • the appoggiatura extraction is skipped.
  • the condition for auxiliary is not satisfied.
  • the third tone of fa is found to be a passing tone.
  • the algorithm or rule for extracting respective types of nonharmonic tones as illustrated in Figs. 9 through 12 is a mere example. From the teaching of the present invention, a person skilled in the art will find it easy to prepare other definitions or rules. For example, conditions of tone duration ratio and/or down beat/up beat may be added to the conditions of interval between adjacent tones, if desired.
  • One goal is to provide appropriate rules of nonharmonic tone extraction from motif or melody input by users having insufficient knowledge of music. Those rules which provide good chance of success in nonharmonic tone extraction from various motifs are desirable.
  • Fig. 13 is a flowchart of processing which includes motif parameter extraction.
  • operations at 13-1 to 13-4 are concerned with the motif parameter extraction.
  • 13-6 denotes a processing of computing or generating parameters C and will be described in other section.
  • 13-7 is a processing of correction of parameters by learning, which will also be described in other section.
  • motif pitch data stored in the motif memory 4 (Fig. 1) are processed in the work memory 7 for parameter extraction.
  • variables or registers HDi having values unique to respective types of nonharmonic tones are used.
  • Fig. 14 shows details of the operation 13-1 in Fig. 13 where data of nonharmonic tones of the motif are converted into unique constants while data of harmonic tones are left as they are.
  • i denotes a variable of number i in the motif measure. Since the flow of 14-1 to 14-16 is selfexplanatory, detail description thereof is omitted.
  • the processing in Fig. 14 may be performed at the stage of nonharmonic tone extraction.
  • tone pitches are scanned starting from the lowest pitch of the system range and examination is made as to whether the tone (harmonic tone) is contained in the motif. Only if this is the case, variable M of harmonic tone number is incremented so that the incremented value of M is set into LLi. If HDi is zero i.e. the i-th motif data is a rest, the corresponding LLi is set at zero to store that fact. For negative HDi, the process is skipped.
  • the upper and righthand part of Fig. 17 shows example of the result of the operation.
  • the first tone of the motif (indicated by HD1) is a harmonic tone and the highest harmonic tone among the illustrated motif tones.
  • the second tone HD2 is a nonharmonic tone.
  • the third tone HD3 is a harmonic tone but lower than the first harmonic tone.
  • the fourth note HD4 of the motif is a harmonic tone (the third appearing harmonic tone of the motif) which is further lowered.
  • the fifth data HD5 of the motif is a rest.
  • the sixth and last note HD6 is a harmonic tone and has the lowest pitch (as low as the fourth note) in the motif.
  • the stream of the motif is a downward pattern as a whole.
  • the parameter of the pattern of harmonic tones is, though not written in the form of PA, the one characterizing motif. If the pattern is utilized without any modification in the process of melody generation to be later described in more detail, a melody will be formed involving a high consistency with a characteristic of repeating.
  • LLI for the first appearing harmonic tone do is set at "1”.
  • LL2 for the second appearing harmonic tone mi is set at "2”
  • LL3 for the third appearing harmonic tone sol is set at "3”
  • LL4 for the fourth appearing harmonic tone do is set at "4". This is a pattern of upward motion.
  • Fig. 18 shows the details of the operation 13-5 in Fig. 13 where the degree of smoothness (degree of skip) is computed.
  • degree of smoothness degree of skip
  • the value of smoothness is obtained by examining the difference between LLs of adjacent harmonic tones. The result is set in PA10.
  • the maximum value among the differences between adjacent pairs of LLs is set in PA10.
  • motif featuring parameters such as rhythm parameters may also be extracted if desired. This concludes the description of the motif featuring parameters.
  • the melody generating function F3 (Fig. 2) serves to automatically generate a melody in accordance with the above described motif featuring parameters and the chord progression.
  • the melody generating function primarily comprises a function which compute parameters C controlling or characterizing a melody to be generated and a function which generates a melody in a concrete form.
  • the latter function includes means for generating an arpeggio in respect of a chord in progress by referencing the chord progression information and means for adding nonharmonic tone(s) before, after an arpeggio tone (harmonic tone) and/or between arpeggio tones.
  • music involves consistency and variety. For example, those melodies having phrases recurring a number of times are most consistent. Variety comes out when musical elements such as the range of melody vary with time. Consistency and variety exist in terms of time. Of course, degrees of consistency and variety differ significantly from music to music. Some music pieces place emphasis on consistency. Some music pieces have melodies which are constantly changing with time. However, a completely randomized line of time values and pitches of tones has not been and will not be accepted as a piece within the meaning of music. In a sense music is the expression of emotion and a totally disordered and irregular line of tones makes no sense.
  • the present automatic composer produces a melody in compliance with a chord progression, thus introducing a sense of order.
  • the present automatic composer extracts motif featuring parameters from the motif input by a user and produces a melody in accordance with the extracted parameters. Hence, the motif will be reflected in the generated melody and the essence of the input melody will be held throughout the composition.
  • the present automatic composer contemplates this point.
  • the present automatic composer divides the entire length of piece to be composed into segments each having a suitable length.
  • Each set of parameters C is assigned to each segment for control of melody.
  • Each segment of melody is produced by corresponding set of parameters.
  • a measure is selected as the length of segment.
  • Each parameter C (PC) is expressed by a function of segment number i. That is, parameters C depend on segment number. This is a first property of parameters C. Actually, chord progression has also a similar character.
  • Parameters C depends also upon parameters characterizing motif. This is a second property of parameters C. In this case, motif featuring parameters may be incorporated into parameters C throughout a music piece regardless of segment number.
  • a parameter mapping In the column of motif parameters A, there are shown examples of motif featuring parameters as extracted by the above described process of motif parameter extraction. The parameter LLi of arpeggio pattern is not shown. In the column of melody generating parameters C, there are shown examples of parameters C. Dotted arrows linking parameters A to parameters C indicate that each former parameter A is reflected in each latter parameter C. The illustrated relationship by dotted arrows is an example. Some parameters C are shown independent from parameters A. One reason thereof is that a relatively short motif as long as one measure is employed in the present embodiment, and the extraction means does not extract motif parameters more than what are needed or unreliable parameters.
  • parameters B which include an amplification parameter PBa, a frequency parameter PBf and a DC parameter PBd. If the means for generating parameters C is of a computational type, it will make use of these parameters as a source of information thereto.
  • each parameter C is defined by a computable function of segment number such as measure number i and other variables including at least one of PBa, PBf, PBd and PA (parameter A).
  • each parameter C or PC has a form of:
  • Fig. 20 shows examples of characteristics of parameters C in a graphic representation. Horizontal axis denotes the progression of music piece or measure number. A sine type (1) is illustrated in (a). Parameters C of this type may be produced by computation including a cosine or sine. For example, PC is given by:
  • Fig. 22A shows an example of computation of PC2 (parameter of the number of harmonic tones for a melody to be generated) and PC8 (parameter of smoothness of a melody to be generated).
  • Fig. 22B shows how PC2 varies with measure number i for several sets of constituent parameters PBf2, PBa2, PBd2 and PA8.
  • the computational type has an advantage that it conserves capacity of storage locations.
  • the computational type is employed in the present embodiment in which CPU6 (Fig. 1) references the parameters B on parameter B memory 5 and the motif parameters to generate parameters C on a single measure basis. This is done at the operation 13-6 in Fig. 13.
  • characteristic of parameters C indicated by (g) in Fig. 20 is not suitable for computation and may be developed by selecting appropriate parameters from a data base storing a set of sequences of parameters C (i) controlling respective measures of music composition.
  • parameters C have the first character as stated, which is apparent from examples in Fig. 20. That is, parameters C have values assigned to each segment (or measure in the illustrated embodiment) of music composition.
  • parameters C have the second character that they reflect the motif featuring parameters.
  • DC type illustrated at (d) in Fig. 20 may become a parameter C or a DC component thereof.
  • the parameter C thus produced has a motif feature regardless of measure number.
  • All parameters C of computational types as exemplified by (a) to (f) in Fig. 20 have definite regularities. Such regularities are often desirable. In other words, such parameters C are univocally determined once constituent parameters (measure number, parameters A, parameters B etc.) and the formula of their computation are given.
  • parameters C before randomized are intermediate parameters while parameters C after randomized are final parameters C which directly control the generation of a melody.
  • the randomized parameter -y has possible values which swing through discrete points having a width of 2N and centering the original value of PC.
  • FIG. 21 shows an example of the characteristic of a randomized parameter.
  • FIG. 21 Another example of random characteristic is shown in (d) in Fig. 21.
  • This example (d) differs from the above (b) in that the width of randomization or variation depends on the value of intermediate PC.
  • the width of variation increases as the intermediate PC increases. This is achieved, for example, by multiplying RND(N) by an increasing function U(PC), and adding the value of PC to the product. This is given by:
  • the randomization using the original value of PC as a reference serves to provide a fine control of melody generation while depending on the width of variation.
  • Another advantage of the randomization is that it provides characteristics of parameters of noncomputational type as illustrated in (g) in Fig. 20 by means of chances.
  • Fig. 23 is a general flowchart of generating a melody.
  • the main portion is step 23-9 where a melody is sequentially generated on a measure by measure basis.
  • the remaining portions are processes such as transferring data between memories.
  • motif data stored in the motif data memory 4 (Fig. 1) are transferred to the melody data memory 10. "No” shown at 23-5 is the number of notes contained in the motif.
  • MNo is the number of melody notes which have already been produced under the condition in which melody notes are consecutively generated. Since the generation of melody occurs on a single measure basis, the number of measures forming the motif is counted (23-7): this is calculated from the duration data of the motif. It is noted here that the motif can be two or more measure long. How to deal with motifs of two or more measures will be described later. In the meantime, it is assumed, as mentioned at the beginning, that the motif has a length of one measure. "1" " is added to the count of the motif measures (23-8). If a melody for one measure has been generated (23-9), the data is written into the melody data memory 10 (23-10 to 23-13).
  • No is, of course, the number of melody notes for the measure that were produced in the process 23-9.
  • "CNo” shown at 23-15 is the total number of chords forming the entire chord progression. Since it is assumed in the present example that there is one chord per measure, the process of melody generation completes when the measure number has reached the total number of chords.
  • melody generation 23-9 includes the generation of arpeggio, the imparting of nonharmonic tones and the correction of tone durations. The description will follow in this order.
  • Fig. 24 is an exemplified flowchart of generating arpeggio. The first operation is to read out chord members (24-1), the details of which are illustrated in Fig. 25.
  • chord numbers chord numbers
  • Fig. 26 the content of the address in the chord progression memory 3, i.e. the name for i-th chord is set in a register CNi.
  • "EOF" shown at 25-3 indicates "end of file” code which is stored next to the address for the last chord. When EOF has been received, the read operation of chord names completes.
  • chord progression begins with Cmaj (for first measure) and goes through Fmaj, G7 and ends with Cmaj.
  • the chord progression memory 3 shown in Fig. 26 accords with this chord progression.
  • chord member memory 2 At 25-5 to 25-12 in Fig. 25, corresponding chord members in the form of pitch data are read out by referencing chord member memory 2 (see Fig. 26 and (2) in Fig. 4) from each read chord name.
  • each chord consists of four members and that the pitch data of members are stored at four contiguous addresses in the chord member memory 2 in the pitch increasing order.
  • four pitch data at locations beginning with the start address are read out and set into registers KDij.
  • chord progression of Cmaj, Fmaj, G7 and Cmaj the reading of chord members proceeds as follows.
  • KDil, KDi2, KDi3 and KDi4 are simply referred to as KDI, KD2, KD3 and KD4 respectively.
  • a register KDI is used to store the lowest harmonic or chord tone, KD2 the second lowest harmonic tone, KD3 the third lowest harmonic tone and KD4 the highest harmonic tone.
  • the pitch data of chord members in registers KDI to KD4 (with respect to i-th measure) define a chord in a basic position as the data in the chord member memory 2.
  • chord inversion The purpose of the chord inversion is to change or regulate the range of melody tones to be generated as time goes by (on a single measure basis in the present example), thus controlling the level of excitement in music.
  • PC9 is a parameter indicative of the length of repeated arpeggio pattern. If PC9 ⁇ I, the process goes to a flow of maintaining the pattern, beginning at 24-4 "PCI" at 24-4 indicates whether or not to correct the arpeggio pattern. If PCI ⁇ I, the correction of the arpeggio pattern is performed at 24-5.
  • Fig. 29 The details of 24-5 are illustrated in Fig. 29.
  • the flow of control branches off the step 24-10 where it is checked as to whether a tone can be determined from the previous tone (here, the last note in the previous measure) by reference to a parameter PC15. If PC15 has a true value of "1", the process goes to 24-12 where the first harmonic tone MEDi in the current measure is determined. Then, go to 24-13 where the note number in the measure is set at the second. If the determining parameter PC15 has a false value, then go to 24-11 where the note number i is set at the first. Thereafter, go to the routine beginning at 24-14 where the pattern of arpeggio is randomly developed.
  • Fig. 28 The details of 24-12 for determination of MED1 from the previous tone are illustrated in Fig. 28.
  • the logic of the flow is to select the note vertically nearest to the last note in the previous measure as a first chord note in the current measure.
  • the previous tone is indicated by MEDj-1 while the current tone is indicated by MEDj. Since the flow of 28-1 to 28-10 is selfexplanatory, further description will be omitted.
  • arpeggio tones are randomly developed within the range limited by the smoothness parameter PC8.
  • a random number ⁇ 1 has an arbitrary value among 0, 1, 2, 3 and 4 in accordance with RND(4).
  • PC2 shown at 24-21 is a parameter C which designates the number of harmonic tones assigned to the current melody measure. When this number has been reached, the process of generating arpeggio tones in the current measure will complete.
  • a route from 24-9 to 24-21 is provided to allow the random generation of arpeggio tones when the process of repeating arpeggio pattern over the length PC9 has finished.
  • the melody for the second measure is, up to now, formed with la, fa, do, la, do and fa.
  • Fig. 30 illustrates a flowchart of imparting appoggiatura (first type of nonharmonic tones).
  • a random number yl which is used to determine whether or not to impart appoggiatura is computed from f(RND(1), PC3) where PC3 is the weight of appoggiatura assigned to the current melody measure; thus, the value of yl is controlled by PC3.
  • the randomization refer to the latter part of the section of parameters C and Fig. 21.
  • a random number ⁇ 2 indicative of the location of appoggiatura is obtained in such a manner that its value is controlled by an associated parameter PC4.
  • Fig. 31 illustrates a flowchart of imparting passing tones.
  • a passing tone is inserted between adjacent melody notes MEDi and MEDi + 1 if predetermined conditions are satisfied. If they are not, insertion of a passing tone will not occur.
  • the conditions are as follows:
  • passing tone If it is allowed that a passing tone is added, then passing data having a pitch between the adjacent melody tones is inserted therebetween.
  • the pitch of passing tone may be determined on the bases of so called "available notes". 31-10 in Fig. 31 is a mere example.
  • Fig. 32 illustrates a flow of imparting neighbor tones.
  • a neighbor tone is added only when there exist predetermined conditions; one of the conditions is controlled by the weight PCI of neighbor and another condition requires that adjacent melody notes should have the same pitch.
  • the pitch of the neighbor tone is given by adding the pitch of the adjacent tone to the differential pitch PC12 of neighbor.
  • Fig. 33 illustrates a flow of imparting auxiliary tones.
  • two auxiliary tones are placed in front of tones MEDi + 1 and MEDi + 3 respectively, as MEDi and MEDi + 2 only when there exist specific conditions as follows: the adjacent tones of the above MEDi + 1 and MEDi + 3 have the same pitch and a random parameter ⁇ 1 controlled by the weight PC13 of auxiliary is not equal to zero.
  • y1 shown at 33-10, 33-12, and 33-13 may have a different value from that of y1 generated at 33-4.
  • the following shift operations 30-4 to 30-9 result in:
  • the appoggiatura register MEDi + 1 is, here, MED2 and is given by:
  • the flow or rule for nonharmonic tone impartion shown in Figs. 30 to 33 is a mere example.
  • the rule may be modified to the one in which nonharmonic tones are imparted in different ways depending on the values of parameter C such as the weight of each nonharmonic tone. For instance, when the weight is sufficiently light ("1" " for example), the maximum number of corresponding nonharmonic tones to be added in a measure is limited to one. When the weight is "2", addition of a plurality of nonharmonic tones is allowable but addition of nonharmonic tones in succession is prohibited. For heavier weights (3 or more, for example), nonharmonic tones are freely added. This may be accomplished by as follows.
  • the sequence of tone durations ⁇ Rhy ⁇ may be arranged in such a manner that a suitable time duration is assigned to each tone so that the entire length of the tones will be equal to the length of current measure (e.g. "16" or 4 times).
  • One scheme of time assignment employs a logic of binary division. Assume, for example, that the original rhythm sequence is given by: If one note is to be added, the binary division logic partitions the pattern into two as below:
  • One of the subpatterns is further partitioned into two:
  • the number of melody notes increases by one or two each time the addition is executed.
  • the time duration assignment may be performed at the time of adding each nonharmonic tone (not shown).
  • the purposes of the correction of tone durations in the present example are firstly to maintain the consistency of tone duration pattern and secondly to adjust the entire length of the duration pattern to the predetermined length of a measure.
  • the consistency of duration pattern is controlled in the process of 34-7 to 34-10.
  • the adjustment of the entire length of duration pattern to the length of the current measure is performed in the process of 34-10 to 34-19.
  • SIG represents a variable the value of which changes when the ratio of the number of melody tones No to the number of motif tones Nol significantly deviates from "1".
  • the changed value is used as a scaling factor of duration: notes of the motif tone duration pattern as many as half of the number of melody measure tones are shortened or lengthened in accordance with the scaling factor.
  • the scaled pattern is used as the first half of the melody tone duration pattern in the measure. For example, if the number of melody tones in the current measure is half of or less than half of the number of tones contained in the motif measure (NOI / 'NOa2), then SIG is changed to "2".
  • the motif tone duration sequence of, say, "4, 2, 2, ! will be converted into a melody sequence of "8, 4, 4, !.
  • the tempo is momentarily halved relative to that of the motif pattern.
  • SIG is set to "0.5".
  • motif tone duration sequence of "4, 2, 2, " is a melody tone duration sequence of "2, 1, 1, !, the tempo of which is momentarily doubled compared with that of the motif.
  • the pattern conversion by the ratio of integers does not degrade the quality of rhythmic consistency. If the number of melody tones is close to the number of motif tones (0.5 ⁇ NOI/N02 ⁇ 2), the first half of the melody tone duration pattern uses motif tone duration pattern at it is.
  • the above process of pattern conversion can cause the entire length of the melody tone durations to mismatch the length of one measure (here 16).
  • matching test is carried out between the entire length of the melody tone durations and the length of measure. If mismatch occurs, correction of tone durations of the melody pattern is performed in a reverse order beginning with the last melody note. If the entire length of the melody tone duration pattern is longer than the measure length, the last note in the measure is firstly examined. If the last note is equal to or longer than three, it is shortened by one and comparison of lengths between the melody pattern and the measure is repeated. If the last note is equal to or shorter than two, the preceding note is checked and the process will be repeated. On the other hand, if the entire length of the melody tone duration pattern is shorter than the measure length, then the last note is examined as to whether it is equal to or shorter than five.
  • the last note is lengthened by two and the length matching test is repeated. If the last note is equal to or longer than 6, similar procedure repeats with respect to the preceding note. Eventually, the entire length of the tone duration pattern matches the measure length and the process of correction of tone durations will be complete.
  • the tone duration pattern of the second measure ⁇ Rhy ⁇ is 2, 2, 2, 2, 2, 2 and 4, or:
  • melody of third and fourth measure is generated.
  • An example of the result is shown in Fig. 5.
  • the melody is formed with:
  • the melody is formed with:
  • a user may request the automatic composer of the correction of a complete music piece by means of the monitor 11.
  • the description will now be made of correction and learning.
  • the correction of music piece is performed for a measure.
  • Fig. 35 illustrates a flow of the correction and learning.
  • nonharmonic tones and motif featuring parameters are extracted from the motif in a similar manner as previously mentioned (35-1
  • a user inputs a measure number which he or she wishes to be corrected (35-2).
  • parameter conversion is performed from the objective data (parameters C) to subjective data.
  • the purpose of this parameter conversion is to provide users with information which they can easily understand or make judgement.
  • PC7i serves primarily to control the level of excitement.
  • the automatic composer notifies the user that the level of excitement in this measure is 90 percent.
  • Such message will facilitate user's understanding and speed up the correction operation on the user's part.
  • the logic of parameter conversion may be developed in consideration of factors such as correlation between objective data (PC) and subjective data. For example, a first version of correlation standard is prepared by analysis of existing music pieces and using the method of subjective evaluation on a development machine and is improved by testing the performance.
  • the result of the parameter conversion (message) is then displayed on a screen of CRT12 (35-5).
  • the user may input the type of parameter EDB to be corrected (35-6).
  • EDB has the value indicating the type of parameter of excitement level.
  • the types of subjective parameters ⁇ S ⁇ do not correspond to types of objective parameters fOl in the form of one-to-one, then the selected type of subjective parameter S(i) may be converted into a plurality of types of associated objective parameters (O(j), O(K) (7): in the flow, one-to-one correspondence is assumed.
  • the user then inputs the value of EDC' which is to correct the parameter specified in EDB'. If the user wishes to change, for example, the level of excitement from ninety percent to fifty percent, he or she may designate its parameter name at 35-6 and input the corrected value of fifty percent (EDC') for that parameter at 35-7.
  • the automatic composer converts the subjective parameter (EDC') back to corresponding objective parameter (35-8): in the present case, the value of inversion parameter (EDC) is given "1" by reverse conversion of the designated level of excitement which is fifty percent.
  • correction data are written to learned data memory 9 (35-8 to 35-9). P points to the location in the learned data memory 9. With pointer P being incremented, the correction data items are sequentially written to the memory 9.
  • parameters C learned by the correction learning function F4 are assigned higher priority over those parameters C computed by parameter computation function F31 (Fig. 2).
  • 36-3 in Fig. 36 is computation of parameters C which is identical with that described in the section of parameters C.
  • i indicates a measure number
  • j is a type or name of parameter C and used as a suffix to PC as PCj
  • Pa a pointer to the location in the learned data memory 9
  • * Pa data at the location specified in Pa.
  • the *Pa indicates a measure number for correction.
  • 36-14 is the generation of a melody on a single measure basis and corresponds to the process of 23-9 to 23-14 in Fig. 23.
  • the process 36-14 is shown in Fig. 36 to demonstrate that a new melody is generated using the set of parameters C that has been corrected in the foregoing process ending at 36-11.
  • the learned data have been written to the learned data memory 9, they are retrieved each time the user makes a request for composition, and are directly built into the set of parameters C which in turn controls the generation of a melody. In this manner, the generated melody will accord with the user's preference and an effect of learning will come out.
  • Fig. 5 there is shown an example of a corrected melody resulting from the above correction and learning.
  • the inversion parameter is changed to "1" from "2".
  • the corrected measure is formed with a melody of fa, do, ti, la, fa, la and do.
  • the f, do, la and fa contained in this melody are harmonic tones of Fmaj.
  • the position of (fa, la, do, fa) is resulted from inverting the basic position of (do, fa, la, do) once.
  • every measure has the same length.
  • variable length measures can be used. This is accomplished by the provision of a counter which counts measure number and means which reads the length of the measure specified by the counter.
  • any other measure can be the one for the motif. This modification is very easy to make.
  • the length of a input motif is a single measure. It can be a plurality of successive measures. If a two measure long motif is provided, for example, a first group of motif featuring parameters (for example, a tone pattern parameter LLi) is extracted from the motif in the first measure while a second group of motif featuring parameters is extracted from the motif in the second measure. From the first group of motif featuring parameters, a first group of parameters C is computed and a second group of parameters C is computed from the second group of motif featuring parameters.
  • a first group of motif featuring parameters for example, a tone pattern parameter LLi
  • the first group of parameters C is utilized to control the generation of a melody in respect of odd numbered measures whereas the second group of parameters C is utilized to control the generation of a melody in respect of even numbered measures; the result of division of the content of the measure number counter by 2 readily determines which group of parameters C is to be selected.
  • Some music pieces however, have a musical style of, say, A, B, A, with A forming a phrase of eight measures, B a phrase of seven measures and C a phrase of eight measures.
  • the measure number counter is reset to "1". What is required is to generate the first group of parameters C for odd numbered measure within each phrase, and the second group of parameters C for even numbered measure within each phrase.
  • chords per measure could be two or more.
  • the function of parameter C generation produces parameters C on a single measure basis.
  • the function of arpeggio generation produces arpeggio tones based on the first chord for the first half of the measure, and for the latter half of the measure, produces arpeggio tones based on the second chord; the parameters C are, however utilized on a measure basis.
  • the function of adding nonharmonic tones adds nonharmonic tones on a measure basis.
  • the function of adding nonharmonic tones operates also on a two time (a single chord) basis.
  • Other arrangement could be made.
  • the function of correction of tone durations may be modified so as to adjust the length of melody tones for each chord to the length of the chord or the one similar thereto if desired.
  • a function of selecting a musical style or the like may be added to the automatic composer.
  • the parameter B memory is configured so as to form a classified data structure.
  • a selected input from the input device specifies the data to be read from the parameter B memory and parameters C are developed from the specified data (parameters B).
  • Parameters C depend on parameters B as previously mentioned.
  • the chord member memory 2 in connection with the chord progression may also be configured so as to define a classified data structure based on musical styles. In the chord member read operation, members of each chord are successively read from a selected set of chord members in accordance with the sequence of chords on the chord progression memory.
  • a different arpeggio tones may be produced by the function F32 and this will influence some elements in a generated melody.
  • the selected set of chord members defines a set of chords in a selected field of music.
  • parameter computation F31 Another optional approach is to provide the function of parameter computation F31 with different functions (arithmetic and logic functions) for individual fields and cause one of the functions to be active in response to the designated field from the input device. Similar schemes may be incorporated into the function of arpeggio generation F32 and/or the function of adding nonharmonic tones F33.
  • the function of motif evaluation F1 may be provided with a function of chord determination.
  • the chord decision function initially causes the nonharmonic tone extraction function to extract nonharmonic tones on the assumption of one chord per measure. Then, the chord decision function examines whether the remaining tones constitute a chord. If there is no corresponding chord, the chord decision function regards the measure in question as the one containing two consecutive chords and causes the nonharmonic tone extraction function to extract nonharmonic tones on a two beat basis.
  • the present automatic composer comprises an input device 101, a chord member memory 102, a chord progression memory 103, a root data memory 104, a weighted scale data memory 105, a motif memory 106, a parameter B memory 107, a musical form data memory 108, a CPU 109, a work memory 110, a parameter C memory 111, a learned data memory 112, a melody data memory 113, a monitor 114 comprising a CRT 115, a score printer 116, a tone forming circuit 117, and a sound system 118, and an external memory 119.
  • the motif memory 104 is adapted to store the information on a motif (input melody) from the input device 101.
  • the motif information comprises a sequence of pitch data and a sequence of tone duration (time value) data.
  • CPU 109 is to extract parameters characterizing the motif (motif featuring parameters).
  • the chord progression memory 103 stores chord progression information in the form of a sequence of chord names.
  • the chord progression information may be provided either by designating chords in a sequential manner by means of the input device operated by the user or by automatic generation by CPU 109 in response to a macro-instruction (musical form, for example).
  • Automatic generation of chord progression is made possible by connecting basic or frequently used chord patterns, for example, or linking acceptable chord pairs or combinations. With regard to the logic for linking, such a model as Markov chain may be utilized.
  • chord member memory 102 there are stored members in the form of pitch data for various chords.
  • the contents of each address (chord name) in the chord progression memory 103 specifies address locations where member data for the corresponding chord are stored.
  • CPU 109 advances the address of the chord progression memory 103 at every time of chord change (each measure, for example) and from the content of the advanced address, i.e., chord name, calculates corresponding addresses of the chord member memory 102 to read pitch data of chord members at those addresses.
  • the root data memory 104 the root data of chords are stored.
  • the weighted scale data memory there are stored a set of weighted note scales: each note scale is represented by weights assigned to respective tone pitches on the scale and indicative of pitch effectiveness.
  • a scale is selected and read from the memory in a suitable way.
  • the root data memory 104 is utilized for shifting the read weight data by the root.
  • parameter B memory 107 there are stored data (parameters B) for controlling consistency and variety in the stream of a melody. Further, the musical form data memory 108 is utilized to provide music with higher level of hierarchy.
  • CPU 109 generates parameters C (melody planning information) which depend upon parameters B, musical form ID data (decoded), motif featuring parameters and a variable of segment in the progression of music (measure number, for example).
  • the parameters C have a property of controlling or characterizing a melody to be generated.
  • the generated parameters C are stored in the parameter C memory.
  • intermediate data (melody data in process) generated by CPU 109 for automatic composition.
  • the melody data memory 113 stores melody data forming a complete piece.
  • a complete music piece may be outputted by the monitor 114 when necessary. For example such a piece may be listened through the tone forming circuit 117 and the sound system 118. Also the music may be printed on a score by the score printer 116.
  • the present embodiment allows the user to request correction via CRT 115 and the input device 101: the correction may be executed in an interactive manner between the user and the machine.
  • corrected data may be accumulated in the learned data memory 112 as knowledge.
  • CPU 109 will make use of this knowledge to generate a melody.
  • the external memory 119 is utilized for providing a back-up copy of completed pieces, learned knowledge or as a resource for other programs of automatic composition for substitution.
  • the major function of the automatic composer comprises motif featuring parameter extraction means F10 adapted to evaluate or extract characteristics of motif, melody control information generation means F20 adapted to generate the information (collectively designated by PC) for controlling a melody from the information provided by the means F10 (collectively designated by PA) and melody generation execution means F30 adapted to generate a melody (monophonic) in concrete form in accordance with the information PC provided by the means F20.
  • the melody control information generation means F20 has the ability to associatively infer or plan a melody based on the motif featuring parameters PA while the melody generation execution means F30 is capable of interpreting the plan (represented by PC) and has a rule of generating a melody in accordance with the plan.
  • the means F20 and F30 cooperates together to form a melody generation means.
  • the motif featuring parameter extraction means F10 has a function essentially opposite to that of the melody generation execution means.
  • the motif characteristic parameter extraction means F10 has a reasoning ability of deducing featuring parameters PA forming the essence of the motif from the concrete motif (input melody)
  • the melody generation execution means F30 has a reasoning ability of deducing a concrete melody from the melody featuring parameters PC forming the essence of the melody.
  • the melody control information generation means F20 has a wide planning space and is capable of controlling the degree of reflection of PA over PC freely and in various ways. In the illustrated example, the input to the melody control information generation means F20 is only through PA from the means F10.
  • the present automatic composer has taken this point into consideration and has derived a concept of "segment" unit regarded as stationary.
  • the respective functions in the motif featuring parameter extraction means F10 are adapted to extract PA on a segment basis.
  • the melody control information generation means F20 transfers the values of PC allocated to each segment to the melody generation execution means F30 which generates in turn a melody for each segment by utilizing the allocated values of PC.
  • this does not mean that all of PCs vary similarly with a common segment unit of variation (this also applies to PA).
  • the length of segment in which the value is fixed differs depending on the kind of PC.
  • all of the functions F10, F20 and F30 are designed to have a common segment as the simplest case; one measure is closen as a unit of segment.
  • the present invention is not limited to this segment but the various functions may have two or more different segments.
  • the segment size for a tone pitch sequence should not necessarily be the same as the segment size for a tone duration sequence. It is also possible to allow chords to change on a basis of a segment other than a measure while permitting the means F20 to assign PC values to respective measures.
  • the motif featuring parameter extraction means F10 comprises a motif tone pitch pattern extraction means FII and a motif tone duration (rhythm) pattern extraction means F12.
  • the motif tone pitch pattern extraction means is adapted to extract the characteristic of the sequence of pitches of motif tones and includes a nonharmonic tone extraction means FII-1 adapted to extract nonharmonic tones contained in motif and an arpeggio pattern extraction means FII-2 adapted to extract the pattern of arpeggio (later referred to as LLi) which is a pattern of tone pitches divested of nonharmonic tones from the motif.
  • the means FII-IA serves to classify the types of nonharmonic tones and is a mode of the means FII-1.
  • the motif tone duration (rhythm) pattern extraction means F12 is adapted to evaluate or extract the characteristic of the sequence of durations of motif tones and includes a characteristic mini-pattern extraction means F12-1 adapted to extract a characteristic mini-pattern contained in motif and an arpeggio (rhythm) pattern extraction means F12-2 adapted to form an arpeggio pattern which is the sequence of durations of tones consisting of only harmonic tones with the durations of nonharmonic tones in the motif being absorbed into the harmonic tones.
  • a progression dependent parameter generation means F22 adapted to generate parameters depending on the segment number indicated by a segment counter F23.
  • parameters which regularly vary as music proceeds: such parameters are generated by a regularly variable parameter generation means F22-1.
  • a random number generation means F24 operates on the parameters generated by the means F22 and is capable of introducing randomization or variations into the parameters in such a manner that the variations are self-controlled by the corresponding parameters.
  • the elements F22 and F23 are illustrated to clarify that parameters having the above-mentioned property may be included in PC and also to show that even noncomputational type (such as data base for parameters C) can generate parameter C (melody control information).
  • the parameters C are generated by the means of computational type. It is the element F21 which performs such computation.
  • the computation means F21 is operable to receive at its input, motif featuring parameters PA provided by the means F10, the information of the parameter B shown at II, measure number indicated by the measure counter F23-1 and musical form identification data provided by the musical form ID data generation means F25 and compute parameters C from these input variable data.
  • the musical form ID data generation means F25 includes a phrase counter F25-1 by which the means F25 selects the information concerning the specified phrase from the musical form ID data 12.
  • the phrase information includes type of phrase (repeat or development).
  • the musical form ID data generation means F25 reads the measure number as counted by the measure counter F23-1, checks the position of the measure number relative to the phrase and decodes the associated form ID data based on the result of the check. The decoded form ID data will then be transferred to the computation means F21.
  • the purpose of the musical form ID data generation means is to provide music with a higher level of hierarchy.
  • the melody control information generation means F20 generates various PCs: Some PCs are stationary over a relatively long period of time. Some PCs vary in a cycle comparable to a unit of segment, here a measure. Some other PCs change, under the influence of musical form, to a different value at particular segments or points. Depending on the values of PBs, the values of musical form data, and the types of function used by the computation means F21, extremely various PCs are generated from the same PAs.
  • the melody generation execution means F30 mainly comprises a tone pitch sequence generation means F31 and a tone duration sequence generation means F32.
  • the tone pitch sequence generation means F31 includes arpeggio generation means F31-1 adapted to generate a sequence of pitches of arpeggio tones by using the chord in progress provided by the chord progression data F3 and PC directly provided by the melody control information generation means F20 or PC with fluctuations incorporated by a random number generation means F31-4.
  • the means F31 further includes nonharmonic tone imparting means F31-2 adapted to add nonharmonic tone(s) before, after arpeggio tone(s) and/or between arpeggio tones in accordance with the plan of PC and the internal rule of addition.
  • Tone pitch control means designated by F31-3 serves to control the use of melody note candidates generated in the process of the means F31-1 and/or F31-2.
  • the tone pitch control means F31-3 causes note scale generation means to generate note scale data having weights assigned to respective pitches and commands effective pitch checking means F31-3B to test the effectiveness of that candidate based on the assigned weight. Those notes that have passed the test are sent back to the means F31-1, F31-2 where they are used as genuine melody notes.
  • the tone duration sequence generation means F32 comprises optimal note joining means F32-1, optimal note disjoining means F32-2, and characteristic pattern incorporation means F32-3 and is operable to generate a sequence of tone durations in accordance with the PC planning.
  • the optimal note joining means F32-1 and optimal note disjoining means are used to generate a sequence of durations of arpeggio tones.
  • the optimal joining means F32-1 is operable to join tone durations a number of least times based on an initial sequence of tone durations (for example, the extracted sequence of arpeggio pattern as provided by the arpeggio (rhythm) pattern extraction means F12-2 in the means F10 or its qualified pattern) until the targeted number of notes of arpeggio (provided as a PC) has been reached.
  • the optimal disjoining means F32-2 is operable to disjoin the tone durations in the initial sequence a number of least times until the planned number of arpeggio tones PC has been reached. Further, both of the means F32-1 and F32-2 are adapted to perform note joining and joining by using a pulse scale. While such a pulse scale may be supplied as a PC (melody planning information) from the means F20, in the flow of the operation of the present embodiment, the pulse scale is built in the rule of disjoining and joining in these means.
  • the characteristic pattern incorporation means F32-3 is operable to the associated PC to incorporate a characteristic mini-pattern into the sequence of melody tone durations. In the present example, the characteristic mini-pattern is injected in the last process of melody generation.
  • Control means F33 serves to activate various elements in the melody generation execution means F30 and control data transfer among these elements.
  • the resultant data from the melody generation execution means F30, melody data are stored in the melody data memory 113 (Fig. 37).
  • Fig. 39 is a partly block and partly flow diagram illustrating the overall operation of the present automatic composer. Fig. 39 is illustrated to give locations of various processes and further description thereof is omitted here.
  • Fig. 40 is a list of main variables used in the automatic composer. Because Fig. 40 is selfexplanatory, the description is omitted.
  • Fig. 41 is a list of parameters C. Though the melody control information includes parameters not shown, only those parameters with letters of PC that are used in the following Figures are shown in Fig. 41. Further description is omitted because of selfexplanatory nature of Fig. 41.
  • pitch data is identical with that of the first embodiment. That is, the pitch data assignment as shown in part (a) in Fig. 6 is used.
  • chord progression information is supposed to have one chord per measure.
  • the length of measure is supposed to be equal irrespective of measure number.
  • each chord is assumed to consist of four pitches.
  • One type of chord consists of four independent voices such as C major seventh chord of do, mi, sol and ti whereas the other type of chord is essentially triad with two voices having an octave relation with each other.
  • the triad of do, mi and sol is expressed, here, by four data of do, mi, sol and do (an octave up from do).
  • address locations for each chord in the chord member memory 102 are made up of four addresses with respective addresses storing values corresponding to the respective pitches of the members: the chord of say (do, mi, sol and do) is represented by data of (1, 5, 8, 13).
  • the motif information is input by the input device 101 in Fig. 37 and is stored in the motif memory 106.
  • the first job of the automatic composer is to evaluate the motif information.
  • Fig. 45 is a flow of evaluation of motif executed by CPU109.
  • CPU109 evaluates the motif on a single measure basis.
  • Fig. 45 The main portions of the flow in Fig. 45 are rhythm evaluation at 45-11 and nonharmonic tone evaluation at 45-12.
  • Fig. 45 is a motif data number i.e., a variable indicative of note number in the motif measure of interest.
  • AFT is a variable or register indicative of the number of notes following the i-th note in the measure.
  • BEF is a variable of the number of notes preceding the i-th note (45-2, 45-3).
  • computation is performed of the pitch difference or interval between each of adjacent pairs of tones in the sequence of pitches of six notes MDi-1 to MDi + 4 surrounding the i-th note MDi. For example, al indicates the interval between MDi (note of interest) and MDi + 1 (next note).
  • a rest is processed in a specialized manner because it does not involve the concept of pitch (45-5, 45-8).
  • nonharmonic tone extraction 45-12 nonharmonic tones contained in the motif are extracted and classified from the position of the note of interest relative to the bar lines AFT, BEF and the interval motions a0 to a4 surrounding that note, as will be described later. Accordingly, the above operations of 45-2 to 45-10 are a prearrangement for the nonharmonic tone extraction 45-12. "No" indicates the total number of notes (including rests) contained in the motif measure. When the evaluation has been carried out of all of the notes (i>No), the process goes out from the illustrated flow. Further description of the flowchart in Fig. 45 is omitted except the process of 45-11 and 45-12 because Fig. 45 is obvious per se.
  • Fig. 46 illustrates the details of the rhythm evaluation 45-11 in Fig. 45. The purpose of this process is to examine what kind of and how much mini-patterns are contained in the motif.
  • mini-patterns sequences of tone durations for investigation are given by:
  • the number of patterns of ratio of 3-1 contained in the motif is counted in HRI, the number of patterns of ratio of 1-3 in HR2, the number of patterns of ratio of 1-1 in HR3, the number of patterns of ratio of 2-1-1 in HR4, the number of patterns of ratio of 1-2-1 in HR5 and the number of pattern of ratio of 1-1-2 in HR6.
  • the counter HR3 of 1-1 pattern indicates "2" (one for and one for , totaling two), the counter HR4 of 2-1-1 pattern “1” (one for ), the counter HR6 of 1-1-2 pattern “1” " (one for and the other counters HRI, HR2, HR5 "0".
  • Fig. 47 illustrates the details of nonharmonic tone extraction 45-12 in Fig. 45.
  • the flow of 47-1 to 47-58 forms a tree structure so that the automatic composer will deduce the type of nonharmonic tones for any particular note in a forward reasoning from the positional information AFT, BEF about the note of interest relative to the bar lines and the interval motions a0-a6 formed by the sequence of notes surrounding that note.
  • the result that any particular note is any particular type of nonharmonic tones is recorded by writing unique values to numbered registers HDi in the array ⁇ HDi ⁇ : the array ⁇ HDi ⁇ is allocated to a certain area in the work memory 110 and is initialized with the pitch data of motif ⁇ MDi ⁇ .
  • Fig. 47 as nonharmonic tones, there are shown anticipation, appoggiatura, neighbor, passing and other nonharmonic tones. These terms are however merely for the sake of description.
  • the flow in Figs. 47A to 47C classify or define types of nonharmonic tones. This implies that other definitions can be made of respective types of nonharmonic tones. From the teaching of the present invention, a person skilled in the art could easily design extraction of nonharmonic tones using other definitions.
  • motif may be referred to as the first analysis of motif and then the extraction of motif parameters which will be described hereinafter may be called the second analysis of motif. Either function is directed to do analysis of motif characteristics.
  • Fig. 48 is a general flow illustrating extraction of motif parameters. According to the flow, at 48-1, extraction is performed of a parameter indicative of a pattern of harmonic tones, or a stream of pitches of arpeggio tones contained in the motif, or a pattern of vertical components ⁇ LLi ⁇ . At 48-2, extraction is made of a pattern indicative of a stream of durations of arpeggio tones or a pattern of horizontal components ⁇ RHi ⁇ . At 48-3, computation is made of the number of respective types of nonharmonic tones. At 48-4, calculation is made of the number of harmonic tones. At 48-5, a parameter indicative of smoothness of the sequence of pitches of motif is extracted.
  • a parameter indicative of the number of consecutive same pitches is extracted.
  • extraction is made of the shortest tone in the motif.
  • extraction is made of a parameter indicative of characteristic rhythm in the motif. The order of these processes is not limited to that illustrated.
  • the present automatic composer handles a nonharmonic tone and a harmonic tone in a distinguished manner.
  • the flow of 48-1 to 48-6 in Fig. 48 is associated with this.
  • nonharmonic tones are removed from the sequence of motif tone durations. That is, notes of nonharmonic tones are absorbed into notes of harmonic tones, thus forming a sequence of durations of tones consisting only of harmonic tones.
  • Smoothness parameter and same pitch motion parameter at 48-5, 48-6 considers only arpeggio tones, disregarding nonharmonic tones.
  • This extraction approach is based on the concept that harmonic tones constitutes fundamentals of melody.
  • Fig. 49 illustrates the details of extraction of pattern of harmonic tones 48-1 in Fig. 48. Because this extraction is identical with that of the first embodiment (Fig. 17), the description thereof is omitted.
  • Fig. 50 illustrates the details of the process 48-2 in Fig. 48.
  • the purpose of this process is to form a sequence of durations of tones consisting of only harmonic tones with nonharmonic tones eliminated from the motif containing both harmonic tones and nonharmonic tones.
  • durations of individual nonharmonic tones are absorbed into the durations of adjacent harmonic tones.
  • Which harmonic tone absorbs which nonharmonic tone is determined based on a pulse scale for a quadruple time as illustrated in Fig. 51.
  • a nonharmonic tone is interposed between tones. The weight of the starting point of that nonharmonic tone is compared with the weight of the point where the next note (assumed to be a harmonic tone) starts.
  • the duration of the nonharmonic tone is absorbed into the duration of the next note. If the weight of the starting point of the next note is heavier, the duration of the nonharmonic tone is absorbed into the preceding note (assumed to be a harmonic tone for simplicity).
  • the above is the logic of absorption of nonharmonic tone durations.
  • the harmonic tone that has absorbed the nonharmonic tone duration becomes longer than the original by the nonharmonic tone duration.
  • the pulse scale of (5, 1, 2, ...) shown in Fig. 51 is a logical scale and is built into the flow in Fig. 50.
  • SUM is a register indicative of the distance or length between the starting location of the next note and the preceding bar line.
  • SUMB is a register indicative of the distance or length between the starting point of the current note and the preceding bar line.
  • MRi indicates the duration of the i-th note in the motif.
  • RHN initially indicates the duration of the Nth harmonic tone in the motif and will be the duration of the original plus the durations of zero to several surrounding nonharmonic tones at the end of the process in Fig. 50. No is the total number of motif notes.
  • SUM MOD 2j is a quotient resulting from the division of SUM by 2j.
  • SUMB MOD 2j is a quotient resulting from the division of SUMB by 2j.
  • the nonharmonic tone in question is the last note, the starting point of the next note has the maximal weight (assuming that there is no note crossing a bar line). Accordingly, the last note is absorbed into the preceding note (50-9).
  • examination is carried out as to whether the nonharmonic tone which is neither the first nor the last note is measure is to be absorbed into the preceding (harmonic) tone duration RHN or the next (harmonic) tone duration RHN + 1 in accordance with the logic of pulse scale.
  • the fa is a nonharmonic tone and the other tones are all harmonic tones.
  • the pulse scale shown in Fig. 51 is a mere example and it is possible to form a sequence of harmonic tone durations by using other pulse scales. This is obvious.
  • the nonharmonic tone is to be absorbed into the previous tone whereas for the weight of starting point of the nonharmonic tone ⁇ the weight of the starting point of the next harmonic tone, the nonharmonic tone is to be absorbed into the next harmonic tone.
  • FIG. 52 illustrates the details of the processes 48-3 and 48-4 in Fig. 48.
  • parameters PAij are initialized.
  • the number of anticipation contained in the motif is loaded in PA5,2, the number of appoggiatura in PA2,2, the number of neighbor in PA4,4 and the number of passing in PA3,3.
  • SUM results in the total number of nonharmonic tones contained in the motif measure.
  • the contents of PA1,3 indicate the total number of harmonic tones contained in the motif measure.
  • FIG. 53 illustrates the details of the processes 48-5 and 48-6 in Fig. 48.
  • ⁇ LLk ⁇ is the pattern of arpeggio tones in the motif measure.
  • PA1,2 is set at the degree of maximal skip motion among adjacent pairs of harmonic tones or smoothness parameter and PA1,6 is set at the number of consecutive same pitch harmonic tones as a same pitch motion parameter.
  • LLk for a rest lacking the concept of pitch is set at zero.
  • Fig. 54 illustrates the details of the process 48-8 in Fig. 48.
  • the automatic composer of the present embodiment examines what mini-patterns and how much such mini-patterns are contained in the motif. The remaining question is to decide which mini-pattern is a pattern characterizing the motif.
  • the pattern characterizing the motif is a dominant mini-pattern.
  • the evaluation based on this approach is exemplified in the flow in Fig. 54. According to the flow, it is examined which of mini-patterns of ratios of 3-1 (for example) and 1-1 ( for example) is dominant in number. If the number of the mini-pattern of the ratio of 1-1, HR3 is greater, PA6,1 is set at zero. If the number of the mini-pattern of the ratio of 3-1, HRI is greater, PA6,1 is set at 3.
  • Fig. 54 The flow in Fig. 54 is a mere example. A person having an ordinal skill in the art can easily prepare other extraction of featuring rhythm parameter. For example the numbers of other mini-patterns (such as HR2, HR4, HR5, HR6) may also be considered.
  • other mini-patterns such as HR2, HR4, HR5, HR6
  • the featuring mini-pattern identified by the value of PC6,1 is built into the sequence of melody tone durations whereby the rhythmic characteristic of motif is reflected in the melody.
  • Fig. 55 illustrates the details of the process 48-7 in Fig. 48.
  • the minimal tone duration found in the search of motif tone durations MRi is set in a register min in an updated fashion and the final minimal tone duration is stored in PA3,3.
  • the minimal tone duration information PA3,3 may be associated with the minimal tone duration in a melody to be generated. For example, if it is planned that the minimal tone duration in motif PA3,3 is equal to the minimal tone duration in melody PC3,3, then no melody notes shorter than motif notes will be generated: of course, this does not mean that the equality is a must but involves controllability. Under any circumstance, PA3,3 is one of the motif tone duration (rhythm) parameters.
  • the next job of the automatic composer is to generate a melody based on the result of such evaluation and extraction.
  • the function of melody generation is primarily divided into two parts, one for planning the outline of a melody to be generated (melody planner) and the other for generating a melody in a concrete form in accordance with the plan laid by the melody planner.
  • the melody planner corresponds to the melody control information generation means F20 in Fig. 38: if chord progression information is automatically formed, then the function of such automatic generation of chord progression may also be included in the melody planner because the chord progression information also serves to regulate the melody to be generated.
  • the main task of the melody planner is to associatively infer or plan a melody to be generated from the result provided by the motif featuring parameter extraction means.
  • the melody planner supplies planned information i.e., melody control information to various portions in the melody generation execution means (corresponding to F30 in Fig. 38).
  • the melody generation execution means carries out the generation of melody in accordance with the supplied melody control information.
  • the major two functions of the melody generation execution means are to generate a sequence of melody tone pitches and to generate a sequence of melody tone durations.
  • the melody plan information or melody control information will be called parameters C or PC hereinafter.
  • a melody formed by the melody generation execution means is greatly dependent on parameters C.
  • parameters C characterize a melody to be generated.
  • the general job of the present automatic composer is to generate a complete melody or music piece from a motif or a part of music piece.
  • the automatic composer can compose music in a wide range from the one faithful to the melody provided by the user to the one placing emphasis on freedom and variety rather than faithfulness to the user's motif.
  • the first property of parameters C is that they depend on the progression segment of music.
  • the second property is that parameters C depend on the motif featuring parameters.
  • the first property is related to consistency and variety in music structure.
  • the second property is associated with a degree of reflection of the motif on the music piece to be composed.
  • a measure is chosen as a unit of segment of music and parameters C are assigned to respective measures.
  • Parameters C are formed by means of computation.
  • Constituent parameters for the computation include parameters B for controlling consistency and variety in the stream of melody and motif featuring parameters (sometimes referred to as PA). Further the constituent parameters include musical form data or parameters in order to provide music with a higher level of hierarchy.
  • the parameters B reside in the parameter B memory 107 in Fig. 37.
  • the musical form data are placed in the musical form data memory 108.
  • the user may directly or indirectly requests the automatic composer to use particular parameters by means of the input device 101 if desired. Similarly, the user may designate a musical form by the input device 101, thus requesting the automatic composer to use specified musical form data.
  • the man-machine interface associated therewith (for example, conversion between user's conceptual space and internal representation space such as parameters B in the automatic composer) is not the subject matter of the present invention and further description thereof is therefore omitted.
  • Fig. 56 illustrates a flow of computation of parameters C.
  • motif featuring parameters PA are read.
  • consistency and variety control parameters PB are read.
  • musical form data are read from the musical form data memory 108. These three steps are not necessarily performed each time the measure number is incremented but may be carried out at a time. That is, these steps are independent in respect of process from the measure number of melody to be generated.
  • the operations 56-4, 56-5, 56-6 are performed on a single measure basis and correspond to the step 60-9 of computation of PC as will be described in conjunction with Fig. 60.
  • musical form data are decoded.
  • computation is made of the values of PC assigned to the measure of melody which will be generated at 56-5.
  • the parameters C have a form of function of constituent parameters or variables comprising measure number, PA (motif featuring parameters), PB (consistency and variety control parameter) and SB (musical form parameters or higher level control parameters). This does not mean however that any parameter PC actually depends on any of the measure number, PA, PB and SB.
  • parameters C are a set of large number of parameters. Some parameters C may have a DC characteristic independent from the measure number. Further, this does not mean that once the measure number, PA, PB and SB are given, the value of PC must be uniquely determined.
  • the uniquely determined intermediate value of PC may be randomized by the random number generation means (F24 in Fig. 38). Preferably, such randomization is a controlled one and the final parameter C is formed by the introduction of random numbers controlled by the intermediate value of PC (by introducing for example pertubations centering the intermediate value of PC).
  • the parameters are corrected by the function of learning.
  • development section in music has properties of the difference as a whole from the preceding section and the approaching element to the development section.
  • the measure immediately preceding the development normally has a sense of cadence or ending and yields a psychological effect of anticipation of the development to come.
  • the whole development phrase usually differs in musical elements such as the pitch range, the number of tones, or the rhythm.
  • the present embodiment is adapted to generate musical form data to control the musical form.
  • the operations 56-3, 56-4, 56-5 in Fig. 56 are associated therewith.
  • Fig. 57 shows an example of data stored in the musical form data memory 108 (Fig. 37).
  • the data format comprises an upper digit AI and a lower digit A2.
  • the upper digit AI indicates a measure number where a particular phrase starts.
  • the lower digit A2 indicates the type of phrase starting at the measure number specified in the upper digit Al: particularly, when the value of A2 is zero, it represents a repeat phrase and when the value is not zero, A2 represents a development phrase and the value indicates the type of development.
  • Fig. 58 illustrates the details of the process 56-4 in Fig. 56: the operation 58-1 however corresponds to the operation 56-3 in Fig. 56 in order to clarify the meaning of the flow in Fig. 58.
  • hold parameters SBH for characterizing the whole development melody
  • pulse parameter SBPi for characterizing the transition to the development phrase.
  • CPU109 enters the step 58-2 to reset registers SBPj of pulse type musical form ID parameters.
  • SBPj of pulse type musical form ID parameters.
  • three pulse parameters SBPI, SBP2 and SBP3 are provided as seen from Fig. 59.
  • the pulse parameter SBP3 is operatively assigned to the measure which is two measures before the development phrase (starting at the ninth measure in Fig. 59).
  • the pulse parameter SBP2 is assigned to the measure immediately preceding the development phrase.
  • SBPI is assigned to the starting measure of the development.
  • a single hold parameter SBH is provided and operatively assigned to the whole development (extending from the ninth measure to the twelfth measure).
  • phrase number counter j is initialized.
  • the upper digit of the original musical form ID data or the starting measure number of the j-th phrase is placed in a register al and the lower digit or the type of that phrase is stored in a register a2.
  • a variable a3 is placed in the third pulse musical form ID parameter SBP3 (58-9, 58-10).
  • the variable of the type of the phrase a2 is moved to the second pulse musical form ID parameter SBP2 (58-7, 58-8).
  • SBP2 the second pulse musical form ID parameter
  • the value a2 is placed in both of the first pulse parameter SBPI and the hold parameter SBH (58-5, 58-6).
  • SBN at 58-12 is the total number of phrases contained in a music piece.
  • SBH is set at the type of a phrase only when the starting measure of that phrase coincides with the melody measure number. Hence, if the phrase is a development, SBH has a value of nonzero during the time of the development whereas if the phrase is a repeat, SBH has a value of zero so that it does not contributes to parameter C.
  • the decoded musical form data or parameters are used as constituent parameters (such as DC components) for the computation of parameters C at 56-5.
  • Fig. 60 illustrates a general flowchart for successive generation of melody.
  • the main portion of this flow is the computation of PC at 60-9 (corresponding to 56-4 to 56-6 in Fig. 56) and the generation of melody at 60-10 (which will be described later in detail).
  • the remaining portions are concerned with the data transfer between memories or the like handled by the melody control in Fig. 39.
  • the operations of 60-1 to 60-5 are directed to the transfer of the motif data from the motif memory 106 (Fig. 37) to the melody data memory 113. No at 60-5 is the number of notes contained in the motif.
  • MNo shown at 60-6 and 60-16 is the number of melody notes already generated in the course of successive generation of melody data. Since the generation of melody occurs measure by measure, the number of measures forming the whole motif is computed (from the tone duration data of the motif, for example) (60-7). The computed number of motif measures is then incremented by one (60-8). When a melody for one measure has been formed (60-9, 60-10), those melody data are written to the melody data memory 113 (60-11 to 60-15). No at 60-15 is the number of melody notes generated at 60-10 covering one measure.
  • CNo at 60-17 is the total number of chords involved in the chord progression. Since there is one chord per measure in the present example, the generation of melody will be complete when the melody measure number has reached the total number of chords.
  • the function of generation of melody in a concrete form mainly comprises two parts, one for generating a sequence of melody tone pitches and the other for generating a sequence of melody tone durations.
  • Either function is operable in accordance with the melody plan information or melody control information supplied measure by measure from the melody planner and forms melody notes based on the internal generation rule incorporating the respective melody control information (collectively referred to as parameter PC) therein (for example in the form of constraints).
  • the melody tone pitch sequence generation function includes arpeggio generation means for generating a sequence of arpeggio tone pitches and nonharmonic tone addition means for adding nonharmonic tone(s) to the front and/or back of arpeggio tone(s) and/or between arpeggio tones.
  • the melody tone pitch sequence generation means further includes pitch control means adapted to determine a note scale for use in the arpeggio generation means and the nonharmonic tone addition means and to check the pitch effectiveness of melody note candidates. Only those candidates that have been found to be effective are accepted as melody notes.
  • the melody tone duration sequence generation means comprises means for generating a sequence of durations of arpeggio tones, means for adjusting the sequence of tone durations taken in conjunction with the addition of nonharmonic tone pitches and means for incorporating a rest and a characteristic mini-pattern to provide a complete sequence of melody tone durations.
  • Figs. 61 A and 61 B illustrate a flow of generating arpeggio tones.
  • the process of 61-1 to 61-5 is essentially a preparation for the generation of the sequence of arpeggio tone pitches executed from 61-6 to 61-42.
  • read operation is performed of the chord members assigned to the melody measure in progress.
  • the read chord members are inverted.
  • PC1,12 at 61-3 indicates whether to use an optimal inversion number or an ordinary inversion number specified in PC1,7. If PC1,12>0, the optimal invention number is computed at 61-4 and PC1,7 is updated with the computed number.
  • the inversion of chord members influences the pitch range of melody measure being generated. In the present example, the greater the inversion number is the higher the pitch range will be.
  • the purpose of optimal inversion is to provide a current measure melody which is optimally connectable with the stream of the previous measure melody. This function is particularly effective in concatenation of similar arpeggio patterns.
  • weighted note scale data ⁇ SCLi ⁇ are read to modify the read weights of tone pitches depending on predetermined conditions (for example, the pitch is a member of the chords or the root shift operation is requested).
  • the modified note scale data ⁇ SCLi ⁇ are referenced when a candidate of melody note of arpeggio is provided. If the candidate tone is found to have a weight heavier than the value of threshold PCI,I supplied from the parameter computation means, then it is accepted as a genuine melody note.
  • the modified note scale data are also referenced in the process of addition of nonharmonic tones (as will be described later) and those candidates having a weight greater than the threshold value are adopted as valid melody notes.
  • the final step 61-44 in Fig. 61 B is the determination of tone durations or the generation of the sequence of arpeggio tone durations.
  • Figs. 61A and 61 B have been generally described, turning now to its details.
  • chord progression information is provided by the chord progression memory 103 and the chord member memory 102 in Fig. 37.
  • Fig. 62 shows an example of chord progression data stored in the chord progression memory 103 and member data for each chord stored in the chord member memory 102. Fig. 62 further shows contents of chord root data memory 104.
  • the area in the chord member memory 102 for storing each chord consists of four successive addresses where pitch data of the chord members are stored in the increasing order.
  • Data indicative of the name or type of chord are stored at each address of successive locations in the chord progression memory 103.
  • the sequence of such data represents a chord progression.
  • the start address in the chord member memory 102 where a first chord member is stored is computed from the data of chord type stored at each address of the chord progression memory 103.
  • the data at each address of the chord progression memory 103 specifies the address in the root data memory 104 where the root of the chord is stored.
  • the start address in the chord member memory 102 is generated by the computation of (DATA-l) x 4+ 1 where DATA is the chord type data.
  • chord members The read operation of chord members is carried out by firstly reading the chord in progress from the chord progression memory 103 and using the read data as a pointer to the chord member memory 102 to read the corresponding members therefrom.
  • the I-th chord in the chord progression memory 103 (file of chord progression) are read by specifying the I-th address.
  • a code EOF end of file indicative of the end of the chord progression.
  • chord members are performed in a burst mode by reading all chords in the file of chord progression and their corresponding members in the file of chord members: of course, the chord inversion at 61-5 occurs with respect to one chord in progress.
  • Fig. 63 illustrate a flow of reading members of all chords at a time (details of 61-1 in Fig. 61).
  • chord number or name data are successively read from the chord progression memory 103 (Fig. 62). Particularly, at 63-2, the content of the i-th address in the chord progression memory 103 or the name of the i-th chord is set in a register CNi.
  • EOF at 63-3 is the end of file code stored next to the last chord name address. When the EOF is encountered, the read operation of chord names will be complete.
  • chord member memory 102 to read pitch data of corresponding chord members.
  • pitch data following the start address are placed in registers KDij.
  • KDil, KDi2, KDi3 and KDi4 are referred to simply as KDI, KD2, KD3 and KD4 respectively.
  • the register KDI is used to store the lowest harmonic tone in the chord, KD2 the second lowest harmonic tone, KD3 the third lowest harmonic tone and KD4 the highest harmonic tone. So far, KDI, KD2, KD3 and KD4 store pitch data of chord members in a basic position as the chord member memory 102. For the chord G7 in the third measure in Fig. 44, the corresponding KDI to KD4 are given by:
  • a set of weighted note scales are stored in the weighted scale data memory 105 in Fig. 37.
  • An example is shown in Fig. 64 where four kinds of note scales are illustrated: they are a yona nuki minor scale, a yona nuki major scale, an Okinawa scale and a Western major scale.
  • the pitches of do, re, mi, fa, sol, la and ti are assigned a weight or value of 75.
  • the remaining pitches are assigned a value of 25.
  • the weight assigned to each pitch indicates a degree of effectiveness with which that pitch is used as a melody note.
  • the Western scale data are stored in the weighted scale data memory 105 at addresses 36 to 47.
  • Fig. 65B illustrates the details of read data operation 65A-1 and Fig. 65A.
  • the user inputs the type of note scale by means of the input device 101 (658-1). From the input information, CPU109 computes the start address of the designated note scale data in the weighted scale data memory 105 (65B-2), and writes twelve data at addresses following the start address to the array ⁇ SCLi ⁇ .
  • PC1,14 shown at 65A-2 in Fig. 65A is a parameter supplied from the parameter C computation means and indicating whether or not to shift root. If PC1,14>0 the process goes to the shift-root routine of 65A-3 to 65A-13. If not, the process skips over the routine to the flow in Fig. 66: Fig. 65A and Fig. 66 show in combination the details of 61-2 in Fig. 61.
  • the steps following 65A-3 in Fig. 65A are a flow of shift-root.
  • the root data corresponding to the current chord name CNi is read from the root data memory 104.
  • the read root data R is "1"
  • no shift root operation occurs because the root or tonic of the scale matches the chord root.
  • the chord root mismatches the scale root, R is greater than 1 or indicates one plus the interval of mismatch.
  • the root shift operation of 65A-5 to 65A-13 is executed: the weight of root placed in SCLI is shifted to SCL8, and similarly SCL2-SCL9, ... SCL5 ⁇ SCL12, SCL6-SCLI, SCL7-SCL2, ... SCL12 ⁇ SCL8.
  • the function of the shift root operation may be applied, for example, to modal music in jazz.
  • Fig. 66 shows a flow for modifying the weights of scale data in a different manner from the shift root process.
  • the greatest value or weight is 75 and the least value is 25.
  • Some scales contain an intermediate value of 50.
  • the note assigned the maximal value is referred to as a "scale note”.
  • notes of do, re, mi, fa, sol, la, ti along a diatonic scale are assigned the maximal weight of 75 and the other notes are given the least value of 25.
  • Western major scale consists of do, re, mi, fa, so, la, ti: this fact is represented in the scale data in (4) in Fig. 64.
  • the flow in Fig. 65A is directed to the shifting of the reference note on the scale or cyclic shift of the array ⁇ SCLi ⁇ whereas the flow in Fig. 66 is directed to raising the weight of the note which is found to a chord member.
  • the present embodiment employs optimal inversion means.
  • Fig. 67 illustrates the details of the computation of optimal inversion number 61-4.
  • PC1,10 is a parameter supplied from the parameter C computation means and indicative of the value adjusting or raising the optimal inversion number (see 67-18, 67-19).
  • PCI,II is also supplied from the parameter C computation means and indicates the upper limit of optimal inversion number (67-22, 67-23).
  • LLI is the vertical position of harmonic tone appearing first in the previous measure or the information defining what numbered lowest harmonic tone in the measure (see 67-12).
  • LL2 is the vertical position of harmonic tone appearing second in the previous measure (67-14).
  • PC1,13 is used to determine whether to make a complementary tone pattern.
  • KDi is the i-th lowest chord member pitch as is read from the chord member memory without any inversion.
  • chord member tone (before inverted) in the current measure is closest to the last note (excluding a rest) in the previous measure: if there are two closest tones, the higher one is selected.
  • a register a2 stores the vertical position of the chord member tone closest to the last tone in the previous measure.
  • Fig. 68 illustrates the details of the inversion of chord members 61-5 in Fig. 61.
  • PC1,7 in Fig. 68 is a parameter indicative of how many inversions are to be made and has a value provided directly by the parameter C computation means or updated for the optimal inversion.
  • the illustrated process is identical with the inversion process in the first embodiment (Fig. 27). So, further description is omitted.
  • the pitch range of arpeggio tones has been determined with KDI, KD2, KD3 and KD4 being set at pitches of chord members in that pitch range in the course of the operation 61-5: the pitch range has been controlled by PC1,7 directly supplied from the parameter C computation means or indirectly supplied therefrom via the optimal inversion number computation 61-4 for optimal concatenation of arpeggio patterns. Further the process 61-2 has provided current chord members with a weight heavier than that of ordinary "scale notes".
  • a parameter PC1,3 for determining whether to repeat the previous arpeggio pattern.
  • the range of the repeat from (PC1,4) and to (PC1,3)
  • the arpeggio tone pitch sequence generation means performs the repeat of arpeggio pattern in the specified range.
  • the pitch sequence generation means inverts the arpeggio pattern ⁇ LLi ⁇ (against the previous measure arpeggio pattern) if such inversion is requested (PC1,13>0). For example, if the pattern in the previous measure is an upward motion, the pattern of downward motion ⁇ LLi ⁇ is generated in the current measure.
  • the parameter C computation means may supply (if necessary) a command that the first tone in the current measure is to be determined from the last tone in the previous measure (PC1,5>0).
  • the arpeggio tone pitch sequence generation means makes a smooth concatenation of the first tone in the current measure to its previous note: this function may be substituted for the optimal chord inversion means for providing a smooth connection of arpeggio tones. If such smooth concatenation is not necessary, the parameter C computation means supplies the associated parameter having a value indicative of the unnecessary to the arpeggio tone pitch sequence generation means.
  • the parameter C computation means further issues a parameter PC1,9 for controlling the skip motion of arpeggio tones.
  • the arpeggio tone pitch sequence generation means interpretes PC1,9 as follows.
  • PC1,9 means inhibition of skip motion.
  • PC1,9Z:3 means no restriction of skip motions.
  • the tone pitch sequence generation means checks to see whether any skip motion has occurred, using flags for confirmation.
  • the parameter C computation means sometimes allows a random generation of arpeggio tones when, for example, the repeat of the previous arpeggio pattern is not planned.
  • the parameter C computation means provides, however, some restrictions such as the upper limit of skip motion PC1,2 and the control parameter of the same pitch motion PC1,6 to avoid a totally random arpeggio tones.
  • the arpeggio tone pitch sequence generation means generates a sequence of tone pitches that satisfies such limitations or is controlled by PC.
  • the arpeggio tone pitch sequence generation means When it generates a candidate of an arpeggio tone, the arpeggio tone pitch sequence generation means references the note scale data ⁇ SCLi ⁇ and reads the weight of that candidate for the check of its effectiveness.
  • the parameter C computation means supplies a parameter PCI,I of the threshold value of valid tone pitch. If the read weight of the tone candidate is heavier than the threshold PCI,I, the candidate will be adopted as an effective tone i.e., a melody note of arpeggio.
  • the job of the arpeggio tone pitch sequence generation means is complete when the number of the generated arpeggio tones has reached the targeted number provided by the PC computation means.
  • the parameter C computation means supplies various parameters of planned values to the arpeggio tone pitch sequence generation means which in turn "interpretes" the various parameters C as received to generate a sequence of arpeggio tones.
  • the arpeggio tone pitch sequence generation means has a rule of generation of tone pitch sequence in accordance with the planned parameters C. Similar relationship exists between the parameter C computation means and other melody generation execution means.
  • i is a note number
  • fi and fib are flags for controlling skip motion
  • NF indicates SLCaI ⁇ PCI,I (invalid pitch) at 61-36.
  • 61-16 to 61-28 form a process of determination of LLi by randomization.
  • the flag NF also serves to avoid infinite loop operations including the process of randomization (see 61-37, 61-19, 61-23, 61-27).
  • the tone pitch check (61-36) or the limitation provided by the weight control parameter PCI,I takes precedence over the command indicated in the skip motion control parameter PC1,9 (see 61-38). This considers the situation where the skip motion control (PC1,9) conflicts with the weight control (PCI,I) which can inhibits the use of every other chord members ⁇ KDi ⁇ .
  • the details of the determination of the tone from the previous tone 61-15 are shown in Fig. 69.
  • the tone which is a valid pitch (the check 69-6 is affirmative), and closest to the previous tone MEDi-1 (see 69-3, 69-5, 69-7, and 69-8) is selected and set in LLi (to be precise, LLI) in the form of vertical position number.
  • the process of generation of duration sequence of melody tones is essentially independently performed from the process of generation of pitch sequence of melody tones.
  • a sequence of tone durations satisfying the given conditions may be generated using any suitable generation rule for tone duration sequence.
  • the number of tones in each measure is planned and issued by the parameter C computation means (as initial value of PC in Fig. 42).
  • motif arpeggio tone duration pattern forming means (Fig. 50) has removed the nonharmonic tones in the motif, the durations of which have been absorbed into the harmonic tones, thus forming a duration sequence of tones consisting only of harmonic tones. This sequence will be referred to as motif arpeggio pattern.
  • the number of arpeggio tones planned by the parameter C computation means depends on the progression of music. Hence, the number of arpeggio tones in some measure can be equal to, greater than or less than the number of arpeggio tones in the motif measure.
  • the motif arpeggio tone pattern is used as the melody arpeggio tone pattern when their numbers of tones match. This is to greatly reflect the rhythmic characteristics of the motif on the melody to be generated.
  • a pattern qualified or modified from the motif arpeggio pattern may be used as the melody arpeggio pattern if desired: an example of means for implementing such pattern modification will be described in another section.
  • the present embodiment considers a sequence of tone durations faithfully holding the rhythmic characteristics of the motif.
  • the next question is what to do if the number of arpeggio tones in a melody measure mismatches the number of arpeggio tones in the motif measure.
  • the pattern of arpeggio pattern in such a melody measure is formed by a minimum number of disjoining or joining of tone durations.
  • This approach places emphasis on consistency rather than freedom.
  • the operation of the minimum number of tone joining or disjoining yields a pattern having least modification from the initial pattern (or the motif arpeggio pattern if used as the initial pattern).
  • the pulse scale which was used to extract the motif arpeggio pattern is used to disjoin or join tone durations. While this introduces the characteristic of the pulse scale into the generated tone duration pattern, the pattern does not change irregularly but keeps the consistency of rhythm associated with the pulse scale involved. Thus, a well controlled conversion of tone duration pattern is achieved.
  • i is a note number in the current measure.
  • RHi is the duration of the i-th harmonic tone in the motif measure.
  • MERi is the duration of the i-th melody tone (harmonic tone, here) in the current measure.
  • PC is the number of arpeggio tones assigned to the current measure as planned by the parameter computation means.
  • PA1,3 is the number of arpeggio tones contained in the motif measure.
  • S is the difference between the number of melody arpeggio tones and the number of motif arpeggio tones.
  • next notes For example, first search for those next note which begin at points 1, 3, 5, 7, 9, 11, 13, 15 (having a weight of 1) among the positions 0 to 15 as seen in Fig. 51. If such next notes exist, they are joined with their immediately preceding notes (so long as there is any). If the targeted number is not reached, then it is checked to see whether there is (are) note(s) starting at a point having weight of 2. If any, such a note is joined to its preceding note (the current note). If the goal number is not yet reached, it is checked to see whether there are notes starting at a point having weight of 3 and if any, such a note is joined to its preceding note. The process continues similarly.
  • SUM is the starting of the next note or the distance from the preceding bar line.
  • VT indicates the length of array ⁇ MERj ⁇ i.e., the current number of arpeggio tones (to be precise, the current number minus 1, the number of arpeggio tones to be reached next).
  • the occurrence of i>4 at 72-9 means a whole note (a single note per measure).
  • the tone duration of the next note MERj + 1 is joined to the tone duration of the current note MERj.
  • the array ⁇ MERj ⁇ is shifted.
  • the check at 72-5 means as follows.
  • first search is performed as to whether there are notes crossing a pulse point having weight of 3 or more. Each time such a note is found, it is disjoined into two notes using the pulse point as the boundary. If there is no note crossing such a pulse point or the planned number PC has not yet been reached even though disjoining has been performed with the result that there is no further note crossing such a pulse point, then second search is performed as to whether there are notes crossing a pulse point having a weight of 2, and if any, similar note disjoining will be performed.
  • Fig. 74 When the check (Fig. 74) has found a note crossing a pulse point of interest, then the tone duration array ⁇ MERj ⁇ is shifted and lengthened by one note (Fig. 75). Finally, the note disjoining is performed as shown in Fig. 76: the ft-th note to be disjoined is disjoined using the pulse point that the note crosses as the boundary.
  • the parameter C computation means plans a melody as previously mentioned.
  • parameters concerning nonharmonic tones are also generated by the parameter C computation means taking into consideration musical style, motif characteristics extracted, the progression of music and so on.
  • the generated nonharmonic tone related parameters are supplied to the execution means for adding nonharmonic tones.
  • the execution means has a logic or rule for interpreting the received parameters and performing the addition of nonharmonic tones in accordance with the decoded plan. This rule is to dissolve the above mentioned problems of the addition of nonharmonic tones.
  • the rule of addition of nonharmonic tones in the present embodiment causes the results of addition to vary greatly with the values or data of parameters involved. In this respect, the rule is a data-driven one. However, whatever values of parameters C may be, an "illegal" addition of nonharmonic tone will not occur: data (parameters) do not have the power to violate the rule.
  • the addition of nonharmonic tones is performed on a type by type basis: there are illustrated the flow of the addition of appoggiatura (Fig. 77), the addition of passing (Figs. 78A to 78C), the addition of neighbor (Figs. 79A to 79C) and the addition of escape (Figs. 80A and 80B).
  • these terms "appoggiatura”, “passing", “neighbor” and “escape” are merely for the sake of description.
  • an appoggiatura tone is added only when specified conditions are satisfied under the control of parameters C.
  • each means for adding each type of nonharmonic tone has the ability of reasoning to add nonharmonic tones.
  • Fig. 77 illustrates a flowchart of addition of appoggiatura. According to the shown flowchart, the following conditions must be satisfied in order that an appoggiatura is added:
  • the note number or location where an appoggiatura tone is placed is determined and set in a register al.
  • shif-tarray operation is performed of the sequence of pitches of melody tones ⁇ MEDi ⁇ and of the sequence of durations of melody tones ⁇ MERi ⁇ for making the place of appoggiatura data.
  • the pitch interval is sequentially decremented by step of a half tone.
  • the pitch that is last found to be effective (the pitch satisfying SCLa4 > PC2,1) is set in MEDal as the pitch of appoggiatura.
  • the duration of appoggiatura is determined by shortening the next tone.
  • the duration of the next tone is reduced by the length of the appoggiatura and is set in MERal + 1.
  • the duration of the appoggiatura is set in MERal.
  • a counter of note number PC is incremented.
  • Figs. 78A to 78C illustrate a flowchart of addition of passing.
  • the present example is arranged that step motions are likely to occur after a skip motion (78-2 to 78-16, 78-27, 78-30).
  • the value of rl indicates the likelihood of the addition of passing.
  • rl is randomly computed from PC3,2. When the previous motion is a skip motion (al > PC3,4), then rl is forcibly set at a high value (here 5).
  • the result of the search sometimes inhibits the addition of passing.
  • the portion of harmonic tone duration(s) for use as the passing tone duration(s) is determined.
  • Figs. 79A to 79C illustrate a flowchart of addition of neighbor. Since the addition of passing has been described in full detail, the explanation of symbols or the like in the flow in Figs. 79A to 79C will be unnecessary except for special ones.
  • the preceding tone and the following tone must have the same pitch (79-2 to 79-4).
  • the preceding tone must be longer than a preselected length (79-5) because the duration of neighbor is given by reducing the duration of the preceding tone (79-6 to 79-8, 79-31, 79-32).
  • the parameter C computation means supplies a parameter PC4,4 for control of the neighbor addition.
  • PC4,4 is zero, this means inhibition of neighbor.
  • PC4,4 1, only one addition is allowed.
  • PC4,4 ⁇ 3 neighbor tones can be added freely.
  • the parameter C computation means further issues a command PC4,2 as to whether to place a neighbor tone higher than the adjacent tones or lower.
  • the corresponding process is shown at 79-21 to 79-23.
  • arrays ⁇ MEDi ⁇ and ⁇ MERi ⁇ are shifted for the insertion of neighbor.
  • 79-24 to 79-30 is a process of determination of pitch of neighbor (which is similar to the process 77-15 to 77-21).
  • Figs. 80A and 80B illustrate a flowchart of addition of escape.
  • the present flow adopts a rule according to which the number of notes is invariable in the case of escape. Interval motions formed by three consecutive tones are taken into account.
  • An escape tone is assumed to be the last tone in measure.
  • an appropriate pitch of escape is computed from the interval between the tone preceding the last tone in the current measure and the first tone in the next measure, and is substituted for the last note already generated in the current measure.
  • Escape tones are classified into three types depending on the interval motions of three consecutive tones involved. These types are shown in the lower portion in Fig. 80B. Neighbor type is developed when the last but one tone MED-1 in the current measure and the first tone MEDI in the next measure have the same pitch. Passing type is developed when on the chromatic scale from MED-1 to MEDI, there are effective pitches (in the present flowchart, a single effective pitch) that have passed pitch test 80-11, 80-12. Appoggiatura type is defined when there is no effective pitch in the range from MED-1 to MED1 at half tone intervals.
  • the number of effective pitches between tones MED-1 and MEDI is computed at 80-4 to 80-15 (see particularly 80-9 to 80-15). fi is set at the number of effective pitches found. When there have been found two or more effective pitches, no addition of escape will occur (80-16).
  • Either of the above three types is further classified into upper and lower types.
  • the neighbor type is classified into two depending on whether the tone is placed higher than the adjacent tones MED-1 and MEDI or lower.
  • the corresponding operations are performed at 80-17 to 80-19 (upper/lower is determined from the value of PC5,3).
  • the passing type is classified into two depending on whether the interval motion from MED-1 to MEDI is an upward or downward motion. So is the appoggiatura type: there is no effective or valid pitch in the range between MED-1 and MEDI in the case of the appoggiatura type, however. Thus, the tone is escaped.
  • a pitch higher than both of MED-1 and MEDI is selected as the escape tone.
  • search is made of an effective tone, starting at the pitch (MEDI + 5 x a7) and stepping the pitch by a half tone.
  • the process 80-24 to 80-30 is essentially identical with the process 79-24 to 79-30 in Fig. 79.
  • the pitch candidate is initialized at the fourth degree up or down (determined by a7) from the first tone MEDI in the next measure.
  • the pitch then approaches to the first tone MEDI by half tone steps while searching for effective pitches.
  • the effective pitch that is last found in the search or the closest to the first tone in the next measure is determined as the escape tone.
  • an incremental way of search can be used. In that case, the effective tone that is first found in the search is determined as the tone to be added: in view of the situation where there is not an effective tone at all, it is necessary to get out of the search loop when the pitch has arrived at a certain distance from the initial position.
  • Fig. 81 illustrates a flowchart of addition of rests.
  • the addition occurs only when there is a room for a sixteenth note to be added (81-2 to 81-4).
  • PC9,1 at 81-1 is supplied from the parameter C computation means and indicates whether or not to add a rest note.
  • the parameter C computation means changes PC9,1 to the value to add a rest typically at the time of the last measure in phrase.
  • the rhythm evaluation means extracts what mini-patterns and how much such patterns are contained in the motif.
  • the characteristic rhythm pattern extraction means determines the mini-pattern characterizing the mini-pattern.
  • the parameter C computation means plans a measure of mini-pattern or melody rhythm control information characterizing each melody measure. It is characteristic rhythm generation means (featuring pattern incorporation means) which injects mini-patterns in the sequence of melody tone durations in accordance with the melody rhythm control information provided by the parameter C computation means.
  • the necessary function of the characteristic rhythm generation means is the ability to interpret the melody rhythm control information supplied from the parameter C computation means and to modify the sequence of melody tone durations in accordance with the decoded plan.
  • Fig. 82 illustrates a flow executed by the characteristic rhythm generation means.
  • the parameter C computation means may supply a plurality of melody rhythm control parameters and the characteristic rhythm generation means may comprises composite functions to interpret those parameters and to develop a rhythm from the result of the interpretation.
  • Parameter PC6,1 in Fig. 82 has the following meaning (see 82-1).
  • PC6,1 When PC6,1 is negative or zero, the injection of mini-pattern is inhibited.
  • PC6,1 When PC6,1 is 1, the injection of mini-pattern is allowed only once.
  • PC6,1 When PC6,1 is 2, the consecutive injection is inhibited.
  • PC6,1 When PC6,1 is 3 or more, free injection of mini-pattern is allowed.
  • the parameter PC6,1 relates to the mini-pattern of the duration ratio of 3-1. That is, in a systematic sense, the value of the parameter PC6,1 indicates the frequency of the mini-pattern of 3-1 ratio appearing in a melody measure.
  • the flow in Fig. 82 involves the algorithm to generate the mini-patterns having 3-1 ratio depending on the values of PC6,1.
  • the generation process of characteristic rhythm in Fig. 82 is the process performed last in the course of melody generation. Before this process, the process of generating arpeggio tones and the process of adding nonharmonic tones is already complete.
  • the sequence of arpeggio tone durations (melody arpeggio pattern) has been formed based on the motif arpeggio pattern excluding nonharmonic tones from the motif.
  • hidden nonharmonic tones have been determined by inference and a minimum modification of the sequence of tone durations has been carried out by removing a portion of the adjacent harmonic tone duration for use as the duration of the nonharmonic tone.
  • the process of transforming the motif including nonharmonic tones to the motif arpeggio pattern excluding nonharmonic tones is essentially opposite in reasoning to the process of transforming the melody arpeggio pattern excluding nonharmonic tones to the melody including nonharmonic tones.
  • the sequence of the pitches of melody tones is complete and the sequence of durations of melody tones is almost perfected in many cases. Therefore, this last process should be done carefully. If patterns of 3-1 tone duration were forcibly formed by randomly reducing or increasing tone durations, this would be likely to greatly deteriorate the original pattern, producing a rhythm which should not exist by nature.
  • the present characteristic rhythm generation means is arranged in such a manner that mini-patterns be injected in line with the plan made by the parameter C computation means while preserving the quality of the sequence of tone durations already formed as much as possible.
  • the characteristic rhythm generation means has a rule of a minimum modification of the given sequence of tone durations.
  • the pattern of the two consecutive tone durations is converted into a pattern of the tone duration ratio of 3-1 (82-13 to 82-19).
  • the condition (iv) serves not to introduce syncopation.
  • the process 82-5 to 82-8 is provided to obey the command indicated in PC6,1.
  • a flag f is used when PC6,1 is 1 (where only one injection of rhythm pattern is allowed) or 2 (where consecutive injection is inhibited). Upon the injection of the pattern, the flag changes to 1 from 0 (82-14).
  • PC6,1 1, ft changes to 1 upon the first injection and then the process exits the flow, through 82-5, 82-6, 82-7 and S .
  • PC6,1 2
  • the pitch control means comprises means for generating a note scale and means for checking the effectiveness of pitch (see Fig. 38).
  • the note scale generation means comprises means for reading weight data of note scale from the weighted note scale data memory 105 (Fig. 64) and means for modifying the read note scale data in accordance with the root of chord and the members of chord.
  • the effective pitch check means examines melody note candidates generated in the course of generating arpeggio tones and adding nonharmonic tones as to the weights assigned to those candidates on the note scale. Specifically, the weight of this candidate is compared with the threshold value (PC2,1, for example) planned by the parameter C computation means or melody control information generation means. If the weight of the candidate is heavier than the threshold value, the candidate is determined as a valid note.
  • Figs. 83A, 83B and 84 there is shown a modified example of the pitch control means in which the note scale read from the memory is dependent on the type of chord.
  • the concept of available note scale is utilized.
  • a memory 1 is used to store chord progression information with numeric values or chord numbers indicative of type of chord placed at consecutive address locations (see part (b) in Fig. 83A).
  • the array ⁇ CNi ⁇ of those chord numbers represents chord progression.
  • a memory 2 is a table which describes the number of available note scales for each chord (CNi).
  • a memory 3 stores the name of available note scale (ANS) in the form of a numeric value for each chord.
  • the name of available note scale specifies the scale data in the form of weight pattern stored in a memory 4.
  • 0 in the ANS area in the memory 3 indicates a natural mode, "1" a pentatonic scale, "2" a blue note scale, "3" a whole tone scale and "4" an altered scale.
  • the start address of the scale data in the memory 4 is computable from the value of ANS.
  • the content in the memory 2 specifies the ANS in the memory 3.
  • the number of available note scales for that chord type may be read from the memory 2. For example, when CNi is "7" indicative of V7 chord, the number of available notes for V7 is found to be 3 by gaining access to the memory 2 at the address 6 which is CNi (here 7) minus 1.
  • each note scale data has a length of 12 addresses. In this manner, data of available note scales for V7, i.e., data of natural mode, pentatonic scale and blue note scale are read from the memory 4.
  • Figs. 83A and 83B are data base of available note scales.
  • Data or list of names of available note scales for the chord of interest may be readily displayed by a monitor such as CRT if desired. Using such a monitor, the user may easily choose an available note scale which fits better the progression of music.
  • the data base of available note scales in Figs. 83A and 83B is easy to expand. For example, a new chord not found in the list of chords (see part (b)) may be added to the list. A new chord type is assigned a value which is the maximum CNi in the current list plus 1.
  • the memory 2 is extended in such a manner that the new chord type (chord number) and the number of available note scales for that chord type are written at the next address.
  • the memory 3 is also extended to record the names.
  • a new name (5 in the illustration) is given thereto and the memory 4 is extended for storing the new scale data.
  • the user can easily register a new chord, the number of available note scales for the chord, the name, and the weight pattern (scale data). It is also easy to modify (add, delete, correct) the list of available note scales for the registered chord.
  • the set of weighted note scales may be stored in a note scale data memory (the memory 5 in Fig. 37 or the memory 4 in Fig. 83B).
  • the data of pentatonic scale may be given by:
  • the data of Western major scale may be expressed by:
  • scale data representing an existing note scale may be developed by the combination of scale data of a plurality of existing but different note scales.
  • scale data representing a new scale may be obtained by the combination of data representing two or more existing note scales. This will lead to the possibility of automatic composition using experimental note scales.
  • the above approach advantageously allows a reduced set of weighted scale data stored in the scale data memory. Desired scale data are automatically generated by the linear combination where appropriate. Such linear combination may be easily performed once the names of the scales involved and coefficients of respective scales have been determined.
  • SCLij as the weight of the j-th note on the i-th note scale.
  • SCLi New E a jSCLij (where aj is coefficient).
  • the threshold value used in the pitch test is generated by the melody control information generation means.
  • the pitch determination means compares the weight assigned to a pitch candidate and supplied from the note scale generation means with the threshold value, and adoptes the candidate as a melody note if the specific condition is satisfied (in the second embodiment, if the weight of the candidate is heavier than the threshold value).
  • the effect of the threshold value on the candidate is as follows.
  • the note scale supplied from the note scale generation means has only two different weights. In this case, if the threshold is heavier than both of the weights, no effective pitch will generate. If the threshold is between the two weights, the pitch heavier than the threshold is treated as a valid note and the pitch lighter than the threshold is treated as an invalid note.
  • the threshold value is smaller than both of the weights, any pitch on the note scale is treated as effective: chromatic music will result.
  • the effect of threshold value will be similarly understood even when the note scale has three or more different weights.
  • the note scale generation means in the second embodiment does not include means for introducing variations or pertubations. Such variation means can be easily implemented, however. This will cause some pitches to be effective with chance. For example, for each element in the note scale data array ⁇ SCLi ⁇ , variation (raising component, for example) controlled by the value of element is introduced by random number generation. In the alternative, for those elements that are close to the threshold value, relatively small value generated at random is added.
  • variation introducing means defines pitches that are always effective, pitches that are sometimes effective and pitches that never becomes effective.
  • note scale data may be user-programmable.
  • the threshold value may be freely set by the input device if desired.
  • rhythm is controlled by the following means.
  • the first means is the extraction and injection of mini-pattern and the second is the joining and disjoining tone durations using a pulse scale.
  • tone duration joining/disjoining means by the pulse scale is used as means for forming motif arpeggio tone pattern (the sequence of durations of motif arpeggio tones) divested of nonharmonic tones from the motif and is also used as means for forming melody arpeggio tone pattern (the sequence of durations of melody tones consisting of only arpeggio tones).
  • the mini-pattern means provides direct control of rhythm and mini-patterns have a superficial similarity to "words" in natural languages.
  • the pulse scale means is more indirect approach than the mini-pattern means.
  • the second embodiment employs an approach to use "arpeggio tones" as fundamentals of melody for analysis and synthesis of the sequence of tone duration so that the tone duration joining/disjoining means using the pulse scale works effectively to extract the arpeggio tones (of the motif) and generate the arpeggio tones -(of the melody).
  • the pulse scale means and the mini-pattern means cooperate to finely adjust or control the rhythm or the sequence of tone durations.
  • the mini-pattern means for itself, or the pulse scale means for itself can work as rhythm control means. It should not be interpreted that the pulse scale means is useful for arpeggio tones only. Each of the pulse scale means and the mini-pattern means is useful irrespective of arpeggio tones.
  • the relationship between the pulse scale means and arpeggio tones is that the pulse scale means is one of the effective means for forming the sequence of durations of arpeggio tones and accordingly other means could be used to form the sequence of durations of arpeggio tones.
  • the pulse scale means which is useful to form the sequence of durations of arpeggio tones may also be utilized to form the sequence of durations of other tones such as melody tones in general. The embodiments thereof will be described later.
  • the second embodiment utilizes a pulse scale of pulse points having weights for joining and disjoining notes.
  • the pulse scale is built in the program, however (see Figs. 50 and 51).
  • a modified pulse scale generation means includes a table (memory) which stores pulse scale data.
  • This arrangement using pulse scale table has an advantage that by providing data of various pulse scales and supplying the selected pulse scale to the note joining and disjoining means, it can modify the sequence of tone durations in various ways even if the rule involved in the note joining and disjoining means is invariable. In other words, the arrangement eliminates the need for complicated rules involving various pulse scales.
  • Tone duration joining and disjoining means referencing table will now be described in detail.
  • Fig. 85 illustrates a flow of extraction of motif arpeggio pattern by referencing table. Those portions not shown are identical with corresponding portions in the flow in Fig. 50.
  • TSUMB at 85-1 indicates the weight of the starting point (SUMB) of the tone of interest, and is the SUMB-th data item stored in the pulse scale table ⁇ Ti ⁇ .
  • TSUM is the weight of the starting point (SUM) of the next tone on the pulse scale ⁇ Ti ⁇ .
  • the result of extraction of duration pattern of harmonic tones by executing the flow in Fig. 85 will be identical with that by executing the flow in Fig. 50.
  • Fig. 86 is a modification of Fig. 72, illustrating a flow of optimal note joining, referencing table.
  • sort TI to T16 in the order with the least value in the front and set the result in SORTI at step 86-1.
  • SORTI is SORTI which is the lightest weight in the pulse scale.
  • those notes (MERj + 1) which starts at the point having the lightest weight are preferentially joined to their preceding notes (MERj). Thereafter, the next lightest notes are joined.
  • Figs. 87 and 88 illustrate a flow of disjoining tone durations referencing table.
  • the flow in Fig. 87 shows details of check 88-2 in Fig. 88.
  • the flow in Fig. 88 may be substituted for Fig. 73 in the second embodiment.
  • the details of shift 88-3 and execute 88-3 in Fig. 88 are shown in Fig. 75 and Fig. 76, respectively.
  • SUM is the next note's starting point (the current note's finishing point) and SUMB is the current note's starting point.
  • search is performed of the maximum weight among those pulse points that are crossed by the current note.
  • K > PC all the notes have been checked
  • a flag ff is set at the start point of the note which crosses the maximally weighted pulse point among all the notes
  • a flag ft is set at the number of that note
  • a register MAX stores the maximum weight.
  • a pulse scale as shown (referred to as a positive logic pulse scale, hereinafter) was used to join and disjoin notes.
  • a pulse scale opposite or complementary to the one shown in Fig. 89 (referred to as a negative logic pulse scale) was used for joining and disjoining.
  • the principal rule of the note disjoining means says that among the given notes, the note which crosses the point of the maximum weight is disjoined into two notes with that point as their boundary.
  • the difference between the evaluation value before disjoining V(BD) and the evaluation value after disjoining V-(AD) relates to the above "maximum” weight. Therefore, the logic of the note disjoining causes the function V to change (increase) maximally by disjoining note.
  • the principal rule of the above note joining means says that among the given notes, the note which begins at the pulse point of the minimum weight is joined to its preceding note using that pulse point as the junction.
  • the difference between the evaluation value before the joining V(BT) and the evaluation value after the joining V(AT) relates to the above "minimum" value.
  • Pulse scales complementary to each other means that the point of the maximum weight in the one of the scales corresponds to the point of the minimum weight in the other scale.
  • the pulse scale shown in Fig. 89 is complementary to the pulse scale shown in Fig. 90.
  • the tone duration disjoining means may adopt “negative logic” rule.
  • the means selects "positive logic” rule at one time and selects "negative logic” rule at another time.
  • a pulse scale has properties that it is synthesizable from a plurality of pulse scales and conversely it is analyzable into a plurality of more primitive pulse scales.
  • Fig. 91 shows examples of rhythm patterns and essence of several rhythms.
  • Part (A) is an example of samba rhythm which may be played by three instruments (or four including the one for the rhythm part marked inside the parenthesis).
  • a pattern derived from the addition of the number of instruments played at the same time is expressed by:
  • This numeric pattern may be used as a pulse scale.
  • the present pattern may also be regarded as a numeric representation of samba-like polyphonic rhythm.
  • Part (B) in Fig. 91 shows an example of sixteen beats.
  • the corresponding numeric representation (resulting from the addition) is given by:
  • Parts (C) to (G) show examples of monophonic rhythms or essence: they represent purified rhythm. It is noted that the polyphonic rhythm of sixteen beats has the flavors of four-four time, rock and eight beats. In other words, a linear combination of rhythm essence patterns such as (C), (D), (E) and (F) forms a pattern which strongly resembles to the one numerically representing the sixteen beats shown in part (B).
  • a pulse scale given by a pattern having three or more different weights represents a polyphonic rhythm.
  • existing polyphonic rhythms are a combination of more primitive monophonic rhythms: they are formed by the play of several instruments.
  • monophonic rhythm is represented by a pattern or pulse scale containing weights of 1 and 0.
  • patterns characterizing existing polyphonic rhythms may be developed from linear combination of a plurality of such pulse scales.
  • Pulse scale synthesizing means is operable to use data of two or more pulse scales stored in the memory to compute a synthesized pulse scale by linear combination:
  • This arrangement can develop a vast number of pulse scales from a limited number of pulse scales.
  • a set of independent pulse scales tij each consisting of only weights of Is or Os is preferably stored in the memory.
  • the pulse scale may be variable depending on the progression of music.
  • the parameter C computation means plans or selects the pulse scale involved.
  • Another means may be also provided which introduces very small variations or fluctuations into the pulse scale. For example, in order to obtain rhythm (sequence of tone durations) which varies from the one in a measure: to the other in the next measure: the pulse scale is finely varied.
  • a motif is given.
  • a motif is represented by a sequence of tone durations and a sequence of tone pitches in the illustrated embodiment.
  • the pulse scale ⁇ Ti ⁇ is a numeric representation of a particular polyphonic rhythm.
  • the evaluation value of motif V can be computed using a pulse scale ⁇ Ti ⁇ .
  • the evaluation value depends on the sequence of motif tone durations and may be high on one occasion or low on another occasion.
  • the rhythm pattern can be said to have the character or flavor of polyphonic rhythm elements (rock, eight beats for example).
  • V the character or flavor of polyphonic rhythm elements
  • the first approach is to adopt "positive" logic for both of disjoining and joining. That is, those points that cause the evaluation function, when a minimum number of disjoining has been performed, to increase by a maximum amount are selected as note boundaries and those points that cause the evaluation function, when a minimum number of joining has been performed, to decrease by a minimum amount are selected as note junctions. This approach serves to maintain the character of the polyphonic rhythm elements in the pulse scale.
  • the fourth approach adopts the positive logic when the evaluation value is large, and adopts the negative logic when the evaluation value is small.
  • the first approach is useful for a user who aims at developing melody rhythm from the motif in accordance with the character of the polyphonic rhythm immanent in the pulse sale.
  • the second approach is suitable for a user who is conscious of the polyphonic rhythm, however aims at representing a different character in melody rhythm, apart from the polyphonic rhythm.
  • the third approach is suitable for a user who is not conscious of the polyphonic rhythm. This is because, if the character of the polyphonic rhythm not intended by the user were made conspicuous due to note disjoining or joining, this would be surely against the user's expectation.
  • syncopation is a shift of accent in a passage from its normal position.
  • the degree of syncopation use a pulse scale of quadruple rhythm in which the first beat (TO) has the heaviest weight, the third beat (T8) has the next heaviest weight and each of the second and fourth beats (T4, T12) has the third heaviest weight. Further dividing each beat into equal four parts, the first part or pulse has the heaviest weight among the four parts, the third pulse has the next heaviest weight and each of the second and fourth pulses has the lightest weight: the weight pattern has a hierarchy structure. This kind of pulse scale is shown in the lower part in Fig. 92. To show again here:
  • i is a note number and SUM indicates the starting position of the (i+1)-th note (accumulated tone durations of the first to the i-th tones in the measure) at the time of computation 92-4.
  • S indicates accumulated weights with respect to the sequence of starting points of respective notes, or:
  • V computed at 92-6 is given by: where N is the number of notes. This is the same form with the above mentioned evaluation function.
  • V indicates the degree of syncopation for the rhythm of motif, the tone duration sequence ⁇ MRi ⁇ .
  • Fig. 93 shows syncopation values for various rhythm patterns, measured by the flow in fig. 92 using the shown pulse scale.
  • the rhythm of the given motif may be evaluated by using a pulse scale.
  • the subject discussed here is the technique to generate a controlled tone duration pattern (which may be used as a sequence of melody tone durations) based on the evaluated values of the rhythm of motif.
  • Evaluation function V varies in value with the sequence of tone durations to be examined.
  • evaluation function V generally depends on the number of tones contained in the sequence of interest.
  • V(N) the value of the evaluation function V for the sequence of original (motif) tone durations having N tones.
  • the evaluation function will form a curve passing a point of V(N).
  • Such an evaluation curve may be obtained in several ways (for example, by computing, for all numbers of tones, the evaluation values of the sequences of tone durations developed by the note disjoining and joining means as stated).
  • Fig. 94 illustrates a flow of generating a controlled tone duration pattern.
  • an- evaluation function is computed: where TRi is the Ri-th pulse point's weight. This is a mere example. Any matching function which measures the degree of similarity between a pulse scale ⁇ Ti ⁇ and a sequence of tone points ⁇ Ri ⁇ generated at random (and which function will be 1 in the best match case and will be 0 in the worst mismatch case) may be used.
  • One such function is given by:
  • Fig. 96 shows the details of 94-2 in Fig. 94. No further description will be necessary.
  • Fig. 97 shows the details of 94-4 in Fig. 94, the operation of which is evident from the illustration of the flow and the operation example (where MERi is the duration of the i-th note).
  • PCx and PCy at 94-3 in Fig. 94 are parameters which may be supplied from the melody control information generation means.
  • PCx and PCy respectively indicates the upper limit and the lower limit of allowable evaluation values V.
  • Those Ris that have passed the matching test 94-3 are converted into data of the sequence of melody tone durations at 94-4.
  • Fig. 98 shows examples of characteristics of evaluation curves of tone duration patterns developed from an initial, sambalike, pattern: by disjoining and joining notes selectively using three different pulse scales i.e., a positive logic scale, a negative logic scale and a samba scale.
  • these characteristic curves are normalized with their ends coinciding with one another.
  • the applied evaluation function is given by:
  • the curve using the samba scale is the smoothest: the computation of smoothness is omitted here.
  • the samba scale is the optimal pulse scale best matching the initial tone duration sequence:
  • the next topic is the technique to find the pulse scale that gives the peak (maximum or minimum) evaluation value to the rhythm pattern of motif under examination for determination of optimal pulse scale.
  • each sub-pulse scale may be expressed by pattern data having values consisting of Is and Os without losing generalization (including all Is' pattern but excluding all Os' pattern).
  • each pulse scale that yields the peak is selected as the optimal pulse scale among the set of pulse scales tested.
  • ⁇ Ri ⁇ is a rhythm pattern (sequence of tone durations) represented by weights of Is and Os only and ⁇ tij ⁇ is the j-th sub-pulse scale.
  • ⁇ Ti ⁇ is a pulse scale of polyphonic rhythm represented by a linear combination of N number of sub-pulse scales.
  • the V (mean) is the average of evaluation values of the rhythm pattern Ri with respect to all constituent scales ⁇ tij ⁇ of the pulse scale ⁇ Ti ⁇ .
  • the evaluation function V (mean) is in the range of 0 and 1.
  • the values inside the square bracket [ ] also vary in the range between 0 and 1. "1" is obtained when the following is satisfied for all is:
  • V (max) is the maximum among values inside the square bracket [ ].
  • a particular sub-pulse scale among N sub-pulse scales determines the value of V (max).
  • the first evaluation function is also called “mean” whereas the second evaluation function is simply called “maximum.”
  • Fig. 100 illustrates five different rhythm patterns (sequences of motif tone durations) to be evaluated.
  • SAMBA is a pattern characterizing a samba music.
  • ENKA is a pattern like enka (a kind of Japanese music).
  • NOW is a pattern full of syncopations, recently popular.
  • 4" is a pattern consisting of four quarter notes.
  • 2 is a pattern consisting of two half notes.
  • Fig. 100 further illustrates four different pulse scales each of the form of linear combination of sub-pulse scales.
  • the first pulse scale is a positive logic (normal) one comprised of five sub-pulse scales.
  • the second is a negative logic pulse scale which is opposite to the first and is formed with five sub-pulse scales as shown.
  • the third is a samba scale formed with four sub-pulse scales.
  • the fourth is a 16 beat pulse scale synthesized from five sub-pulse scales as shown.
  • Fig. 101 shows results of evaluation.
  • the five different sequences of motif tone durations in Fig. 100 have been evaluated as shown by the first evaluation function V (mean) (see the column of MEAN) and the second evaluation function V (max) (see the column of MAXIMUM), for each of the four pulse scales shown in Fig. 100.
  • each evaluation function gives similar evaluation. For example, for "SAMBA” motif, both of “mean” and “maximum” give the highest point to the samba scale. For “enka”, another pulse scale has been given the highest point but that is the positive logic scale in both case of “mean” and “maximum.”
  • the first evaluation function "mean” provides a higher selectivity. In other words, the second evaluation function gives rougher evaluation or wider association: this is affected by the composite characters of respective pulse scales. Most of existing polyphonic rhythms are formed by several rhythm patterns which are closely associated with one another.
  • Determining the pulse scale which is given the highest point, regarding it as an optimal pulse scale and based on the optimal pulse scale, and forming a rhythm pattern of melody (sequence of tone durations) are useful: this should not be interpreted in absolute sense, however. The most important thing is what pattern the user wishes as long as the goal is to satisfy the user's expectation. Thus, another approach is to allow the user to freely select a desired pulse scale. Still another approach is to compose music based on respective pulse scales and to allow the user to judge the composed pieces. Here again, the question of interaction between the automatic composer and the user comes out but it is out of place to discuss the details.
  • rhythm of melody is not completely defined by its sequence of tone durations.
  • Other elements such as the sequence tone pitches can affect the rhythm of music.
  • melody or motif is represented by two components only. One is the data of the sequence of tone durations and the other is the data of the sequence of tone pitches. No further components are considered.
  • the subject here is an example of association of pulse scale considering the sequence of tone pitches as well as the sequence of tone durations.
  • this pitch pattern In this pattern, the positions of "dos" act to raise the weights of the corresponding points in a pulse scale.
  • the regularity of the pitch pattern constrains a pitch pattern to come more or less. This is what a human often experiences.
  • the contribution of the regularity in the present pitch pattern to the future pattern be represented by raising the weight data in the pulse scale. That is, those points the weights of which are raised play a central role in note disjoining and joining such that the regularity of the present pattern is incorporated in the future pattern more or less. To put it another way, when a person hears a phrase, he is often able to predict the next phrase to some extent.
  • the following example is a technique to associate or devise a pulse scale by measuring periodical elements such as autocorrelation factors in tone duration pattern.
  • the weight of the position of the do is measured by addition of 1 from the rhythm data, 1 contributed by the fundamental, 0.5 by the second harmonic and 1 by the fourth harmonic, totaling 3.5.
  • the weight of the pulse point of the re is given 2
  • the weight of the point of the latter mi is assigned 2.5
  • the weight of the point of the latter fa is given 2.
  • the weights measured from the rhythm data of arpeggio tones may be further added to the pulse scale, if desired.
  • the pulse scale may be also viewed as a pattern having weights raised by the regularity in the time sequence of tones. That is, the likelifood of tones reccuring at the corresponding points in successive measures is represented by raised weights in pulse scale.
  • chord(s) for the motif In the environment in which chord(s) for the motif is provided by the user, the means for distinguishing nonharmonic tones contained in the motif from harmonic tones and for classifying the nonharmonic tones into respective types can be made in simpler form than that previously described.
  • Fig. 103 illustrates a flowchart of extracting nonharmonic tones in the motif.
  • the basic logic says that any note in the motif which is not any of the chord members is nonharmonic tone: any note in the motif which agrees with a chord member is a harmonic tone.
  • the sequence of pitches of motif data stored in the motif memory 106 (Fig. 37) is transferred to the area ⁇ HDi ⁇ in the work memory 110.
  • each note in the motif is represented by a pair of pitch data and duration data: For a rest, the pitch data is assigned an unique value because rests do not involve the concept of pitch.
  • chord member memory 103 stores four data items of chord members.
  • the pitch data of a chord member is indicated by KDj: the suffix j designates the jth lowest chord member.
  • the flow skips to the check of the next motif note because the rest is not a nonharmonic tone.
  • the pitch name of the motif note and the pitch name of the chord member is computed at 103-8 and at 103-9, respectively for elimination of octave number.
  • it is checked to see whether the pitch name of the motif note of interest matches the pitch name of the current chord member. If they match, the motif note is a harmonic tone and the flow goes to the check of the next motif note. If they mismatch, j is incremented at 103-12 and the process starting from 103-7 is repeated to compare the motif note with the next chord member. The occurrence of j ?
  • nonharmonic tones are classified by pattern analysis of the sequence of motif tones.
  • Fig. 104 illustrates a flowchart in accordance with first logic of classification.
  • Figs. 105A and 105B are flowcharts in accordance with second and third logic of classification, respectively.
  • a motif note number i is initialized at 1 (104-1) and i is incremented until HDi k 0 is satisfied (104-2, 104-3).
  • HDi Z; 0 indicates that the i-th note is a harmonic tone.
  • the nonharmonic tone encountered in going from the first motif tone to the first harmonic tone is distinguished from the other nonharmonic tone.
  • Fig. 105A The classification of nonharmonic tones shown in Fig. 105A is identical with that shown in Fig. 104 except the addition of the process shown at 105A-6 and 105A-7. The following operation is executed at 105A-6:
  • Fig. 105B is a flowchart of classifying nonharmonic tones in accordance with the third logic. As is seen from the comparison of Fig. 105B with Fig. 104, additional knowledge (check item) about passing is provided and condition to lead to the conclusion of appossiatura is slightly modified.
  • the nonharmonic tone fails to satisfy the condition of neighbor, shown at 105B-6, the condition of passing shown at 105B-8 to 105B-11, or the condition of escape at 105B-12, it is concluded that the nonharmonic tone is an appoggiatura tone, with HDi remaining -20.
  • the above mentioned technique of extracting and classifying nonharmonic tones may be readily applied to a melody analyzer for automatically providing a harmony evaluation of melodic lines without requiring any substantial modification.
  • a melody analyzer for automatically providing a harmony evaluation of melodic lines without requiring any substantial modification.
  • the user may develop ability of pattern recognition of a variety of melodic lines in an effective manner. Further, it is expected that the user's skill to fit chords to melodies is acquired in a relatively short time.
  • an automatic composer which automatically generates motif as well as melody.
  • Fig. 106 illustrates a general flow of music composition by an automatic composer of automatic motif generation type.
  • the motif forms the opening part of a music piece and has a length of one measure.
  • musical form data to be read from the musical form data memory 108 (Fig. 37) have been selected, parameters B to be read from the parameter B memory 107 have been specified and chord progression to be read from the chord progression memory 103 has been determined.
  • parameters B can be changed but musical form data is not changed: the change of musical form data occurs in a different process.
  • a motif is generated and concluded by means of interaction or conversation with the user.
  • melodies following the motif are successively generated and concluded by means of interaction with the user.
  • IC in Fig. 106 denotes a counter which counts the number of the user's negative answers to the generation result.
  • parameters A (PA) are generated at random under a predetermined restrictive condition.
  • PB data controlling the structures of music are completely replaced.
  • the scope of the variation in composition in response to the user's negative answer is basically determined by the range of PA generated at random (106-2).
  • parameters PC are computed from the variables of PA, PB (the data read from the memory 107 in Fig 37), SB (the data read from the memory 108 and decoded) and the measure number.
  • the parameters PC are converted into a sequence of tone pitches and a sequence of tone durations, thus forming actual motif data.
  • the generated motif data are output by the monitor 114 to allow the user to judge the result. This is done by emitting physical tones by means of the tone forming circuit 114 and the sound system 118 or by visually displaying the score by means of CRT 115.
  • the user's answer input by the input device 101 is checked. When the user says O.K., the motif is concluded and the process of generating melodies following the motif as shown in the right column will start.
  • the PC computation at 106-6 is essentially identical with the PC computation at 106-12.
  • the process of generating a motif at 106-8 is essentially identical with the process of generating a melody at 106-13.
  • the overall process of generating melodies shown in the right column is a mere example, however.
  • the monitor may provide the output after one phrase melody has been completed.
  • PB may be replaced by completely new ones where necessary, as in the motif generation.
  • PC is the first measure melody of music.
  • parameters PC there are parameters which commands the melody generation execution means such that the features of the current measure have a specific relationship in melody to those of the preceding measure: such parameters are corrected to inhibiting values because the first measure of a music piece obviously does not have any preceding measure. It is also preferred that PC values are regulated to avoid the occurrence of a meaningless motif.
  • Fig. 106 The generation of parameters A at 106-2 in Fig. 106 is an at-random one. The details thereof are illustrated in Fig. 107.
  • Parameters A are parameters inherent in a motif in the sense that they would be obtained by evaluating the motif.
  • parameters PA are typically used as static components of PC.
  • parameters PA serve to define static characteristics of a music piece independent from the progression of music.
  • PA1,6 This is a same pitch motion parameter indicative of a degree of a succession of harmonic tones having the same pitch.
  • PA2,2 Parameter of the weight of appoggiatura. This indicates the likelihood of appoggiatura appearing in motif.
  • the number of arpeggio tones PA1,3 is determined.
  • the pattern of arpeggio tone durations ⁇ RHi ⁇ is determined.
  • the flow in Fig. 107 is a merely exemplified flow of generating parameters PA.
  • the technique of developing a controlled tone duration pattern using a pulse scale as stated may be used here to generate the pattern of the arpeggio tone duration.
  • the present embodiment has an advantage that it does not need the motif analyzer means (such as the elements F1 and F2 in Fig. 1 and the elements F10 in Fig. 38), thus simplifying the construction of automatic composer. Further, the present automatic composer does not need any motif provided outside of the automatic composer and instead generates internally a motif in a similar manner to the generation of melody. Therefore, no technical knowledge about music is required on the part of the user.
  • the motif analyzer means such as the elements F1 and F2 in Fig. 1 and the elements F10 in Fig. 38
  • the mini-pattern means comprising means for extracting a mini-pattern characterizing the rhythm of motif and means for incorporating the mini-pattern into the sequence of melody tone durations based on the result of the extraction
  • the pulse scale means such as means for disjoining and joining notes using a pulse scale, means for evaluating the rhythm of motif using a pulse scale and means operable based on the result of the evaluation for developing a controlled sequence of tone durations
  • the pulse scale means such as means for disjoining and joining notes using a pulse scale, means for evaluating the rhythm of motif using a pulse scale and means operable based on the result of the evaluation for developing a controlled sequence of tone durations
  • the above-mentioned embodiments employs an approach in which arpeggio tones constitute fundamentals of melody. This is not necessarily requisite however. It is possible to generate a melody based on a note scale and such techniques are partly known in the art. For example, to generate a sequence of melody tone pitches, a note scale is selected and tone pitches are successively determined based on I / F noise using the selected note scale. In the alternative, specifying a note scale and using a frequency table representing a Markov model in which a tone pitch is greatly influenced by its immediately preceding tone pitch, a sequence of tone pitches may be generated.
  • the present invention might employ means which generates control information (melody planning information), taking account of the interactions among the respective elements of melody.
  • the pulse scale means may be applied to a rhythm machine which generates a rhythm only. Such a rhythm machine may form a variation of the given motif rhythm.
  • the pulse scale means may also be applied to an apparatus which provides an automatic analysis of the rhythmic characteristics of melody. Further, the pulse scale means may be applied to an apparatus which modifies the rhythmic characterizes of a completed music piece.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Auxiliary Devices For Music (AREA)
  • Electrophonic Musical Instruments (AREA)
EP19880105606 1987-04-08 1988-04-08 Dispositif pour composition automatique Expired - Lifetime EP0288800B1 (fr)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP86571/87 1987-04-08
JP62086571A JPH07111619B2 (ja) 1987-04-08 1987-04-08 自動作曲機
JP121037/87 1987-05-20
JP62121037A JPH07113828B2 (ja) 1987-05-20 1987-05-20 自動作曲機
JP62145405A JPH07111620B2 (ja) 1987-06-12 1987-06-12 自動作曲機
JP145405/87 1987-06-12

Publications (3)

Publication Number Publication Date
EP0288800A2 true EP0288800A2 (fr) 1988-11-02
EP0288800A3 EP0288800A3 (en) 1990-06-20
EP0288800B1 EP0288800B1 (fr) 1995-07-19

Family

ID=27305196

Family Applications (1)

Application Number Title Priority Date Filing Date
EP19880105606 Expired - Lifetime EP0288800B1 (fr) 1987-04-08 1988-04-08 Dispositif pour composition automatique

Country Status (2)

Country Link
EP (1) EP0288800B1 (fr)
DE (1) DE3854168T2 (fr)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0451776A3 (en) * 1990-04-09 1991-11-21 Casio Computer Company Limited Tonality determining apparatus
EP0566232A3 (fr) * 1992-04-13 1994-02-09 Ibm
EP0980061A1 (fr) * 1998-08-11 2000-02-16 Yamaha Corporation Dispositif arrangeur par modification de données musicales avec données d'arrangement
WO2000017850A1 (fr) * 1998-09-24 2000-03-30 Medal Sarl Procede et dispositif de generation musicale automatique
FR2785077A1 (fr) * 1998-09-24 2000-04-28 Rene Louis Baron Procede et dispositif de generation musicale automatique
CN111754962A (zh) * 2020-05-06 2020-10-09 华南理工大学 基于升降采样的民歌智能辅助作曲系统及方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102014004599A1 (de) * 2014-03-26 2015-10-01 Constanze Holzhey Verfahren, Vorrichtung oder Computerprogrammprodukt zum Abspielen eines Musikstücks im Fahrzeug.

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3610801A (en) * 1970-02-16 1971-10-05 Triadex Inc Digital music synthesizer
US4311076A (en) * 1980-01-07 1982-01-19 Whirlpool Corporation Electronic musical instrument with harmony generation
US4399731A (en) * 1981-08-11 1983-08-23 Nippon Gakki Seizo Kabushiki Kaisha Apparatus for automatically composing music piece
FR2598545A1 (fr) * 1986-05-09 1987-11-13 Digigram Sa Procede et appareil de generation automatique d'arrangements musicaux et arrangements obtenus

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0451776A3 (en) * 1990-04-09 1991-11-21 Casio Computer Company Limited Tonality determining apparatus
EP0566232A3 (fr) * 1992-04-13 1994-02-09 Ibm
EP0980061A1 (fr) * 1998-08-11 2000-02-16 Yamaha Corporation Dispositif arrangeur par modification de données musicales avec données d'arrangement
US6177624B1 (en) 1998-08-11 2001-01-23 Yamaha Corporation Arrangement apparatus by modification of music data
WO2000017850A1 (fr) * 1998-09-24 2000-03-30 Medal Sarl Procede et dispositif de generation musicale automatique
FR2785077A1 (fr) * 1998-09-24 2000-04-28 Rene Louis Baron Procede et dispositif de generation musicale automatique
US6506969B1 (en) 1998-09-24 2003-01-14 Medal Sarl Automatic music generating method and device
AU757577B2 (en) * 1998-09-24 2003-02-27 Medal Sarl Automatic music generating method and device
CN111754962A (zh) * 2020-05-06 2020-10-09 华南理工大学 基于升降采样的民歌智能辅助作曲系统及方法
CN111754962B (zh) * 2020-05-06 2023-08-22 华南理工大学 基于升降采样的民歌智能辅助作曲系统及方法

Also Published As

Publication number Publication date
EP0288800A3 (en) 1990-06-20
DE3854168D1 (de) 1995-08-24
EP0288800B1 (fr) 1995-07-19
DE3854168T2 (de) 1996-02-15

Similar Documents

Publication Publication Date Title
US4926737A (en) Automatic composer using input motif information
JP3303617B2 (ja) 自動作曲装置
Widmer et al. Computational models of expressive music performance: The state of the art
US11024276B1 (en) Method of creating musical compositions and other symbolic sequences by artificial intelligence
US9286876B1 (en) Method and apparatus for computer-aided variation of music and other sequences, including variation by chaotic mapping
US6294720B1 (en) Apparatus and method for creating melody and rhythm by extracting characteristic features from given motif
CN107301857A (zh) 一种给旋律自动配伴奏的方法及系统
EP0451776B1 (fr) Dispositif pour déterminer une tonalité
CN114898725B (zh) 一种即兴伴奏生成装置
Arronte Alvarez et al. Motivic pattern classification of music audio signals combining residual and LSTM networks
US6100462A (en) Apparatus and method for generating melody
EP0288800B1 (fr) Dispositif pour composition automatique
Schmuckler et al. Perceptual tests of an algorithm for musical key-finding.
JP2000315081A (ja) 自動作曲装置及び方法並びに記憶媒体
JP3489290B2 (ja) 自動作曲装置
JPH0990952A (ja) 和音分析装置
JPH09244648A (ja) 自動作曲機
JPH0636151B2 (ja) 自動編曲方式及び装置
Bantula et al. Jazz ensemble expressive performance modeling
JP3664126B2 (ja) 自動作曲装置
US20230267899A1 (en) Automatic audio mixing device
Abe et al. Automatic arrangement for the bass guitar in popular music using principle component analysis
JP2615720B2 (ja) 自動作曲機
JP2638905B2 (ja) 自動作曲機
JP2615721B2 (ja) 自動作曲機

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): DE FR GB

PUAL Search report despatched

Free format text: ORIGINAL CODE: 0009013

AK Designated contracting states

Kind code of ref document: A3

Designated state(s): DE FR GB

17P Request for examination filed

Effective date: 19900928

17Q First examination report despatched

Effective date: 19920205

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

AK Designated contracting states

Kind code of ref document: B1

Designated state(s): DE FR GB

REF Corresponds to:

Ref document number: 3854168

Country of ref document: DE

Date of ref document: 19950824

ET Fr: translation filed
PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

26N No opposition filed
PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: FR

Payment date: 20010409

Year of fee payment: 14

REG Reference to a national code

Ref country code: GB

Ref legal event code: IF02

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: FR

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20021231

REG Reference to a national code

Ref country code: FR

Ref legal event code: ST

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: GB

Payment date: 20040407

Year of fee payment: 17

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: GB

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20050408

GBPC Gb: european patent ceased through non-payment of renewal fee

Effective date: 20050408

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: DE

Payment date: 20070405

Year of fee payment: 20