|
Description  |
|
|
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to a rhythm creating system included in an
electronic musical instrument to create a rhythm pattern.
2. Description of the Prior Art
Generally, in creating a desired rhythm on an electronic musical
instrument, the desired rhythm is created by the user, a rhythm pattern is
created by the user, the rhythm pattern is stored in a memory included in
the electronic musical instrument and the electronic musical instrument
reproduces the rhythm pattern. Alternatively a plurality of rhythms
created by the manufacturer are stored in the memory included in the
electronic musical instrument, a desired rhythm among those stored in the
memory is selected by the user, and the electronic musical instrument
reproduces the selected rhythm.
If a predetermined rhythm for one piece of music is desired to be played on
the electronic musical instrument, the piece of music is divided into
parts including a preliminary part, a theme part, an ending part and the
like, and rhythm patterns for those parts are created and stored by the
foregoing procedure. That is, according to a first system, which requires
the user to create rhythms, rhythm patterns are created for the parts,
respectively, by the user, the rhythm patterns for a plurality of bars
conforming to the parts are assembled, the assembly of the rhythm patterns
are stored in the memory of the electronic musical instrument, a rhythm
pattern for the piece of music is constructed by storing the playing
sequence of the rhythm patterns for the plurality of bars in the memory,
and then the rhythm pattern for the piece of music is played. According to
a second system, which enables the user to select a desired rhythm among
those stored beforehand in the electronic musical instrument, a plurality
of rhythm patterns are stored in the memory of the electronic musical
instrument beforehand by the manufacturer, and the user selects a desired
rhythm pattern among those stored in the memory, and the selected rhythm
pattern is played on the electronic musical instrument.
If a new rhythm pattern is desired, the first system imposes troublesome
work requiring much time on the user to create the new rhythm and to store
the created rhythm in the memory every time a new rhythm is desired.
Furthermore, the composition of a new rhythm pattern requires special
knowledge of timing the play of different musical instruments in
assembling the rhythm pattern. The second system requires search for a
desired rhythm among many rhythm patterns stored beforehand in the memory
by the manufacturer. If a greater number of rhythm patterns are stored
beforehand in the memory, the probability of a desired rhythm pattern
being included in the rhythm patterns stored beforehand may be higher.
However, increase in the number of stored rhythm patterns will require
more time for finding the desired rhythm pattern. If the number of stored
rhythm patterns is reduced, it is possible that a desired rhythm pattern
will not be included in the stored rhythm patterns.
A system proposed to solve such problems in Japanese Patent Laid-open
(Kokai) No. Sho 61-188594 or Sho 61-18299 or Japanese Patent Publication
(Kokoku) No. Hei 3-006515 stores a plurality of rhythm patterns for each
musical instrument, selects a rhythm pattern for each musical instrument,
and composes an integral rhythm pattern by integrating the selected rhythm
patterns respectively for all the musical instruments. This system needs a
memory having a storage capacity smaller than that of a memory needed by a
system which stores integral rhythm patterns beforehand and has a certain
degree of freedom of composing an optional rhythm pattern. However, this
system also needs a memory having a large storage capacity to make
possible a sufficiently high degree of freedom of composing a desired
rhythm pattern. Thus, the number of rhythm patterns to be stored
beforehand is limited by the storage capacity of a possible memory.
SUMMARY OF THE INVENTION
In view of the foregoing problems in the prior art, it is a first object of
the present invention to provide a rhythm creating system capable of
creating a sufficiently large number of rhythm patterns and requiring a
memory having a storage capacity smaller than that of a memory needed by
the prior art rhythm creating system.
A second object of the present invention is to provide a rhythm creating
system capable of creating a rhythm pattern meeting the image of the user
without requiring any special knowledge of the user.
A third object of the present invention is to provide a rhythm creating
system capable of creating an integral rhythm pattern for a piece of music
meeting the image of the user requiring only the designation of the melody
of the piece of music and without requiring any special knowledge.
In one aspect of-the present invention, a rhythm creating system comprises:
(a) a primitive data creating means for creating a plurality of primitive
data each consisting of code strings of codes "0" and "1";
(b) a parameter storage means for storing a plurality of creating
parameters for specifying the meanings of the codes "0" and "1" of the
primitive data; and
(c) a rhythm pattern creating means for creating a rhythm pattern by
associating predetermined creating parameters selected among the plurality
of creating parameters with the created primitive data.
Preferably, each of the plurality of creating parameters associates a kind
of musical instrument with at least either the code "0" or "1".
Preferably, each of the plurality of creating parameters specifies the
meanings of the codes "0" and "1" of the primitive data and specifies the
meanings of the code length of the primitive data. In this case, for
example, a code length corresponds to a musical length.
A musical length may be associated with a code length by a method which
associates a musical length, such as the number of beats, with the entire
code length or by an equivalent method which associates a musical length,
such as a note length, with each of the codes included in the code length
and consequently associates a musical length with the entire code length.
The primitive data creating means may be such a means which is provided
with a memory for storing a plurality of primitive data and reads the
primitive data from the memory to provide the primitive data.
The primitive data creating means may be provided with a means of creating
new primitive data on the basis of the primitive data stored in the
memory.
A prior art rhythm creating system storing rhythm patterns stores code
strings consisting of the codes "0" and "1" and the code string is
associated with a special meaning; for example, the code string
corresponds to a pair of high-hat cymbals, each bit corresponds to a 1/16
note, the code "0" corresponds to nonsounding and and the code "1"
corresponds to sounding. Accordingly, different code strings must be
prepared even if they are the same in bit pattern, if the code strings of
the same bit pattern differ from each other even in a single meaning.
In storing code strings (primitive data) consisting of the codes "0" and
"1", the present invention does not associate fixed meanings with the
codes "0" and "1" of the primitive data in defiance of such a conventional
concept. Consequently, a plurality of code strings of the same bit pattern
need not be stored respectively for different musical instruments, which
enables the reduction of storage capacity.
The present invention stores creating parameters specifying the meanings of
the primitive data. The creating parameter associates, for example, the
code `0` of 16-bit primitive data selected among a plurality of primitive
data with a pair of closed high-hat cymbals, and the code "1" of the same
with a pair of open high-hat cymbals. Thus, the different creating
parameters assign different musical instruments to the primitive data of
the same bit pattern.
The rhythm creating system of the present invention creates primitive data
consisting of the codes "0" and "1" which are not associated with fixed
meanings, stores a plurality of creating parameters for specifying the
meanings of the primitive data, and creates a rhythm pattern by
associating the creating parameters with selected primitive data.
Accordingly, the rhythm creating system need not be provided with a memory
having a very large storage capacity and has a large degree of freedom of
creating rhythm patterns.
When no fixed meaning is associated with the code length of the primitive
data, and the creating parameter associates meanings to the code length of
the primitive data by assigning, for example, four beats to the entire
code length of sixteen bits, and 4/4-time to one measure, the same
primitive data is used for playing different musical instruments, and each
bit corresponds to different notes, such as 1/16 note and 1/8 note, which
enables further reduction in the storage capacity of the memory and
further enhances the degree of freedom of rhythm pattern creation.
Since a plurality of primitive data not associated with fixed meanings and
a plurality of creating parameters for associating the primitive data with
meanings are stored in a memory and a rhythm pattern is created by
combining desired primitive data and a desired creating parameter, the
storage capacity of the memory of the rhythm creating system need not be
very large and the rhythm creating system is capable of creating a large
number of rhythm patterns.
A method of selecting the desired primitive data among the plurality of
primitive data stored in the memory and a method of selecting a desired
creating parameter among the plurality of creating parameters need not be
limited to those specified by the present invention; the desired primitive
data and the desired creating parameter may directly be selected by the
user or the rhythm creating system may be provided with an inference
system for forward inference, and appropriate primitive data and an
appropriate creating parameter may be selected through forward inference
on the basis of parameters specifying a conceptional image of a piece of
music, such as "rock `n` roll rhythm" and "relatively simple rhythm",
specified by the user.
A rhythm creating system provided with an inference system in accordance
with the present invention comprises:
an input means for providing a plurality of parameters respectively
specifying types of rhythm;
a memory storing a rule data base for associating the parameters with
rhythm patterns; and
a rhythm pattern creating means for creating a desired rhythm pattern by an
inference system with reference to the rule data base on the basis of the
plurality of parameters provided by the input means.
Preferably, the plurality of parameters provided by the input means include
at least those specifying the genre and time of the rhythm to be created
Preferably, the inference system of the rhythm pattern creating means is
capable of creating different rhythm patterns from the same plurality of
parameters provided by the input means and is provided with a means of
creating a new rhythm pattern by an arithmetic operation on the basis of
the created rhythm pattern. Musical instruments and musical lengths are
assigned to the thus created rhythm pattern.
This rhythm creating system is provided with the memory for storing a rule
data base conformable to the inference system selected among, for example,
a forward inference system, a backward inference system, a fuzzy inference
system and a blackboard system. Accordingly, a rhythm pattern meeting an
image of rhythm formed by the user can be created without requiring
special knowledge of the user only if a parameter conformable to the image
formed by the user is specified directly or indirectly by the user. Thus,
the rhythm creating system is suitable for use by amateurs or by users of
a large variety of classes including amateurs.
If the rhythm creating system is provided with an inference system capable
of creating a plurality of different rhythm patterns on the basis of the
same parameters specified by the user, the rhythm creating system is able
to create a rich variety of rhythm.
The rhythm creating system provided with an inference system in accordance
with the present invention stores a rule data base for associating a
plurality of parameters consisting of a plurality of choices and
specifying types of rhythm with a plurality of rhythm patterns, and
creates a rhythm pattern of a desired type with reference to the rule data
base on the basis of choices selected among those of each parameter.
Accordingly, a memory storing a plurality of rhythm patterns need not be
searched for a rhythm pattern conforming to an image of rhythm formed by
the user, and the rhythm pattern conforming to the image formed by the
user can be created without requiring special knowledge of assembling a
rhythm pattern.
The present invention is applicable also to creating a rhythm pattern for
an entire piece of music. A rhythm creating system thus constituted in
accordance with the present invention will be described with reference to
a block diagram shown in FIG. 1. A first rule data base for associating
information concerning the melody of an entire piece of music with the
component choices of each of a plurality of parameters specifying types of
rhythm is stored in a first memory 1. A second rule data base for
associating the choices of the plurality of parameters with a plurality of
rhythm patterns is stored in a second memory 2. The first memory 1 and the
second memory 2 may be either two separate memories or a physically single
memory, such as a ROM. The first rule data base and the second rule data
base are, for example, of a forward inference system, a backward inference
system, a blackboard system or a fuzzy inference system.
An instruction input means 3 is operated to provide information concerning
the melody of a desired piece of music. The information provided by the
instruction input means 3 is applied to a parameter extracting means 4.
The parameter extracting means 4 extracts, for each part of the desired
piece of music, the predetermined choices of each of at least some
parameters among the plurality of parameters on the basis of the
information concerning the melody of the desired piece of music with
reference to the first rule data base stored in the first memory 1 and
applies the extracted choices to a rhythm pattern creating means 5. The
rhythm pattern creating means 5 repeats a rhythm pattern for each part of
the desired piece of music on the basis of the choices extracted by the
parameter extracting means 4 for each part of the desired piece of music
with reference to the second rule data base stored in the second memory 2
to provide a rhythm pattern for the entire desired piece of music.
The parameter extracting means 4 and the rhythm pattern creating means may
be either pieces of hardware or functions of software to be executed by a
computer.
Preferably, the instruction input means 3 is capable of providing data
representing the genre of the desired piece of music in addition to the
information concerning the melody of the entire desired piece of music.
In this rhythm creating system, the parameter extracting means 4 extracts,
for each part of the desired piece of music, the predetermined choices of
at least some parameters among the plurality of parameters specifying
predetermined types of rhythm on the basis of the information concerning
the melody of the entire desired piece of music and the rhythm pattern
creating means 5 creates a rhythm pattern for each part of the desired
piece of music on the basis of the choices extracted by the parameter
extracting means 4 for each part to provide the rhythm pattern for the
entire desired piece of music. Accordingly, the user needs to operate the
instruction input means 3 to provide only the information concerning the
melody of the desired piece of music and need not have any special
knowledge of assembling a rhythm pattern, and then the rhythm creating
system creates a rhythm pattern for one piece of music, meeting an image
formed by the user. If a method capable of specifying information
representing an abstract human idea is employed in providing the
information concerning the melody of an entire piece of music, the rhythm
creating system will be readily accessible to the user who is weak in
mechanically assembling a rhythm pattern.
Although the rhythm creating system for creating a rhythm pattern for the
entire piece of music may be such as capable of creating rhythm patterns
suitable for pieces of music of a specific genre among those including,
for example, rock `n` roll music, waltz music and swing music, the rhythm
creating system may be capable of creating rhythm patterns suitable for
pieces of music of a plurality of genres and the genre of a desired piece
of music may be provided by the instruction input means 1 in addition to
the information concerning the melody of the entire desired piece of
music. If the instruction input means 1 is capable of providing the
complex details of the rhythm of a desired piece of music, the rhythm
creating system is able to create a great variety of rhythm patterns.
The rhythm creating system thus constituted in accordance with the present
invention to create a rhythm pattern for an entire piece of music
extracts, for each part of the piece of music, the predetermined choices
of at least some of the plurality of parameters specifying types of rhythm
on the basis of the information concerning the melody of the entire piece
of music, and creates a rhythm pattern for each part on the basis of the
extracted predetermined choices for each part to create a rhythm pattern
for the entire piece of music. Accordingly, the user needs to provide only
the information concerning the melody of the entire piece of music, the
user need not have any special knowledge of assembling a rhythm pattern
for the entire piece of music, and the rhythm creating system is capable
of creating a rhythm pattern for the piece of music, meeting an image
formed by the user. If a method capable of specifying information
representing an abstract human idea is employed in providing the
information concerning the melody of an entire piece of music, the rhythm
creating system will be readily accessible to the user who is weak in
mechanically assembling a rhythm pattern.
If the instruction input means is capable of providing the genre of a
desired piece of music in addition to the information concerning the
melody of the desired piece of music, the rhythm creating system is able
to create rhythm patterns for pieces of music of a plurality of genres
including rock `n` roll music, waltz music and swing music. If the
instruction input means is capable of providing the complex details of the
rhythm of a desired piece of music, the rhythm creating system is able to
create a great variety of rhythm pattern.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram of assistance in explaining the configuration of
the present invention for creating a rhythm pattern for an entire piece of
music;
FIG. 2 is a block diagram of a rhythm creating system in a preferred
embodiment according to the present invention;
FIG. 3 is a flow chart of a rhythm creating process to be carried out by
the rhythm creating system of FIG. 1;
FIG. 4 is a table of rule number, creating parameter number and primitive
data number;
FIG. 5 is table showing the contents of creating parameters;
FIG. 6 is a table showing the contents of the primitive data;
FIG. 7 is a plan view of the control panel of the rhythm creating system of
FIG. 2;
FIG. 8 is a block diagram of the circuit configuration of the rhythm
creating system shown in FIG. 1;
FIG. 9 is a block diagram of assistance in explaining the relation between
rhythm creating functions;
FIG. 10 is a flow chart of an algorithm of an inference engine;
FIG. 11 is a view of input parameters to be provided by a control element;
FIG. 12 is a view showing facts before inference and those after
inference, stored in an inference work area, respectively;
FIG. 13 is a view of the contents of a rule data base;
FIG. 14 is a view of pattern creation command included in facts determined
by inference;
FIG. 15 is a view of a bit rhythm pattern created on the basis of a pattern
creation command;
FIG. 16 is a diagram of a bit rhythm pattern;
FIG. 17 is a view showing the contents of an inference work area before and
after inference, in which input parameters "LEVEL" and "IDEA" shown in
FIG. 11 are "6" and "7";
FIG. 18 is a view showing a bit rhythm pattern created through inference
shown in FIG. 17;
FIG. 19 is a diagram showing the bit rhythm pattern of FIG. 18 expressed by
musical notes;
FIG. 20 is a view showing the contents of an inference work area before and
after inference when inference is made three times without changing the
values of the input parameters shown in FIG. 11;
FIG. 21 is a view showing a bit rhythm pattern created by inference of FIG.
20;
FIG. 22 is a diagram of the bit rhythm pattern of FIG. 21 expressed by
musical notes;
FIG. 23 is a perspective view of a rhythm creating system embodying the
present invention;
FIG. 24 is a block diagram of the rhythm creating system shown in FIG. 23;
FIG. 25 is a block diagram of the rhythm creating system shown in FIGS. 23
and 24, showing the functional elements of the rhythm creating system in a
configuration corresponding to a rhythm pattern creating algorithm to be
executed by the rhythm creating system;
FIG. 26 is tables of parameters provided by a parameter input unit;
FIG. 27 is a view showing a song creating rule included in a rule data base
for a song creating unit;
FIG. 28 is a view showing the result of inference performed by the song
creating unit;
FIG. 29 is a view showing a pattern creating rule included in a rule data
base for a pattern creating unit;
FIG. 30 is a view showing the result of inference performed by the pattern
creating unit;
FIG. 31 is a view of assistance in explaining bit rhythm pattern creation;
and
FIG. 32 is a diagram of a final rhythm pattern expressed by musical notes.
DESCRIPTION OF THE PREFERRED EMBODIMENTS
Preferred embodiments of the present invention will be described
hereinafter with reference to the accompanying drawings.
FIG. 2 is a block diagram showing the general configuration of a rhythm
creating system in a preferred embodiment according to the present
invention.
Referring to FIG. 2, a rule number input unit 11 has a display, not shown,
and a keyboard, not shown, provided with numerical keys. A plurality of
rule numbers indicating creating parameters and corresponding primitive
data, stored in a memory 13 are read by a pattern creating unit 12 and
displayed on the display of the rule number input unit 11. The keyboard of
the rule number input unit 11 is operated to enter a desired rule number.
Then, the pattern creating unit 12 makes reference to the the memory 13
and reads a creating parameter and primitive data specified by the rule
number from the memory 13. Then, the pattern creating unit 12 creates
rhythm patterns by combining the creating parameter and the primitive data
and gives the created rhythm patterns to a sound source unit 14. Then, the
sound source unit 14 creates sound source waveforms corresponding to the
rhythm patterns, signals representing the sound source waveforms are
amplified by an amplifier and rhythm represented by the signals is sounded
by a loudspeaker.
FIG. 3 is a flow chart of a rhythm creating procedure to be carried out by
the rhythm creating system of FIG. 2, FIG. 4 is a table showing the
relation between rule number, creating parameter number and primitive data
number, FIG. 5 is a table showing the contents of creating parameters
indicated by creating parameter numbers and FIG. 6 is a table showing the
contents of primitive data indicated by primitive data number and stored
in the memory 13 of FIG. 2.
Referring to FIG. 4, each rule number corresponds to a creating parameter
number, a primitive data number and a timbre, such as DRY, POWER or
REVERB.
Referring to FIG. 3, a desired rule number among those shown on the display
is selected and entered by operating a rule number input unit 11 in step
(a). It is possible that the user is perplexed in selecting a rule number
when only creating parameter numbers and primitive data numbers are
displayed on the display as shown in FIG. 4. Therefore, sensory
expressions expressing creating parameters indicated by creating parameter
numbers, primitive data indicated by primitive data numbers or
combinations of creating parameter numbers and primitive data numbers,
such as "1. Relatively simple rock `n` roll rhythm" and "relatively
complex waltz rhythm" may be displayed instead of the table shown in FIG.
4 on the display to facilitate the selection of a rule number.
Suppose that rule number "1" is selected. Then, in step (b), the pattern
creating unit 12 fetches timbre DRY, indicated by rule number "1".
In step (c), the pattern creating unit 12 recognizes the contents of the
creating parameter indicated by the creating parameter number "1" and
contained in the table shown in FIG. 4 stored in the memory 13, and then,
in step (d), the pattern creating unit 12 recognizes primitive data
contained in the table shown in FIG. 6 stored in the memory 13.
As shown in FIG. 5, the contents of the creating parameter No. 1 are:
(a) "1"=closed high-hat cymbals,
(b) code "0"=nonsounding,
(c) musical length=two beats, and
(d) four beats for one bar (4/4 time)
Therefore, the contents (a) to (d) are applied to the primitive data "0001"
to create a rhythm pattern having bits each corresponding to a 1/8 note
and bars each of "00010001" which is for a pair of closed high-hat
cymbals. Since the rule No. 1 specifies "DRY" timbre (FIG. 4), the sound
source 4 creates musical signals corresponding to the rhythm pattern
"001001" which is a sound of the pair of closed high-hat cymbals having
"DRY" timbre.
Although the codes "1" and "0" of the primitive data correspond simply to
specific musical sounds (including no sound generation) in the foregoing
description, the following variation is also possible.
For example, if primitive data "0101" and a creating parameter specifying:
(a) code "1"=a pair of open high-hat cymbals,
(b) code "0"=the former musical instrument, and
(c) two beats for the musical length of the primitive data are selected,
(a pattern for a pair of closed high-hat cymbals)-(primitive data) and
(a pattern for a pair of open high-hat cymbals)+(primitive data)
are calculated to change the pair of closed high-hat cymbal bits coinciding
with the primitive data for a pair of open high-hat cymbals.
Concretely,
(10111011) and (01010101)=(10101010)
(01000100) or (01010101)=(10101010)
are calculated to change the rhythm pattern for the pair of closed high-hat
cymbals from "10111011" to "10101010" and the rhythm pattern for the pair
of open high-hat cymbals from "01000100" to "01010101".
Thus, a great variety of rhythm patterns can be created and rhythm patterns
thus created can be modified by combining primitive data and creating
parameters.
Although a rule number directly connected with a creating parameter number
and a primitive data number is specified by the user in the foregoing
description, the rhythm creating system may be constructed, for example,
so as to receive imaginary information, such as information expressing
rock `n` roll rhythm of a complex pattern, to select a creating parameter
on the basis of the input information by inference, to create a primitive
data and to create a rhythm pattern on the basis of those selected and to
create a rhythm pattern and primitive data regardless of means for
selecting and creating a creating parameter and a primitive data.
A rhythm creating system provided with an inference system in accordance
with the present invention will be described hereinafter.
FIG. 7 shows a rhythm creating system provided with an inference system in
accordance with the present invention.
Referring to FIG. 7, genre select keys 112 for selecting funky rhythm
(FUNK), rock `n` roll rhythm (ROCK), jazz rhythm (JAZZ), metal rhythm
(METAL) and reggae rhythm (REGGAE) are arranged in the right-hand lower
corner of the control panel 100 of the rhythm creating system. The rhythm
creating system creates a rhythm pattern when a create key 116 is pushed
after pushing one of the genre select keys 112 and shifting parameter
input volume keys 114 for setting parameters specifying level (LEVEL),
idea (IDEA), length (LENGTH), meter (METER) and pattern (Ptn) to positions
conforming to an image formed by the user, respectively.
Images corresponding to the respective parameters of level (LEVEL), idea
(IDEA), length (LENGTH), meter (METER) and pattern (Ptn) will be described
hereinafter.
(a) Parameter "LEVEL" specifies the level of complexity of a created rhythm
pattern. The parameter input volume key 114a is shifted upward to raise
the level of complexity of the rhythm pattern.
(b) Parameter "IDEA" specifies the instrumentation of musical instruments
to-be used. The parameter input volume key 114b is shifted upward to
increase the kinds of musical instruments to be used and, if the key 114b
is shifted to a far upper position, musical instruments which are not used
very often are used. For example, although it is usual to use only a drum
set when the genre "ROCK" is selected, a sound synthesizer, a Latin
percussion instrument and/or an ethnic percussion instrument is used if
the key is shifted to a far upper position.
(c) The parameter "LENGTH" specifies the number of bars of a rhythm pattern
to be created. The parameter input volume key 114c is shifted upward to
increase the number of bars of the rhythm pattern.
(d) The parameter "METER" specifies the number of beats of one bar of a
rhythm pattern to be created. The parameter input volume key 114d is
shifted upward to increase the number of beats of the rhythm pattern.
(e) The parameter "Ptn" specifies the type of a rhythm pattern to be
created. The parameter input volume key 114e is positioned selectively to
select an introductory type (INTRO), a basic type (BASIC), a fill-in type
(FILLIN) and an ending type (ENDING).
When one of the genre select keys 112 is pushed, the parameter input volume
keys 114 are set respectively at positions corresponding to an image
formed by the user and then the create key 116 is pushed, the rhythm
creating system creates a rhythm pattern conforming to the image. A
procedure of creating the rhythm pattern will concretely be described
later.
Pattern reproducing keys 118, i.e., a stop key 118a, a start key 118b, a
preceding data key 118c and a succeeding data key 118d, are arranged in
the left-hand upper corner of the upper panel 100 of the rhythm creating
system. The start key 18b is pushed to start playing the rhythm created by
the rhythm creating system, and the stop key 18a is pushed to stop playing
the rhythm. When the data return key 18c is pushed once the data of, for
example, the preceding bar is reproduced. The preceding data key 18c
corresponds to the rewind key of a tape recorder for recording information
in a magnetic tape contained in a tape cassette. When the succeeding data
key 18d is pushed once, the data of the succeeding bar is reproduced. The
succeeding data key 18d corresponds to the fast feed key of the tape
recorder.
A liquid crystal display screen 120 is placed in the right-hand upper
corner of the upper panel 110 to display successive portions of the rhythm
pattern each for one bar successively thereon while the rhythm is being
played.
FIG. 8 is a block diagram of the circuit configuration of the rhythm
creating system having the upper panel shown in FIG. 7, and FIG. 9 is a
block diagram of assistance in explaining the relation between rhythm
creating functions.
Referring to FIG. 8, a control element 21 comprises the genre select keys
112, the parameter input volume keys 114, the create key 116 and the
pattern reproducing keys 118 shown in FIG. 7. When the parameter input
volume keys 114 of the control element 21 are operated, parameters
corresponding to the positions of the parameter input volume keys 114 are
converted into digital data by AD conversion and a CPU 24 receives the
digital data and stores the same in a RAM 23. The control element 21
corresponds to a parameter input unit 30 shown in FIG. 9. Category data
provided by operating the genre select key 112 and stored in the RAM 23
and the parameters provided by operating the parameter input volume keys
114a to 114d are converted into character strings and the character
strings are stored as "facts" in an inference work area 32 (FIG. 9) of a
RAM 25. A liquid crystal display driving circuit LCD 22 is controlled by
the CPU 24 to drive the liquid crystal display 120 (FIG. 7) so that
desired information is displayed on the liquid crystal display 120.
Programs to be executed by the CPU 26 and a rule data base 36 for
inference are stored in a ROM 26. A program among those stored in the ROM
26, concerning inference corresponds to an inference engine 34 shown in
FIG. 9 and this program is executed after the detection of the facts by an
inference system. A program for creating a rhythm pattern on the-basis of
the facts corresponds to a bit rhythm pattern conversion unit 38 shown in
FIG. 9. A rhythm pattern created by the bit rhythm pattern conversion unit
38 is stored in a memory 40 (FIG. 9) of the RAM 23
After the rhythm pattern thus created has been stored in the RAM 23, the
start key 118b (FIG. 7) is pushed. Then, the CPU 24 reads the rhythm
pattern stored in the RAM 23 and sends the data of the rhythm pattern
sequentially to a sound source unit 28. The sound source unit 28 has a ROM
28b storing data representing digital waveforms of rhythmical sounds of
rhythm musical instruments including a bass drum, a snare drum, open
high-hat cymbals and closed high-hat cymbals, and an address generator 28a
which addresses the contents of the ROM 28b. The data of the rhythm
pattern sequentially provided by the CPU 24 is converted into address
signals specifying addresses of the ROM 28b by the address generator 28a
and the digital waveforms of the musical sounds are read from the ROM 28b
according to the address signals. The digital waveforms are converted into
analog waveforms of the musical sounds by a DA converter 28c, noise is
removed from the analog waveforms by a lowpass filter, not shown, and then
the rhythm creating system provides the analog waveforms. The analog
waveforms provided by the rhythm creating system are amplified by an
amplifier, not shown, and rhythmical sounds represented by the analog
waveforms are sounded.
FIG. 10 is a flow chart of an algorithm of the inference engine 34, FIG. 11
shows, by way of example, input parameters, which are represented by
characters to facilitate understanding, provided by operating the control
element 51, FIG. 15 shows, by way of example, facts before inference and
those after inference, stored in the inference work area 32, and FIG. 13
shows, by way of example, the contents of the rule data base 36.
After operating the control element 21 to provide, for example, parameters
as shown in FIG. 11, i.e., a genre parameter GENRE specifying rock `n`
roll rhythm ROCK, a pattern parameter Ptn specifying a basic pattern
BASIC, a length parameter LENGTH specifying 4 bars, a level parameter
LEVEL specifying a level 2, an idea parameter IDEA specifying an
instrumentation class 2 and a meter parameter METER specifying 4/4 time
and temporarily storing the parameters in the RAM 23, the parameters are
stored as facts in the inference work area 32 as shown in the left portion
of FIG. 12.
The parameters before inference include additionally a variation parameter
VARI. The variation parameter VARI is produced when the create key 116 is
operated without changing the parameters shown in FIG. 11. The variation
parameter VARI, which cannot be specified by the user, introduces
variations into the pattern. If the create key 116 is operated again
without-changing the parameters, the values of the variation parameter
VARI changes to produce a different pattern automatically. Random numbers
created by operating the create key 116 may be assigned to the variation
parameter VARI. The value of the variation parameter VARI returns to "1"
every time the parameters as shown in FIG. 11 are changed.
A program as shown in Fig- 10 corresponding to the inference engine 34 is
started when the create key 116 is operated in this state. A pattern
creating procedure will be described hereinafter on an assumption that the
parameters shown in FIG. 11 are provided.
When the program shown in FIG. 10 is started in a state where the
parameters as shown in FIG. 12 are set, a pointer is set at the head of
the rule data base in step (a) to retrieve data from the rule data base.
One of the facts, the first fact "ROCK", is retrieved from the inference
work area in step (b). The pointer is incremented in step (c) one at a
time to search the rule data base for a rule having a character string
"ROCK". A query is made in step (d) to see if any rule having a character
string "ROCK" is found. Since a rule *1 has the character string "ROCK",
the pointer of the rule data base is incremented by one and a query is
made in step (e) to see if a character string next to the character string
"ROCK" is a conditional part (e.g., if character string "ROCK" is followed
by "and"). Since the character string next to the character string "ROCK"
is a decision part "ALWAYSO" in this example, the program goes to step
(f). In step (f), the inference work area is searched for the decision
part "ALWAYSO". Since the decision part "ALWAYSO" is not stored in the
inference work area in this embodiment, the response in step (g) is
negative and step (h) is executed to store the decision part "ALWAYSO" in
the inference work area.
In step (i), the same fact as the fact retrieved in the previous fact
retrieval cycle, i.e., the fact "ROCK", is retrieved, and then the program
returns to step (c). In step (c), the pointer of the rule data base is
incremented further and the rule data base is searched for the fact
"ROCK".
Since no fact "ROCK" is found in the rule data base in the second or
following fact retrieval cycles, the response in step (d) is negative and
step (m) is executed. In step (m), the pointer is returned to the head of
the rule data base and, in step (n), the next fact, i.e., a fact "BASIC",
is retrieved from the inference work area. Since further facts are stored
in the inference work area, the response in step (o) is affirmative, and
hence the program returns to step (c) to retrieve the fact "BASIC".
The fact "BASIC" is included in a rule *2 and hence the response in step
(d) is affirmative. Therefore, the pointer of the rule data base is
incremented further by one, reference is made to a character string
"ALWAYSO" next to the character string "BASIC", and then a query is made
in step (e) to see if the character string "ALWAYSO" is followed by "and",
i.e., if the character string "ALWAYSO" is a conditional part. If the
response in step (e) is affirmative, step (j) is executed. In step (j),
the inference work area is searched for the character string "ALWAYSO". A
query is made in step (k) to see if the character string "ALWAYSO" is
found in the inference work area. If the response in step (k) is
affirmative, the program returns to step (e), in which the pointer of the
rule data base is incremented and a query is made to see if a character
string "ROCKO" next to the character string "AL | | |