Interruption control apparatus for use in performance information

Interruption control apparatus for use in performance information
llllllllllllllIllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
.
USO05266736A
United States Patent [191
[11] Patent Number:
Saito
[45]
[54] INTERRUPTION CONTROL APPARATUS
Assistant Examiner-Brian Sircus
Attorney, Agent, or Firm-—Birch, Stewart, Kolasch &
Birch
[75] Inventor: Tsutomu Saito, Sizuoka, Japan
[73] Assignee: Kawai Musical Instrument Mfg. Co.,
Ltd., Sizuoka, Japan
[21] App]. No.: 749,335
Aug. 23, 1991
[22] Filed:
[57]
ABSTRACT
An interruption control apparatus for controlling inter
ruptions of a performance information processor for
processing performance information of a piece of music,
The interruption control apparatus includes a ?rst time
control unit for regulating the length of a time interval
between successive interruptions of the performance
Related US. Application Data
information processor according to a pre-set tempo in
such a manner that the regulated time interval is limited
within a predetermined constant range, and for output
Continuation of Ser. No. 368,647, Jun. 20, 1989.
Foreign Application Priority Data
Jun. 21, 1988 [JP]
Nov. 30, 1993
Primary Examiner-William M. Shoop, Jr.
FOR USE IN PERFORMANCE
INFORMATION PROCESSING SYSTEM
[63]
[30]
Date of Patent:
5,266,736
ting an interruption signal at the regulated time interval.
Japan .............................. .. 63-153962
The interruption control apparatus further includes a
[51]
[52]
Int. Cl.5 ............................................. .. GlOH 1/40
second time control unit for receiving the interruption
signal and increasing a parameter of a register by an
[58]
Field of Search ............... .. 84/609, 611, 612, 635,
US. Cl. ...................................... .. 84/612; 84/668;
increment, of which the value varies as a function of the
84/484; 84/DIG. 11
pre-set tempo, every reception of the interruption signal
and for further transferring performance information to
the performance information processor each time the
84/636, 651, 652, 667, 668, 484, DIG. ll
[56]
References Cited
U.S. PATENT DOCUMENTS
''‘'
4’733’593
3/1988 Rothbart .......
Suzuki
...........1.
'
parameter reaches a predetermined value and then re
setting the parameter to become zero. Also, an interrup
tion processing unit is included for receiving the inter
'''
ruption signal and interrupting the performance infor
......... .. 84/484
4,876,937
10/1989
4,924,745
5/1990
4,957,552
9/1990 Iwase .................................. .. 84/622
Kimpara et al.
. . . . . ..
SETTING
MEANS
“on
slgnal
..... .. 84/609
/1 o o
TEMPO
‘nation Processor i“ “59”” ‘0 ‘he received imam!"
84/612
8 Claims, 12 Drawing Sheets
/2 0 0
filth}?
'
/3 0 0
INTERRUPTION
_—_>, CONTROL
—"1, PROCESSlN e
MEANS
83400
SE CON D
TIME
CONTROL
MEANS
MEANS
US. Patent
Nov. 30, 1993
/1 0 0
TEMPO
SETTING
MEANS
‘
Sheet 2 of 12 v
5,266,736
/2 0 0
mg
f3 0 0
-
L
CONTROL
MEANS
INTERRUPTION
PROCESSING
MEANS
_ 'f4 0 0
SECOND
TIME
CONTROL
MEANS
FIG. 5
26
T
MIDI lN BUFFER
»—2 7
MIDI OUT BUFFER
W2 8
TEMPO REGISTER
,>2 9
PANEL MAP PORTION
‘*3 0
METROPOMC TIMING REGlSTER
US. Patent
Nov. 30, 1995
Sheet 4 of 12
5,266,736
FIG. 6
TEMPO
44
BAR
REGISTER
IBBIT 9999-ARY
REGISTER
45
BEAT
46
MIDI
CLOCK
47
REGISTER
REGISTER
COUNT
REGISTER
4BIT 1~I5-ARY
4BIT l2-ARY
4BIT IS-ARY
FIG. 7
mS
M248 m48zeswulavgn D8H“
m
m
/
M
H.
H
W.
4
8
6
972351l
m
“Du
/
W
U.S. Patent
Nov. 30, 1993
Sheet 5 of 12
5,266,736
ADDRESS
BIT?
6
5
4
3
2
1
0
0
l>
<1
A
v
_JOB
—
-
—
1
TR1
TR2
TR3
TR4
TEMPO
—
-
—
2
START
SToP
REDDRD
FF
REwmD
—
-
-
3
mcn<+>
INCM(-)
—
—
—
—
PANEL MAP
—
—
PORTION (KEYS
ARE
OPERATED)
32
ADDRESS
BIT’?
V6
5
4
3
2
1
0
4
l>
4
A
v
JOB
-
-
-
5
TRl
TR2
TR3
TR4
TEnPo
—
-
—
6
START
-
REcoRD
-
-
-
-
-
PANEL MAP
PORTION (LED
§~——SEcToR -—-§-——SEcToR
TRO
'I‘Rl
LAMPS
SECTOR
01
03
E
02
04
5
05
08
i
09
E
0A
TR2
TR3
TURN ON)
TEMPO
TRACK MEMORY
FIG. I3
19
sEcTOR——>§
5
O6
US. Patent
Nov. 30, 1993
Sheet 8 of 12
5,266,736
FIG. I4
.13..
8
O
M
2Ol
m
F
M
H
S
w
3
B
EN
M
O
HFTE
OXT
N
m
6
_
m
CC
EA
mmmw7F
O
9
TE RT
.N.1
PS5 Y4
N
T
S2
DO.
3
PO
RA
K
A
1
GN
K0.0
CN
SECTOR MANAGING AREA
FIG. l5
NO
m012345.6789ABCD
UESD
C
.NI EN OXT FTE
SF EA
_
PS P0 v.N
v0
R
GN D0.
A
T
SR
K
O
RHOT T2O45609A
SECTOR MANAGING
“8 01237
AREA
(EXAMPLE)
CN K0.
U.S. Patent
Nov. 30, 1993
Sheet 9 of 12
5,266,736
FIG. 16
SET
25~50
100~2OO
VALUE
200~4OO
OF
TEMPO‘?
50~1OO
A3
A2
A4
A5
a X 6 0
a X 6 0
a X 6 O
a X 6 0
WX24Xl6
WX24X8
WX24X4
WX24X2
A6
S
*-
1
-
A7
S
'-
2
A8
S
A10
SET RESULTS
IN PROGRAM
MABLE TIMER
‘ RE TURN)
‘-
4
A9
S
‘-
8
US. Patent
Nov. 30, 1995
sheet 10 of 12
5,266,736
FIG. 17
AB 1
ADD S To
CONTENTS OF
couNT REGISTER
CONTENTS OF
BAR REGISTER + 1
Ye s
(B 3
RESET
COUNTER REGISTER
l
(B4
MD‘ CLOCK DATA
-->MIDI OUT
STOP PERFORMANCE
BUFFER
l
r
B
14
I
DISPLAY ON LCD
1
(B 1 5
ExEcuTE
SuBRouTINES FOR
RECORDING.
PLAYBACK AND
LCD DISPLAY
CONTENTS “I Mm]
CLOCK REGISTER +1
No
CLOCK§12 "
EMIT SOUNDS 0F
Ye s
/B 8
METRONOME
TIMING REGISTER
RESET MIDI
CLOCK REGISTER
CONTENTS
PATTERNS OF
OF
BEAT REGISTER +1
V
US. Patent
Nov. 30, 1993
Sheet 12 of 12
5,266,736
FIG. 19
/-D4
SUBROUTINE
FOR
mocsssmm DATA
SET DATA IN
mm m BUFFER
]
OUTPUT DATA
TO EXTERNAL MIDI
WSlCAL INSTRUMENT
@
1
5,266,736
2
minute, the time interval has a relatively small value,
INTERRUPTION CONTROL APPARATUS FOR
USE IN PERFORMANCE INFORMATION
PROCESSING SYSTEM
determined as follows:
60 [seconds (sec)]/(400>< 96): 1.56 [milliseconds
(resec)].
This application is a continuation of copending appli
cation Ser. No. 07/368,647, filed on Jun. 20, 1989. The
entire contents of which are hereby incorporated by
reference.
Accordingly, when an 8-bit or 16-bit general-purpose
central processing unit (CPU) is used in conventional
electronic musical instruments such as a sequencer, it
10 usually takes approximately 1 to 4 (msec) to effect a key
BACKGROUND OF THE INVENTION
assigning process, a tablet assigning process, and so on.
Particularly, if another process is effected, while data
recorded on a plurality of tracks is accessed by the
1. Field of the Invention
This invention generally relates to an information
sequencer, it will often take more than 5 msec to effect
processing system for controlling a musical perfor
mance by using digital electronic musical instruments,
the above process.
Therefore, from the point of view of the capability of
the existing general-purpose CPU, an appropriate time
and more particularly, to an interruption control appa
ratus used in the information processing system for
interval between successive interruptions of a general
purpose CPU included in the sequencer should be
within 3 (msec) to 6 (resec). If the period of the inter
ruption is shorter than such an appropriate value, the
process exceeds the capability of the CPU, and con
controlling various interruption processes required for
processing the information (hereinafter referred to as
the performance information) used to play a piece of
music at an appropriate timing corresponding to a spe
cific tempo used in the performance of the piece of
music.
2. Description of the Background Art
A conventional automatic system for playing a piece
of music by using an information processor (hereinafter
referred to as an automatic performance system) auto
matically renders the piece by first storing the perfor
mance information required for playing the piece of
music in a storage device such as a RAM, then sequen
tially reading the stored performance information from
the RAM, and further, converting the read information
into electric signals corresponding to musical tones. In
this case, the process of sequentially reading the infor
mation for playing a piece of music is synchronized
with the process of incrementing the content of a regis
ter used for controlling tempo of the performance of a
piece of music (hereunder referred to as a tempo regis
ter), which is incremented at a rate corresponding to the
tempo selected by a player or user of the automatic
performance system for playing the piece of music.
versely, if the period is longer, the capability of the
25
CPU cannot be effectively utilized, resulting in a loss of
the utility of circuits of the electronic musical instru
ments. The present invention has been created to elimi
nate the above/ described drawback of the prior art.
SUMMARY OF THE INVENTION
Accordingly, an object of the present invention is to
provide an interruption control apparatus of a perfor
mance information processing system having a perfor
mance information processor which can appropriately
regulate the time interval of the interruption of the
processor in such a manner that a value most appropri
ate to the capability of a CPU is obtained, to thereby
smoothly effect the performance information process
ing.
To achieve the above object, in accordance with the
present invention there is provided an interruption con
trol apparatus in a performance information processing
system having a performance information processor for
processing performance information of a piece of music
Further, the content of the tempo register is incre
mented upon each periodic interruption of a sequencer,
by an electronic musical instrument, which includes a
which is a modular component of the automatic perfor 45
tempo setting means for presetting a tempo for playing
mance system, by adding one(l) there to.
the piece of music, a ?rst time control means for regu~
FIG. 1 (A) is a graph showing the relationship be
lating the length of a time interval between successive
tween a regular interval between one interruption and
interruptions of the performance information processor,
the next, and the tempo of the performance of a piece of
according to the value of the pre-set temp; an interrup
music, when using the conventional automatic perfor
tion processing means for adjusting timing data, which
mance system. As described above, the time interval
proportional to the time interval and is used by the
between successive interruptions (hereunder referred to
performance information processor for processing the
as the time interval) is set in the apparatus in such a
performance information, by an increment at each inter
manner that it corresponds to the tempo selected by the
ruption; and a second time control means for regulating
user. Further, the tempo (i.e., the speed at which a piece
the increment in such a manner that the actual tempo of
of music is performed) is indicated by a number of beats
the performance of the piece of music under the control
per minute, and therefore, if the time interval is selected
of the tempo pre-set by the tempo setting means.
to be, for example, (l/96) times the length of a time
Namely, referring to FIG. 2, the tempo setting means
corresponding to a quarter-note, and simultaneously,
1 ?rst sets the tempo of the performance of a piece of
the tempo is selected to be as slow as 50 beats, each
music; for example, the set value of the tempo is as
corresponding to a quarter-note per minute, the time
sumed to be 150 beats, each corresponding to a quarter
interval has a relatively large value, given as follows:
60 [seconds (sec)]/(50X96)= 12.5 [milliseconds
(resec)].
Conversely, if the tempo is selected to be as fast as
400 beats, each corresponding to a quarter-note per
note per minute, and further, the time interval between
the successive interruptions of the sequencer is also
65 assumed to be (1/96) times the length of a time corre
sponding to a quarter-note. Then the first time control
means sets the appropriate value of the time interval
according to the tempo set by the tempo setting means.
3
5,266,736
4
FIG. 5 is a diagram showing the structure of a work
As seen from FIG. 1 (B) , the time interval is set to be
ing storage of the system of FIG. 3;
as follows:
FIG. 6 is a diagram showing the structure of a tempo
register employed in the system of FIG. 3;
FIG. 7 is a diagram showing the relationship between
the beats displayed at a panel of the system of FIG. 3
Here it should be noted that, if the set value of the
tempo is twice the currently set value, i.e. , 300 beats
each corresponding to a quarter-note per minute, the
and the beats internally processed in the system thereof;
FIG. 8 is a diagram showing the content stored in a
time interval is determined to have the same value 4.16
(msec) . Accordingly, the second time control means
panel map portion of the system of FIG. 3 when the
keys are operated;
400, which effects the time control by counting clock
pulses and incrementing the content of a register by a
FIG. 9 is a diagram showing the content stored in a
panel map portion of the system of FIG. 3 when the
light emitting diode (LED) lamps on the panel of the
speci?c amount, i.e. , an increment S, doubles the
amount of the increment S. For example, if the incre
ment S is 4 when the tempo is 150 beats each corre
sponding to a quarter-note, the value of the increment S
is increased to 8 when the tempo is 300 beats each corre
sponding to a quarter-note. Further, if the tempo is half
of that stated above, i.e., 75 beats each corresponding to
system thereof are turned on;
FIG. 10 is a diagram showing the content displayed
on an LCD display of the system of FIG. 3 in a basic
mode;
FIG. 11 is a diagram showing the content displayed
on an LCD display of the system of FIG. 3 in a JOB
a quarter-note, the ?rst time control means 200 also sets
the time interval as 4.16 (msec) and the second time
mode;
FIG. 12 is a diagram showing the values of parame
ters set by an incrementer of the system of FIG. 3;
FIG. 13 is a diagram showing the content of a track
memory of the system of FIG. 3;
FIG. 14 is a diagram showing the content of a sector
managing area of the track memory of the system of
control means 400 effects a time control at a half incre
ment, i.e. the increment S is set as 2.
Therefore, in the example of FIG. 1(B), the range of
the period of the interruption controlled by the ?rst
time control means 200 is limited to a constant value
ranging from 6.25 (msec) to 3.28 (resec). Namely, the
time interval between the successive interruptions be
FIG. 3;
comes the most appropriate for the capability of the
processing means 300, and thus the performance infor
mation can be smoothly processed. Note, various modi
?cations of the ?rst and second time control means 200
and 400 other than those described above with refer
ence to FIG. 1(B) can be employed in the system of the
present invention.
Further scope of applicability of the present inven
tion will become apparent from the detailed description
given hereinafter. However, it should be understood
FIG. 15 is a diagram showing the content of a con
crete example of the sector managing area of the system
of FIG. 3;
FIG. 16 is a ?owchart explaining the process of set
ting a programmable timer of the system of FIG. 3;
35
that the detailed description and speci?c examples,
while indicating preferred embodiments of the inven
tion, are given by way of illustration only, since various
changes and modi?cations within the spirit and scope of
the invention will become apparent to those skilled in
the art from this detailed description.
45
BRIEF DESCRIPTION OF THE DRAWINGS
Other features, objects and advantages of the present
invention will become apparent from the following
description of a preferred embodiment with reference
to the drawings, which are given by way of illustration
only and are thus not limitative of the present invention,
in which like reference characters designate like or
corresponding parts throughout, and in which:
FIGS. 1(A) and 1(8) are graphs showing the relation
ship between the pre-set value of the tempo of perfor
mance of a piece of music and the range of the period of
the interruption of a CPU in the case of a conventional
electronic musical instrument and in the case of the
FIG. 17 is a flowchart explaining the process of con
trolling the tempo of a performance of a piece of music
in the system of FIG. 3;
FIG. 18 is a ?owchart explaining the processing ef
fected by executing a main routine in the system of FIG.
3; and
FIG. 19 is a ?owchart explaining the input/output
processes of MIDI performance data (hereunder re
ferred to as MIDI data) used in the system of FIG. 3.
DESCRIPTION OF THE PREFERRED
EMBODIMENT
Hereinafter, a preferred embodiment of the present
invention will be described with reference to the ac
companying drawings.
FIG. 3 shows the overall construction of a Musical
Instrument Digital Interface (MIDI) sequencer used in
the present invention. Note, the MIDI speci?cation is a
known software language and hardware interconnec
tion scheme for communication between computers and
computer-controlled devices such as synthesizers. As
shown in this ?gure, the sequencer includes a data key
ing portion 11 operated by a user to set a value of the
FIG. 2 is a schematic block diagram showing the
tempo, a general purpose CPU 23 provided to appropri
ately determine both the regular time interval between
the successive interruptions thereat and the value of an
construction of an interruption control apparatus ac
increment used to increment the content of a tempo
present invention, respectively;
register according to the set value of the tempo, and a
programmable timer 24 used to store the value of a
entire construction of a performance information pro 65 count corresponding to the determined time interval
cording to the present invention;
FIG. 3 is a schematic block diagram showing the
cessing system of the present invention;
FIG. 4 is a diagram showing a data keying portion of
the system of FIG. 3;
and output interrupt signals to the CPU 23.
The elements composing the MIDI sequencer of the
present invention will now be described in detail.
5
5,266,736
1.1 CONSTRUCTION OF DATA KEYING
PORTION 11
The data keying portion 11 of this sequencer, as
shown in FIG. 4, is provided with cursor keys 12, a job
key 13, track keys 14, a tempo key 15, a start key 16, a
stop key 17, a record key 18, a fast forward key 19, a
rewind key 20, and an incrementer 21.
The cursor keys 12 are used for moving a cursor on a
6
clock pulses per quarter-note required to synchronize
the sequencer with the MIDI musical instrument; i.e.,
24 MIDI clock pulses are issued per quarter-note. A
part of the equation (I) excepting the constant a has the
value of the time interval as shown in FIG. 1(B), and
therefore as the range of the value of the tempo is
changed from the ?rst tempo range to the second tempo
range, and further to the third tempo range, and still
further to the fourth tempo range, the value of the
screen of a liquid crystal display (hereunder referred to 0 above described part is changed to i, and further to I,
as LCD) up, down, left, and right. The job key 13 is
and still further to Q. Accordingly, the time interval
provided for choosing between a basic mode of effect
between the successive interruptions is limited within a
ing the process of recording and playing back perfor
constant range covering 3.28 (msec) and 6.25 (msec)
mance data on tracks, the process including setting
timbre and loudness level parameters and so forth; and 5 Interruption signals are supplied from the programma
ble timer 24 at the time interval between the successive
a job mode of effecting various processes of editing data
interruptions corresponding to the value of the count
and interfacing with a ?oppy disk and so on, and for
set by the timer 24 to the CPU 23 by which the interrup
switching from one to the other of these modes. The
tion
processing required for controlling the tempo at
track key 14 is used for selecting one of tracks 1 to 4 in
which a piece of music is to be played, for example, the
which the performance data is stored. The tempo key
process of incrementing the content of the tempo regis
15 is provided for issuing instructions for playing a
ter 29, of the working storage 26 as shown in FIG. 5,
piece of music at a tempo recorded track. The start key
and scanning the state of the keys and the switches, is
16 is used for commencing the recording/playback of
effected.
the performance data and starting various other func
As shown in FIG. 3, MIDI performance information
tions, and the stop key 17 is used for stopping the recor
fed from the external MIDI musical instrument con
ding/playback of performance data and other functions.
nected to the sequencer by an input terminal “MIDI
The record key 18 is used for holding the recording of
the performance data on a track. The fast forward key
19 is used to fast feed recorded performance data of bars
to be performed and the rewind key 20 is used for a fast
rewind of the recorded data of the bars. If the keys 19
and 20 are both pressed down at the same time, the
process of accessing the bars of the piece of music re
turns to a top bar of recorded bars to be accessed. The
incrementer 21 is used to change the value of each of
the parameters, such as the tempo, indicated by the
cursor on the LCD display 22.
1.2 OUTLINE OF ENTIRE CONSTRUCTION OF
CIRCUIT
The value of the count corresponding to the time
interval between the successive interruptions of the
CPU 23 is set by the CPU 23 in the programmable timer
24, on the basis of the value of the tempo set by the data
keying portion 11. This value of the count is determined
as follows:
(0x60) (W><24><b)
IN” and a MIDI buffer 25 is temporarily stored in a
MIDI IN buffer of a working storage 26 and is also sent
to a track memory 32 and recorded therein. Further, the
MIDI performance information is sent to a sound
generating module 33 to generate sound. Similarly,
other performance information recorded in the track
memory 32 is transferred to a sound-generating module
33 to generate sound and is temporarily stored in a
MIDI OUT buffer 28 of the working storage 26, and is
output from an output terminal “MIDI OUT” through
the MIDI buffer 25 as MIDI performance information
to the external musical instrument. Further, the perfor
mance data recorded on the track memory 32 is saved in
a floppy disk 34 or is loaded from the ?oppy disk 34 to
the track memory 32.
When a metronomic sound oscillator 35 becomes
active, metronomic sound signals are generated having
a pattern corresponding to the content set in a metro
nomic timing register 31 of the working storage 26, and
(1)
where W indicates the number of quarter-note to be
performed per minute, and represents the tempo at
which an piece of music is to be played. Further, in the
equation (1), a indicates a constant having a value which
is determined by the standard of the programmable
timer 24 and is set such that an interruption signal hav
ing the period as shown in FIG. 1(B) is output from the
programmable timer 24, and b indicates control data for
controlling the time interval corresponding to the
tempo and indicating by how many times the length of
the time interval exceeds the period of a MIDI clock
pulse. This control data b is set as 16 where 25§W<50
(hereunder referred to as a ?rst tempo range); 8 where
50§W< 100 (hereunder referred to as a second tempo
are sent to the sound-generating module 33 to output a
metronomic sound. Incidentally, the metronomic sound
oscillator 35 may be adapted to generate metronomic
sound signals in case where a program exits via the Yes
branch from step B7 of FIG. 17, so that a metronomic
sound is output every beat. In this case, a speci?c dis
play pattern on the screen of the LCD display portion
22 and light emitting diodes (LEDs) (not shown) may
be turned on and off every beat by turning them on for
a constant time every beat. The content of the operation
effected by the data keying portion 11 is scanned by the
CPU 23 and stored in a panel map portion 30 of the
working storage 26, whereby LED lamps'36 on the
panel are turned on and various information is displayed
at the LCD display portion 22. Further, programs to be
executed by the CPU 23 to effect various processes are
stored in a memory for storing programs (hereunder
referred to as a program memory) 37, and various inter
as a third tempo range); and 2 where 200§W<40O
(hereunder referred to as a fourth tempo range). Fur 65 mediate data are similarly stored in the working storage
26. In addition, the performance information sent to the
ther, 60 in the numerator of the above equation (1)
sound-generating module 33 is read out by a local pro
indicates the number of seconds of a minute, and 24 in a
cessing unit 39, after being temporarily stored in a
denotflinator thereof indicates the number of MIDI
range); 4 where lOOéW <200 (hereunder referred to
7
5,266,736
buffer memory 38. Thereafter, the performance infor
mation is sent to a sound generator 40 whereupon musi
cal sound signals are produced and the corresponding
musical sounds are output from a speaker 41. Note,
programs to be executed by the local processing unit 39
for performing various processes are stored in a pro
gram memory 42, and various intermediate data is
stored in a working storage 43.
8
each bit. If the incrementer 21 is turned in the direction
corresponding to an incrementing of a quantity such as
the value of the tempo, “1” is set at an INCM (+) flag
bit, and conversely if the incrementer 21 is turned in the
direction corresponding to a decrementing of the quan
tity, “1” is set at an INCM (—) ?ag bit. As shown in
FIG. 9, the turned-on state (corresponding to “1”) and
the turned-off state (corresponding to “0") of LED
lamps 36 on the panel provided on the data keying
1.3 STRUCTURE OF WORKING STORAGE 26
portion 11 in a portion above the keys, are stored at
FIG. 5 shows the structure of the working storage 26
each corresponding bit. LED lamps 36 corresponding
provided in a main part of the sequencer. The tempo
to the stop key 17, the fast forward key 19, the rewind
register 29 of this working storage 26 is used to control
key 20, and the incrementer 21 are not provided
the tempo at which a piece of music is played and is
thereon. Further, the LED lamp 36 corresponding to
composed of a bar register 44, a beat register 45, a MIDI
the job key 13 is turned on in the job mode and is turned
clock register 46, and a count register 47 as shown in
off in the basic mode.
FIG. 6. The counter register 47 is a 4-bit hexadecimal
1.4 CONTENT OF LCD DISPLAY PORTION 22
counter, and each time this counter overflows, the con
tent of the MIDI clock register 46 is incremented by 1.
FIGS. 10 and 11 show the content displayed by the
The MIDI clock register 46 is a 4-bit duodecimal 20 LCD display portion 22 in the basic mode and in the job
(12-ary) counter and responds to MIDI clock pulses for
mode, respectively. In the basic mode shown in FIG.
synchronizing the MIDI musical instruments with each
10, the numeral displayed at the top left portion in the
other, and each time this counter over?ows, the content
LCD display portion 22, as viewed in this ?gure, is the
of the beat register 45 is incremented by 1. The beat
number of a piece of music being played. The system of
register 45 is a 4-bit Nary counter (here, N is a natural
FIG. 3 stores performance information for a maximum
number and satis?es a condition l§n< 15) for counting
of 8 pieces of music. The number of the piece of music
the number of beats which is used to represent the pre
to be displayed is changed by the incrementer 21 from
set value of the tempo, and each time this counter over
"1” through “8”. Further, at the same time, the name of
?ows, the content of the bar register 44 is incremented
the piece of music, the number of which is currently
by l. The bar register 44 is a 16-bit 9999-ary counter for
displayed, is also displayed. In the ?gure, the name
counting the number of bars played by the musical
“SONGZ” of a piece of music having the number 2, is
instrument.
displayed. The names of songs stored in the system are
The content of this tempo register 29 is incremented
reset by a “DS-SAVE" process, as described hereun
by the CPU 23 each time an interruption signal is output
der, in the job mode. A numeral “120" displayed to the
by the programmable timer 24 to the CPU 23. The
right of the center of the display portion and alongside
period of the interruption signal output from the pro
a quarter-note symbol, as viewed in this ?gure, indicates
grammable timer 24 does not always correspond to the
the tempo at which the piece of music is being played.
tempo set as a value shown in FIG. 1(B), because the
The tempo can be set by the incrementer 21 over a
period of the interruption signal from the timer 24 is
range of from 50 to 400. The set value of the tempo is
within the same range of 3.28 (msec) and 6.25 (msec) 40 recorded by turning on the tempo key 15 on a tempo
thereof if the value of the tempo W is in any one of the
track, as described hereinbelow. Further, the data
?rst, second, third, and fourth tempo ranges. To make
the actual speed at which the piece of music is per
“4/4" relating to the rhythm is displayed below the
the value indicating the set rhythm is converted into
data in the form of N/B indicating N eighth-notes per
bar. The Nary employed in the beat register is deter
displayed and operating the incrementer 21. At that
tempo, as viewed in the f ?gure. The rhythm can be set
formed by this embodiment correspond appropriately
by the incrementer 21, as shown in FIG. 7. Further
to the pre-set value of the tempo, the increment for 45 more, the larger-size numerals “15” displayed on the
incrementing the tempo register 29 is doubled, quadru~
right of the beat data indicate the number of bars cur
pled or further increased eightfold as the tempo is
rently recorded or played back, and can be varied from
changed from the value in the ?rst tempo range to an
“0001” to “9999”. A smaller-size numeral "3” contigu
other value in the second, third or fourth tempo range.
ous to the number of bars indicates the current beat
FIG. 7 shows the relationship between the rhythm to 50 value. For example, in the case of “4/4”, numerals 1, 2,
be selected for playing a piece of music and the corre
3 and 4 are repeatedly displayed thereon, in that order,
sponding rhythm data to be processed in the sequencer.
and in the case of “6/8", numerals 1, 2, 3, 4, 5 and 6 are
Further, in the beat register, which is a Nary counter as
repeatedly displayed thereon, in that order. When each
stated above, it is determined in accordance with this
track of the track memory 32 is in the playback mode,
?gure which number of the numeral N is to be selected
the number of bars and the number of beats are changed
from the integers from 1 to 15. As shown in this ?gure,
by moving the cursor to the positions at which they are
time, the content of the performance data recorded on
each track corresponding to the resultant number of
mined in accordance with this value of the denominator 60 bars and number of beats is displayed on the LCD dis
N of the converted data. For example, if the rhythm set
play portion 22, and at the same time, set in the sound
by a player or user is S, the converted data of the beat
generating module 33. Additionally, the ?gure “98%"
is 6/8, and as a result, the beat register 45 is constructed
displayed at the top right corner of the display portion
as a 6-ary counter.
22, indicates the amount available of the track memory
FIGS. 8 and 9 show parts of the content of the panel
32.
map portion 30 in which an “ON” (corresponding to
In the lower half of the LCD display portion 22 as
“1”) or “OFF ” (corresponding to “O”) state of each of
shown in FIG. 10, the values of various parameters T,
the keys 12-21 of the data keying portion 11 is stored at
KT, ASN, VRI, VOL, SUS, TCI-I, TVB, POR, OCT,
9
5,266,736
PIT, ENDBAR, and EXP.PEDAL are displayed.
First, the track parameter T has the values 1, 2, 3 and 4
each indicating a different track of four tracks of the
10
smooth or continuous move from one tone to another
track memory 32. The other parameters are set to each
tone. In FIG. 12, characters “—”, “l”, "2”, and “3”
indicate that the rate or speed of a portmento operation
is off or not changed, slow, ordinary, and fast, respec
of the four tracks.
tively. An octave rising or dropping parameter OCT
A channel converter parameter KT is a combination
of a key board subparameter k indicating a means for
indicates whether or not a tone is to be changed, i.e., a
tone is to be raised by an octave or dropped by an oc
inputting the performance data related to the content of
a piece of music to be played, and a tablet subparameter
t indicating a means for inputting data of a timbre, the
the incrementer 21, as shown in FIG. 12. In FIG. 10,
volume of a sound, and effects etc. The incrementer 21
selects these means from an upper keyboard represented
by “U”, a lower keyboard represented by “L”, a pedal
keyboard represented by “P”, a solo keyboard repre
tave. The value of this parameter is changed by using
characters “U”, “D”, and “—” indicate that a tone is to
be raised by one octave, that a tone is to be dropped by
one octave, and that a tone is not to be changed, respec
tively.
A pitch rising and dropping parameter PIT indicates
sented by “S”. Namely, 16 pairs of these means are 5 whether or not a scale is to be changed, i.e. , is to be
provided as shown in FIG. 12.
raised 100 percent higher or dropped 100 percent
A sound-emitting-mode assigning parameter ABN
lower. In FIG. 12, characters “U”, “D”, and “—” indi
indicates the manner of assigning sound emitting chan
cate that the scale is to be raised by lOO percent, that the
nels to sounds which are polyphony and/or monoph
scale is to be dropped by 100 percent, and that the scale
ony. In FIG. 10, capitals P and M denote polyphony
is not to be changed, respectively. The value of- this
and monophony, respectively, and the switch from
polyphony to monophony, and vice versa, is made by
using the incrementer 21.
parameter is changed by using the incrementer 21.
An end bar parameter END BAR denotes the loca
tion of data corresponding to the end bar of a piece of
A timbre parameter VOICE NAME indicates a tim
music recorded on each track.
bre assigned to the sounds of the piece of music to be 25
An expression pedal parameter EXPPEDAL indi
played. As shown in FIG. 12, 64 timbres can be selected
cates the value of data input by using an expression
by using the incrementer 21.
pedal, which is a volume controller connected to the
A variation parameter VRI indicates whether any
body of the sequencer, recorded on each track of the
variation of tones is made. The incrementer 21 switches
between an on-state (represented by “l” in FIG. 10), in
which the variation of tones is made, and an off-state
track memory 32 and output therefrom to the sound
generating module 33. When the data recorded on the
A volume parameter VOL indicates the loudness
level or volume of a sound, and is changed by the incre
track is being played back, the number of times of use of
the expression pedal recorded on the track is displayed
on the LCD display portion 22. On the other hand,
when the track is not being reproduced, the number of
times of current use of the expression pedal by a player
menter 21 over a range of 1.0 to 7.0, at intervals of 0.5.
or user is displayed thereon.
(represented by “-—” in FIG. 10), in which the variation
of tones is not made.
A sustain parameter SUS indicates the length of a
period for which a sustain level is held. As shown in
FIG. 12, ?rst, second, third and fourth levels of the
length of a period for which the sustain level is held are
provided classi?ed according to the value of this param
In the job mode, abbreviations representing the fol
lowing 16 processes to be effected are displayed on the
LCD display portion 22: DS~LOAD; DS-SAVE; DS
eter. In a ?rst level indicated by “~-” in FIG. 10, the
DELETE; DS-FORMAT; TR-ERASE; TR-COPY;
TR-DELETE; TR-INSERT; TR-MERGE; TR
EXCHNG; QUANTIZE; PUNCH-IN; VOlCE-LST;
sustain is not effected, and thus the length of the period
FILTER; SYSTEM; and EO-SET.
for which the sustain level is held is O. The other three
The process DS-LOAD is used for loading the track
levels, in which the lengths of the period for which the
45 memory with the data of a piece of music stored in the
sustain level is held are 1, 2 and 3, respectively, are
discriminated by “l”, “2” and “3” in FIG. 10, and these
levels are switched by the incrementer 21.
floppy disk '34.
A touch parameter TCH indicates whether or not the
loudness level and the timbre are to be changed on the
basis of the magnitude of the pressure of a ?nger on the
The process DS-SAVE comprises the steps of nam
ing the data of the piece of music stored in the track
memory and saving this named data to the ?oppy disk
34, and the process DS-DELETE is used for deleting
the data of a piece of music, which is no longer re
keys (or the speed of at which the keys are touched).
quired, from the ?oppy 34.
Further, the incrementer 21 switches between an on
The process DS-FORMAT is used for formatting or
state (indicated by “I” in FIG. 10) in which the loud
initializing the floppy 34.
ness level and the timbre are changed, and an off-state
The process TR-ERASEcomprises the steps of se
lecting data corresponding to a certain range of bars
stored on a speci?c track and deleting only the selected
date.
(indicated by “-” in FIG. 10) in which the loudness
level and the timbre are not changed.
A vibrato parameter TVB indicates whether or not
the extent of the vibrato (i.e., the width and frequency
The process TR-COPY comprises the steps of select
of a frequency-modulated signal) is to be changed on
ing a certain range of data of bars on a speci?ed track,
the basis of the magnitude of the pressure of a ?nger on
indicating certain locations to which data of bars is
the keys. As in the case of the TCH, the incrementer 21
stored on the same track or another track, which may
be an empty track, and copying the selected data onto
switches between an on-state (indicated by “l” in FIG.
10) of the system in which a change of the vibrato is
the indicated locations.
The process TR-DELETE comprises the steps of
effected, and an off-state (indicated by “—” in FIG. 10) 65
thereof in which such a change is not effected.
selecting a range of data of bars stored on a speci?c
track and deleting the selected range of data from that
A portamento parameter POR indicates the rate or
track.
speed of a portamento operation, i.e., the rate of a
11
5,266,736
selecting a certain range of data of bars on a speci?ed
track, indicating a certain location on the same track or
the track, and if a' second half of an area at a certain
address, i.e. , an area of bits 0-7, is “0011”, this indicates
another track, and inserting the selected data to the
indicated location.
The process TR-MERGE comprises the steps of
selecting certain ranges of data of bars on a speci?ed
that this sector is unused.
Hereinafter, the operation of this embodiment will be
described in detail with reference to FIGS. 16 through
19.
track, indicating certain locations on the same track or
another track, and merging the selected ranges of data
at the indicated locations.
The process TR-EXCHNG comprises the steps of
selecting two tracks, indicating the number of bars of
which data is stored on the selected tracks, and ex
changing the content of the data of the indicated bars
stored on the selected tracks with other data.
The process QUANTIZE comprises the steps of
indicating a note of a piece of music, selecting a range of
bars of which data is recorded or stored on a track, and
adjusting a timing of the performance of a note at a top
or initial one of the locations of data corresponding to
the selected range of bars with an appropriate timing of
the performance of the indicated note of the piece of
music.
The process PUNCH-IN is used for modifying a part
12
Further, if the number of the sector to be next read is
“00 ”, this indicates that the current sector is the end of
The process TR-INSERT comprises the steps of
10
2.1 PROCESS OF SETTING PROGRAMMABLE
TIMER 24
FIG. 16 is a ?owchart explaining a process of setting
the programmable timer 24. This process is effected by
executing one of subroutines for recording and repro
ducing data on a track which are called by a main rou
tine, as described hereinafter. First, at step Al, the CPU
23 determines the value W used to represent the tempo
set by the tempo key 15 of the data keying portion 11.
The CPU 23 then calculates the value of the count to be
set to the programmable timer 24 on the basis of the
value W, as follows: if the value W is in the ?rst tempo
range (252W < 50) , the CPU 23 calculates
(a><60)/(W><24>< 16) at step A2; if ,in the second t 0
range (502W < 100), the CPU 23 calculates
25
of data recorded on a track.
(aX60)/(W X24>< 8) at step A3; if in the second tempo
The process VOICE-LST used for displaying all of
range (100§W<200), the CPU 23 calculates (a
the timbres.
X 60)/(W X 24 X 4) at step A4; and if in the fourth tempo
The process FILTER comprises the steps of indicat
range (200§W<400) , the CPU 23 calculates
ing speci?c MIDI performance data of a piece of music
(aX60)/(W><24><2) at step A5.
stored on each track and deleting the indicated data
As described above, the value of the part of each of
when recording the piece of music or suppressing the
these equations excepting the constant a is equal to that
emission of sounds corresponding to the indicated data
of the time interval between the successive interrup
when reperforming the piece of music.
tions, as shown in FIG. 1 (B). Therefore, if the value W
The process SYSTEM is used for setting parameters
35 is doubled, quadrupled or brought to eight f old value
which are common to all of the tracks.
thereof , i. e. , the value W in the ?rst tempo range is
The process EO-SET is used for performing the ini
changed to that in the second, third or fourth tempo
tialization of the sequencer for setting the timbres and
range, the time interval between the successive inter
the loudness level by using external MIDI musical in
struments connected thereto.
l.5 CONSTRUCTION OF TRACK MEMORY 32
FIGS. 13 through 15 show the content stored in the
track memory 32 in which 5 tracks, i.e., tracks 0, 1, 2
and 3 (corresponding to Nos., 1, 2, 3 and 4 of tracks
ruptions is changed to a half, a fourth or an eighth
thereof, and thus the value of the time interval between
the successive interruptions (hereunder referred to as
the time interval between the interruptions) is limited to
a constant of from covering 3.28 (msec) to 6.25 (Msec).
Accordingly, the time interval of the interruptions of
displayed at the LCD display portion 22) and the tempo 45 the CPU 23 cannot exceed the performance or capabil
track are formed, and the sectors of the number corre
ity of the CPU 23, and further, the time interval be
sponding to the quantity of each track used for record
ing a piece of music.
tween the interruptions of the CPU 23 cannot be so
small that the capability of the CPU 23 cannot be effec
tively utilized and thus a loss of the utility of the circuits
of the system occurs. Therefore, in accordance with the
present invention, the value of the time interval be
In FIG. 13, shaded parts of sectors are empty por
tions in which no data or information is stored.
FIG. 14 shows the format of a sector managing area
for which a storage region of 16-bit 4011 addresses or
locations (hereunder, the character Hadded to a number
means that the number is a hexadecimal number) is
tween the interruptions of the CPU .23 can be made a
piece of music to be played and that of a track are stored
increment S is set as l at step A6; if in the second tempo
range (50§W< 100), the increment S is set as 2 at step
value most appropriate to the capability of the CPU 23,
and thus, the performance information can be smoothly
allocated. An area located at address 0 is used for inter 55 processed in the system.
Thereafter, the CPU 23 determines the value of the
facing with the ?oppy disk 34. Further, the number of a
increment S used in the tempo register 29, as follows: if
sector next to a current sector, data for indicating
the value W is in the ?rst tempo range (25 éW < 50), the
whether or not a sector is to be used, the number of a
at areas located at larger addresses 1 . . . .
Next, FIG. 15 shows an example of the content of the
sector managing area corresponding to the patterns of
tracks shown in FIG. 13. The sector “01”” at the ad
dress 1 includes a part of bits 8 to 15 indicating that the
A7; if in the third tempo range (100§W<200) the in
crement S is set as 4 at step A8; and if in the fourth
tempo range (200§W<400), the increment S is set as 8
at step A9. Further, the thus determined value of the
number of a sector to be next read is “02H”, a bit 7 65 increment S is temporarily stored in the working stor
age 26 at step A6, A7, A8, or A9, and the program then
indicating that the sector “01H” is used, and another bit
proceeds to step A10 at which the value of the count for
6 indicating that number of a track to which the sector
determining the time interval between the interruptions
“01”” belongs is 0. This is similar to the other tracks.
13
5,266,736
as calculated at step A2, A3, A4, or A5 is set in the
programmable timer 24.
2.2 PROCESS OF CONTROLLING TEMPO OF
PLAYING PIECE OF MUSIC
FIG. 17 is a ?owchart explaining the process of con
14
CPU 23 scans the keys, which are provided in a ?rst line
and indicated at step C1, of the data keying portion 11
at step C2 and determines whether or not there is any
change in the status of the scanned keys by comparing
the current statuses with those stored in the panel map
portion 30, at step C3. If there is any change at step C4,
trolling the tempo of playing a piece of music. This
the CPU 23 determines whether or not the change is
process is carried out on the basis of interruption signals
acceptable. If acceptable, the data of the state of the
display of the LED lamps 36 is updated and further data
output by the programmable timer 24, by employing the
value of the time interval between the interruptions
corresponding to this updating is displayed by the LED
corresponding to the set value of the tempo as shown in
lamps 36 at the panel at step C5. Further, at step C6, the
processes of executing the subroutines for recording
data on a track, reproducing data from the track, and
displaying data on the LCD display portion 22 are ef
fected, and thereafter, the processes of scanning the
FIG. 1(B). Namely, the CPU 23 adds the value of the
increment S obtained at step A6, A7, A8, or A9 of the
above described process of setting the programmable
timer 24 to data stored in the count register 47 of the
tempo register 29 provided in the working storage 26 at
step B1.
keys provided in the next line and updating the display
caused by the interruption signal from the programma
the keys of the data keying portion 11.
Next, the program enters step C9, whereupon the
by the LED lamps 36 on the panel are similarly ef
Thereby, although the value of the count set in the
fected. These processes are repeatedly effected with
programmable timer 24 is limited within the same range
respect to the keys provided on each of the remaining
independently from the set value of the tempo W, the 20 lines of the portion 11 until it is veri?ed at step C8 that
time interval between the interruptions to the CPU 23
all of these processes are completed for all of the lines of
ble timer 24, and as a result, the value of the count in the
tempo register 29, appropriately corresponds to the set
CPU 23 determines whether the system is now in the
value of the tempo W because the value of the incre 25 normal or fundamental mode. If no, the CPU 23 effects
ment S is appropriately selected from the values 1, 2, 4,
the processing corresponding to the job mode at step
and 8 as described above.
C10, and upon completion of that processing, the pro
Next, the program enters step B2, at which it is deter
gram returns to step C1. On the other hand, if the sys
tem is in the basic mode, it is determined at step C11
47 has reached 16. If the content of the register 47 has 30 whether or not the MIDI IN buffer 27 of the working
reached 16, the count register 47 is reset as “00 H” at
storage 26 is empty. Further, at step C12, MIDI perfor
step B3 and the value of the MIDI clock register 46 is
mance data is input to the MIDI IN buffer 27 from the
transferred to the MIDI OUT buffer 28. Thereafter, at
external MIDI musical instrument connected thereto,
step B5, it is determined whether or not the LED lamp
and if the MIDI IN buffer 27 is not empty, the perfor
36 corresponding to the starting key is turned on, based 35 mance data is read out of the MIDI IN buffer 27. There
on the content of the panel map portion 30. If the lamp
after, at step C13, it is determined whether or not the
36 is turned on, the MIDI clock register 46 is incre
system is in a recording mode of recording data onto a
mented by l at step B6. Then, at step B7, it is deter
track. If the system is in the recording mode, the CPU
mined whether or not the content of the count register
mined whether or not the content of the MIDI clock
register 46 has reached 12. If the content has reached 12
the MIDI clock register 46 is cleared at step B8 and the
beat register 45 is incremented by l at step B9. The
23 executes a subroutine for recording data on a track,
to record the performance data on a track of the track
memory 32 in step C14, and further, the performance
data is sent to the sound generator 40 to generate the
sound at step C15. In this case, the value of the count in
program then advances to step B10 at which the CPU
23 determines whether or not the value of the beat
the temp register 29 at that time is included in the per
register 45 exceeds the predetermined maximum num 45 formance data and is stored. Such a value of the count
ber MB of the beats; if no, the bar register 44 is incre
mented by l at step B11. Then, at step B12, it is deter
is used in a track playback process composed of steps
C21 and C22, which will be described hereinbelow. The
program then enters step C16, whereupon the content
mined whether or not the content of the bar register 44
exceeds “10000”; if yes, the program advances to step
B13 at which the performance of a piece of music is
stopped, and this stoppage, is displayed at the LCD
of the data displayed at the LCD displaying portion 22
is compared with the content of the data stored in the
panel map portion 30, to determine whether there is any
display portion 22 at step B14. Thereafter, at step B15,
the processes of executing the subroutines for recording
operation of the keys of the data keying portion 11. If
change in the content of the data due to a change in the
data on a track, reproducing data from the track, dis
there is any change, the subroutine for effecting a dis
playing data from the track, and displaying data on the 55 play at the LCD display portion 22 is executed in step
C17.
LCD display portion 22 are effected. Then, at step B16,
it is determined whether or not the metronomic sound
The program than advances to step C18, where it is
oscillator 35 is turned on. If the oscillator 35 is turned
determined whether or not the system is in the playback
on, a metronomic signal representing a pattern corre
mode. If the system is in the playback mode, a track
sponding to the content of the metronomic timing regis
from which the data is being played back is searched at
ter 31 is produced, and the corresponding sound is then
steps C19, C20, C29, and C30. If such a track exists, it is
output at step B17.
determined at step C21, by comparing the current time
indicated by the tempo register 29 of the working stor
2.3 OUTLINE OF PROCESSING BY OVERALL
age 26 with the value of the count or address corre
SYSTEM
65 sponding to each unit of the recorded performance data
FIG. 18 is a ?owchart explaining the main routine.
in the track, whether there is any performance data to
As shown in FIG. 18, the CPU 23 commences the pro
be read out from the track at the time indicated by the
cessing after the power supply is switched on, i.e., the
tempo register 29. If such performance data exists, data
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertisement