Keyboard musical instrument and information processing system incorporated therein for discriminating different kinds of key motion

Information

  • Patent Grant
  • 6297437
  • Patent Number
    6,297,437
  • Date Filed
    Monday, September 20, 1999
    25 years ago
  • Date Issued
    Tuesday, October 2, 2001
    23 years ago
Abstract
A keyboard musical instrument includes an acoustic piano for generating acoustic tones, a silent system for rebounding the hammer assemblies between the escape from the key action mechanisms and strikes against strings and automatic playing system for actuating the key action mechanisms without fingering, and the automatic playing system generates electronic tones on the basis of the key motions monitored by associated key sensors, wherein the space between the rest position and the end position is divided into plural sections, and a controller calculates a key velocity in each of the plural sections so as to exactly determine the key motion, thereby improving the fidelity of the electronic sounds to the key motion.
Description




FIELD OF THE INVENTION




This invention relates to a keyboard musical instrument and, more particularly, to a keyboard musical instrument with an information processing system for processing pieces of data representative of key motions.




DESCRIPTION OF THE RELATED ART




Various kinds of keyboard musical instrument are sold in the market. An acoustic piano, an electric keyboard and a compromise therebetween are typical examples of the keyboard musical instrument. A player gives his instructions for a piece of music to the acoustic piano through the black keys and the white keys, and the strings generate the acoustic sounds upon strikes with the hammers. Thus, player's instructions are mechanically transferred to the strings. A player also gives his instructions for a piece of music to the electric keyboard through the black keys and the white keys. However, the black keys and the white keys are not mechanically connected to a sound system such as a speaker system. The electric keyboard has an array of key switches. The key switches interpret the player's instructions, and convert the instructions to electric signals.




An automatic player piano is a kind of compromise. The automatic player piano is an acoustic piano equipped with key sensors and solenoid-operated key actuators. While a player is fingering a piece of music on the keyboard, the action mechanisms drive the hammers for rotation so as to strike the strings, and the strings vibrate for generating the acoustic sounds. The key sensors monitor the key motions, and interpret player's instructions for the piece of music. The key sensors converts the player's instructions to electric signals, and the player's instructions are electrically or magnetically stored in a suitable information storage.




Another example of the compromise is known as “silent piano”. The silent piano is disclosed in Japanese Patent Publication of Unexamined Application No. 9-54584. The silent piano is an acoustic piano equipped with a hammer stopper and an electronic sound generating system. If the hammer stopper is outside of the hammer's trajectories, the action mechanisms drive the hammers for rotation, and the hammers strike the strings for generating the acoustic sounds. When the player changes the hammer stopper into the trajectories of the hammers, the hammers rebound on the hammer stopper before the strike at the strings, and any acoustic sound is generated. However, the key sensors monitor the key motions. The key sensors interpret the player's instructions, and convert them to electric signals. The electric signals are supplied to a tone generator. The tone generator tailors an audio signal, and a suitable sound system such as a headphone generates electronic sounds from the audio signal. Thus, the key sensors are indispensable in the compromise and the electric keyboard.





FIG. 1

illustrates detecting points of a key sensor provided on a trajectory of a black/white key incorporated in the silent piano disclosed in the Japanese Patent Publication of Unexamined Application. “REST” and “END” are indicative of a rest position and an end position. The key is staying at the rest position without any force exerted thereon. When a player depresses the key, the key starts a motion at the rest position. The player's finger sinks together with the key, and the key does not go further. Then, the key reaches the end position.




A player puts his finger on the black/white key, and pushes the black/white key from the rest position to the end position. The black/white key is not spaced from the finger, and stops at the end position. The key motion without separation from the finger is hereinbelow referred to as “ordinary key motion”. The black/white key is moved along a trajectory TR


1


. The trajectory TR


1


is approximated to a parabola.




A key sensor is provided for the black/white key, and varies a key position signal varied at detecting points K


1


, K


2


, K


3


and K


4


. The key position signal is supplied to a controller, and the controller memorizes arrival times at the detecting points K


1


, K


2


, K


3


and K


4


. The controller averages the key velocity in the key motion between the detecting point K


2


and the detecting point K


4


, and determines the key velocity on the basis of the averaged key motion. The key motion between the detecting point K


1


and the detecting point K


2


is not taken into account, because it does not affect the hammer velocity at the strike.





FIG. 2

illustrates another kind of key motion, which the Japanese Patent Publication of Unexamined Application did not take into account. If a player brings his finger down on the black/white key, the finger strongly hits the black/white key, and the black/white key starts a free motion toward the end position. This means that the black/white key is separated from the finger after the hit. The black/white key is moved on a trajectory TR


2


, and the trajectory TR


2


has a step A


1


between two straight portions TR


2




a


and TR


2




b


. The step A


1


is due to viscoelasticity of the felt and the cloth forming parts of the associated action mechanism. The trajectory TR


2


is representative of the key motion initiated with the finger brought down on the black/white key, and the key motion is hereinbelow referred to as “abrupt key motion”.




Even if a black/white key starts the abrupt key motion, the controller averages the abrupt key motion between the detecting point K


2


and the detecting point K


4


, and stores the key velocity of the averaged key motion as the key velocity corresponding to the final hammer velocity. However, the key velocity calculated from the averaged key motion is smaller than the key velocity proportional to the final hammer velocity. As a result, the electronic sound is smaller in loudness than an electronic sound to be produced. Thus, the prior art silent piano can not exactly control the loudness of the electronic sound in the abrupt key motion.




If the key sensor and the controller are incorporated in the prior art automatic player piano, the prior art automatic player piano does not exactly reproduce the acoustic sound in the playback, because the solenoid-operated key actuator does not hit the black/white key, but pushes it.




SUMMARY OF THE INVENTION




It is therefore an important object of the present invention to provide a keyboard musical instrument, which exactly controls the loudness of a sound for the abrupt key motion.




It is also an important object of the present invention to provide an information processing system, which distinguishes different kinds of key motion.




In accordance with one aspect of the present invention, there is provided a keyboard musical instrument comprising manipulators movable through a space divided into sections between respective rest positions of the manipulators and respective end positions of the manipulators, sensors respectively provided for the manipulators and measuring trajectories of the associated manipulators in the sections, a controller connected to the sensors and calculating a section velocity of each of the manipulators in each of the sections so as to determine the trajectory of each manipulator to be categorized in one of kinds of the motions of the manipulators on the basis of the values of the section velocity respectively calculated in the sections and a tone generator connected to the controller and regulating an attribute of a sound to be produced in response to each manipulator to an appropriate value depending upon the one of the kinds of the trajectories.




In accordance with another aspect of the present invention, there is provided an information processing system for categorizing a motion of a manipulator into one of predetermined kinds of motions comprising a data storage means for storing first pieces of data information representative of values of a section velocity of manipulators of a musical instrument measured in sections of a space between rest positions of the manipulators and end positions of the manipulators and a means for determining a motion of each of the manipulators to be categorized in one of kinds of motions on the basis of variation of the values of the section velocity.











BRIEF DESCRIPTION OF THE DRAWINGS




The features and advantages of the keyboard musical instrument and the information processing system will be more clearly understood from the following description taken in conjunction with the accompanying drawings in which:





FIG. 1

is a graph showing the detecting points of the key sensor on the trajectory of the black/white key incorporated in the prior art silent piano;





FIG. 2

is a graph showing the trajectory of the black/white key in the abrupt key motion;





FIG. 3

is a side view showing the structure of an automatic player piano equipped with a silencer according to the present invention;





Fig. 4

is a side view showing a key action mechanism incorporated in the automatic player piano;





FIG. 5

is a block diagram showing the arrangement of components of an automatic playing system;





FIG. 6

is a perspective view showing a key sensor incorporated in the automatic player piano;





FIG. 7

is a graph showing relation between a key position and the amount of light at a light-receiving sensor head;





FIG. 8

is a graph showing a trajectory of a key;





FIG. 9

is a view showing a key table defined in a random access memory for all the keys;





FIG. 10A

is a view showing a tone generation table defined in the random access memory;





FIG. 10B

is a view showing a time control table for channels across the key sensors;





FIG. 11

is a block diagram showing the conversion from a key velocity to the velocity defined in the MIDI standards;





FIG. 12

is a timing chart showing the relation between a main routine and two interruption subroutines;





FIG. 13

is a flowchart showing a subroutine for a timer and counters;





FIG. 14

is a view showing internal register array incorporated in a central processing unit;





FIG. 15

is a flowchart showing a subroutine for data acquisition;





FIG. 16

is a graph showing variation of key state together with a black/white key;





FIG. 17

is a graph showing another kind of key state given to an extremely high-speed key motion;





FIG. 18

is a flowchart showing a main routine;





FIG. 19

is a flowchart showing a subroutine for “UPPER”;





FIG. 20

is a flowchart showing a subroutine for “TOUCH-A”;





FIG. 21

is a flowchart showing a subroutine for “COUNT-DOWN”;





FIG. 22

is a flowchart showing a subroutine for “SOUND”;





FIG. 23

is a flowchart showing a subroutine for “RELEASE”;





FIG. 24

is a flowchart showing a subroutine for “HOLD”;





FIG. 25

is a flowchart showing a subroutine for “TOUCH-B”;





FIG. 26

is a flowchart showing a subroutine for “TIMEOVER”;





FIG. 27

is a diagram showing a transfer of control between the subroutines;





FIG. 28

is a view showing detecting points defined in another keyboard musical instrument according to the present invention; and





FIG. 29

is a graph showing the relation between a part of an envelop of an electronic sound generated in the keyboard musical instrument and lapse of time.











DESCRIPTION OF THE PREFERRED EMBODIMENT




An automatic player piano with a silencer embodying the present invention largely comprises an acoustic upright piano


1


, a silent system


20


and an automatic playing system


30


. A player fingers a piece of music on the acoustic upright piano


1


, and the acoustic upright piano


1


generates acoustic sounds for the piece of music. The silent system


20


permits the player to finger the piece of music without the acoustic sounds, and generates electronic sounds in response to the fingering. The automatic playing system


30


records the performance, and reproduces the performance without the fingering of the player. In the following description, word “front” is indicative of a relative position closer to a player than a “rear” position, and the direction between the front position and the rear position is modified by using word “longitudinal”. The lateral direction is perpendicular to the longitudinal direction.




Acoustic Upright Piano




The acoustic upright piano


1


includes a keyboard


3


. The keyboard


3


is placed on the key bed


4




a


, and includes black keys


3




a


and white keys


3




b


, a front rail


3




c


, a balance rail


3




d


and a back rail


3




e


. The front rail


3




c


, the balance rail


3




d


and the back rail


3




e


laterally extend in parallel on the key bed


4




a


, and are spaced from one another in the longitudinal direction. The black keys


3




a


and the white keys


3




b


are laid out on the well-known pattern, and are independently turnable around the balance rail


3




d


. Notes of a scale are assigned to the black/white keys


3




a


/


3




b


. Balance pins


3




f


keep the black keys


3




a


and the white keys


3




b


at the right positions. In this instance, eighty-eight black/white keys


3




a


/


3




b


are incorporated in the keyboard


3


, and key numbers “1”, “2”, . . . and “88” are assigned to the black/white keys


3




a


/


3




b


, respectively. For this reason, the notes of the scale are specified by using the key numbers.




While any force is not exerted on the black keys


3




a


and the white keys


3




b


, the black keys


3




a


and the white keys


3




b


sink their rear ends on the back rail cloth adhered to the back rail


3




e


, and are staying in the rest positions, respectively. When a player depresses the black/white keys


3




a


/


3




b


, the black/white keys


3




a


/


3




b


are driven for rotation in the counter clockwise direction, and reach end positions, respectively. Capstan screws


3




g


project from the rear end portions of the black/white keys


3




a


/


3




b.






The acoustic upright piano


1


further comprises key action mechanisms


5


, hammers


6


and sets of strings


7


. The key action mechanisms


5


are associated with the black/white keys


3




a


/


3




b


, respectively, and the capstan screws 3 g transfer the key motions to the key action mechanisms


5


, respectively. The hammers


6


are connected to the key action mechanisms


6


, respectively, and are driven for rotation. The hammer


6


strikes the associated set of strings


7


, and rebounds thereon. The key action mechanisms


5


give the unique key touch to the fingers of the player as will be described hereinlater in detail.





FIG. 4

illustrates the key action mechanism


5


. The key action mechanism


5


is broken down into a whippen assembly


5




a


, a jack


5




b


, a butt assembly


5




c


, a regulating button assembly


5




d


and a back-check




5




e. The hammer


6


is fixed to the butt assembly


5




c


. A center rail


4




b


laterally extend over the keyboard


3


, and action brackets (not shown) support the center rail


4




b


over the key bed


4




a


. The whippen assembly


5




a


and the butt assembly


5




c


are turnably supported by the center rail


4




b


, and the regulating button assembly


5




d


is fixed to the center rail


4




b


. The jack


5




b


and the back-check


5




e


are mounted on the whippen assembly


5




a


, and turn together with the whippen assembly


5




a


. The jack


5




b


is rotatably supported by the whippen assembly, and drives the butt assembly


5




c


for rotation. When the jack


5




b


is brought into contact with the regulating button assembly


5




d


during the rotation together with the whippen assembly


5




a


, the reaction is exerted on the jack


5




b


, and causes the jack


5




b


to turn so as to drive the butt assembly


5




c


for rotation. Thus, the jack


5




b


escapes from the butt assembly


5




c


, and gives the unique key touch to the finger of the player. The butt assembly


5




c


is linked with the back-check


5




e,


and prevents the set of strings


7


from double strike with the hammer


6


.




The whippen assembly


5




a


has a whippen flange


5




f


, a whippen


5




g


and a jack flange


5




h


. The whippen flange


5




f


is fixed to the rear surface of the center rail


4




b


, and downwardly projects therefrom. The rear end portion of the whippen


5




g


is turnably connected to the whippen flange


5




f


, and the capstan screw


5




g


is held in contact with the lower surface of the whippen


5




g


. The jack flange


5




h


is fixed to the intermediate portion of the whippen


5




f


, and upwardly projects therefrom. While the associated black/white key


3




a


/


3




b


is staying in the rest position, the capstan screw 3 g keeps the whippen


5




g


substantially horizontal. The whippen


5




g


is rotated in the clockwise direction around the whippen flange


5




f


during the upward motion of the capstan screw 3 g and, accordingly, the motion of the associated key


3




a


/


3




b


from the rest position toward the end position. The self-weight permits the whippen assembly


5




a


to turn around the whippen flange


5




f


in the counter clockwise direction after the release of the black/white key


3




a


/


3




b.






The jack


5




b


is turnably supported by the jack flange


5




h


, and a jack spring


5




i


urges the jack


5




b


to turn in the clockwise direction. The jack


5




b


is like the mirror writing of an L-letter. The jack


5




b


has a toe


5




j


at the leading end of the short portion, and is held in contact with the butt assembly


5




c


at the leading end of the long portion thereof. The regulating button assembly


5




d


is located over the toe


5




j


. When the toe


5




j


is brought into contact with the regulating button assembly


5




d


, the reaction causes the jack


5




b


to turn around the jack flange


5




h


, and the jack


5




b


escapes from the butt assembly


5




c


. The jack


5




b


kicks the butt assembly


5




c


at the escape, and the butt assembly


5




c


and the hammer


6


start the free rotation toward the associated set of strings


7


.




The butt assembly


5




c


has a butt


5




k


, a butt flange 5m, a catcher


5




n


, a butt spring


5




p


and a butt skin


5




q


. The hammer


6


and the catcher


5




n


are fixed to the butt


13




k


, and project in different directions. The butt


5




k


is turnably connected to the butt flange


5




m


, and the butt flange


5




m


is fixed to the front surface of the center rail


4




b


. The butt flange


5




m


keeps the butt


5




k


over the jack


5




b


, and the butt skin


5




q


is attached to a lower surface of the butt


5




k


. While the black/white key


3




a


/


3




b


is in the rest position, the jack


5




b


is held in contact with the butt skin


5




q


. The toe


5




j


is brought into contact with the regulating button assembly


5




d


during the key motion from the rest position toward the end portion. Then, the jack


5




b


quickly turns around the jack flange


5




h


, and gives rise free rotation of the butt


5




k


and, accordingly, the hammer


6


in the clockwise direction around the butt flange


5




m


.




While the capstan screw


3




g


is pushing the whippen


5




g


, the load against the key motion is the total self-weight of the whippen assembly


5




a


, the jack


5




b


, the butt assembly


5




c


and the hammer


6


, and the player feels the load at his finger heavy. When the toe


5




j


is brought into contact with the regulating button mechanism


5




d


, the reaction makes the jack


5




b


turn in the counter clockwise direction around the jack flange


5




h


, and the jack


5




b


escapes from the butt


5




k


. The contact between the tow


5




j


and the regulating button assembly


5




c


gives rise to increase the load at the player's finger, and the load is suddenly eliminated from the player's finger at the escape. Thus, the key action mechanism


5


generates the unique key touch.




The regulating button assembly


5




d


has a regulating button


5




r


, a regulating rail


5




s


, a folk screw


5




t


and a screw


5




u


. The folk screw


5




t


is fixed to the front surface of the center rail


4




b


, and supports the regulating rail


5




s


over the toe


5




j


. The regulating rail


5




s


laterally extends over the keyboard


3


. The regulating button


5




r


is fixed to the screw


5




u


, and the screw


5




u


is hung from the regulating rail


5




s


. The distance between the regulating rail


5




s


and the regulating button


5




r


is regulable, and, accordingly, the gap between the toe


5




j


and the regulating button


5




r


is also regulable. This means that a tuner can change the timing at which the toe


5




j


is brought into contact with the regulating button


5




r


. Thus, the escape timing is varied by regulating the gap.




The back-check


5




e


has a back check block


5




v


supported by a back check wire


5




w


over the front end portion of the whippen


5




g


. The back check block


5




v


intersects the trajectory of the catcher


5




n


, and a bridle tape


5




x


is connected between the catcher


5




n


and a bridle wire


5




y


. The bridge wire


5




y


projects from the front end portion of the whippen


5




g


. After the escape, the butt


5




k


, the catcher


5




n


and the hammer


6


are moved toward the set of strings


7


, and the hammer


6


rebounds on the set of strings


7


. Then, the butt,


5




k


, the catcher


5




n


and the hammer


6


starts to turn in the counter clockwise direction around the butt flange


5




m


. As described hereinbefore, the back check block


5




v


is linked with the catcher


5




n


by means of the bridle tape


5




x


, and the back check block


5




v


is on the trajectory of the catcher


5




n


. For this reason, the back check block


5




v


receives the catcher


5




n


. When the player releases the black/ white key


3




a


/


3




b


, and the whippen


5




g


slightly turns in the counter clockwise direction around the whippen flange


5




f


. Then, the jack


5




b


slides into the lower space of the butt


5




k


. Thus, the bridle tape


5




x


links the whippen assembly


5




a


with the butt assembly


5




c


, and prevents the set of strings


7


from double strike.




A hammer shank


6




a


, a hammer wood


6




b


and a hammer felt


6




c


form in combination each of the hammers


6


. The hammer shank


6




a


is fixed to the butt


5




k


, and projects therefrom. The hammer wood


6




b


is fixed to the leading end of the hammer shank


6




a


, and supports the hammer top felt


6




c


. A hammer rail


4




c


laterally extends over the key action mechanisms


5


, and a hammer rail cloth


4




d


is fixed to the rear surface of the hammer rail


4




c


. The hammer shank


6




a


is resting on the hammer rail cloth


4




d


before depressing the associated black/white key


3




a


/


3




b


. When the player depresses the associated black/ white key


3




a


/


3




b


, the hammer


6


turns together with the butt


5




k


as described hereinbefore. Upon striking the set of strings


7


, the hammer


6


rebounds, and returns toward the hammer rail clothe


4




d


. Although the back-check


5




v


receives the catcher


5




n


, the hammer shank


6




a


is softly landing on the hammer rail cloth


4




d


thereafter.




The acoustic piano


1


further comprises damper mechanisms


8


. The damper mechanisms


8


are respectively associated with the sets of strings


7


, and are linked with the key action mechanisms


5


, respectively. The damper mechanisms


8


are spaced from the sets of strings


7


before the strike with the hammers


6


, and are brought into contact with the sets of strings for damping the vibrations of the strings.




Each of the damper mechanisms


8


includes a damper flange


8




a


, a damper spoon


8




b


, a damper lever


8




c


, a damper wire


8




d


, a damper head


8




e


and a damper spring


8




f


. The damper flange


8




a


is fixed to an upper surface of the center rail


4




b


, and turnably supports the damper lever


8




c


. The damper spoon


8




b


is fixed to the rear end portion of the whippen


5




g


, and projects therefrom. The damper wire


8




d


is fixed to the damper lever


8




c


, and the damper head


8




e


is fixed to the leading end of the damper wire


8




d


. The damper spring


8




f


urges the damper lever


8




c


to turn in the clockwise direction at all times. As a result, the damper lever


8




c


is held in contact with the damper spoon


8




b


at the lower end thereof, and the damper head


8




e


is pressed against the set of strings


7


.




While the player is depressing the black/white key


3




a


/


3




b


from the rest position toward the end position, the capstan screw


3




g


upwardly pushes the whippen


5




g


, and the whippen


5




g


turns in the clockwise direction. Then, the damper spoon


8




b


declines, and pushes the lower portion of the damper lever


8




c


against the elastic force of the damper spring


8




f


. The damper lever


8




c


turns around the damper flange


8




a


in the counter clockwise direction, and the damper head


8




e


is spaced from the set of strings


7


. The whippen


5




g


spaces the damper head


8




e


before the escape, and the set of strings


7


becomes ready for vibration.




When the player releases the depressed key


3




a


/


3




b


, the whippen 5 g turns in the counter clockwise direction due to the self-weight, and the damper spring


8




f


makes the damper lever


8




c


turn in the clockwise direction. The damper head


8




e


is brought into contact with the set of vibrating strings


7


on the way to the rest position of the black/white key


3




a


/


3




b


, and takes up the vibrations.




Thus, the acoustic upright piano


1


generates the acoustic sounds during the fingering a piece of music, and the behavior is similar to a standard upright piano. Although the acoustic upright piano is equipped with pedal mechanisms such as a damper pedal mechanism and a soft pedal mechanism, they are not shown in

FIGS. 3 and 4

for the sake of simplicity.




Silent System




Description is hereinbelow made on the silent system


20


with concurrent reference to

FIGS. 3

,


4


and


5


of the drawings. The silent system


20


includes a catcher stopper


20




a


, an actuator


20




b


, an angle detector


20




c


, key sensors


90


, a controller


100


, a manipulating panel


110


and a sound system


20




d


such as a speaker system


20




e


and a headphone


20




f


. The key sensors


90


, the controller


100


and the manipulating panel


110


are shared between the silent system


20


and the automatic playing system


30


. A push button switch


110




a


is incorporated in the manipulating panel


110


.




The key sensor


90


is implemented by the combination of a shutter plate


90




a


, a light-emitting sensor head


90




b


, a light-receiving sensor head


90




c


, a light-emitting diode


90




d


, a photo-detecting diode


90




e


and optical fibers


90




f


/


90




g


. The shutter plate


90




a


is attached to the lower surface of the black/white key


3




a


/


3




b


, and the light-emitting sensor head


90




b


and the light-receiving sensor head


90




c


are accommodated in a sensor case


90




h


mounted on the key bed


4




a


as shown in FIG.


3


. The light-emitting sensor head


90




b


is spaced from the light-receiving sensor head


90




c


, and the shutter plate


90




a


is moved into and out of the gap between the light-emitting, sensor head


90




b


and the light-receiving sensor head


90




c


. The key sensor


90


will be hereinlater described in detail.




The catcher stopper


20




a


has a shaft


20




g


, plural brackets


20




h


, cushion members


20




j


and protective layers


20




k


. The shaft


20




g


is rotatably supported by the action brackets (not shown), and laterally extends over the catchers


5




n


. The brackets


20




h


are fixed to the shaft


20




g


at intervals, and the cushion members


20




j


are respectively fixed to the brackets


20




h


, respectively. The cushion members


20




j


are respectively covered with the protective layers


20




k


. The actuator


20




b


is connected to the shaft


20




g


, and rotates the catcher stopper


20




a


between a free position FP and a block position BP. The catcher stopper


20




a


in the free position FP is expressed by real lines, and is outside the trajectories of the catchers


5




n


. On the other hand, the catcher stopper


20




a


in the block position BP is expressed by dots-and-dash lines, and the cushion members


20




j


covered with the protective layers


20




k


are on the trajectories of the catchers


5




n


. The angle detector


20




c


is provided in association with the actuator


20




a


or the catcher stopper


20




a


, and generates a stopper position signal S


1


indicative of a current angular position of the catcher stopper


20




a


to the controller


100


.




The catcher stopper


20




a


is assumed to be in the free position FP. When the player pushes the push button switch


110




a


, the controller


100


energizes the actuator


20




b


, and the actuator


20




b


rotates the shaft


20




g


in the counter clockwise direction. The angle detector


20




c


monitors the rotation, and varies the stopper position signal S


1


. The controller


100


checks the stopper position signal S


1


to see whether the catcher stopper


20




a


reaches the block position BP. When the current angular position is consistent with the block position BP, the controller


100


removes the electric power from the actuator


20




b


, and the catcher stopper


20




a


stops at the block position BP.




After the change of the catcher stopper


20




a


to the block position, the player is assumed to start the fingering on the keyboard


3


. The black/white keys


3




a


/


3




b


are selectively depressed, and are, thereafter, released. When the player depresses a black/white key


3




a


/


3




b,


the capstan screw


3




g


pushes the whippen


5




g


, and rotates the whippen


5




g


around the whippen flange


5




f


in the clockwise direction. The jack


5




b


is rotated together with the whippen


5




g


, and the toe


5




j


is getting closer and closer to the regulating button


5




r


. The jack


5




b


pushes the butt


5




k


, and slowly rotates the butt


5




k


and the hammer


6


around the butt flange


5




m


in the clockwise direction. When the toe


5




j


is brought into contact with the regulating button


5




r


, the jack


5




b


turns around the jack flange


5




h


in the counter clockwise direction, and escapes from the butt


5




k


. The butt


5




k


and the hammer


6


start the free rotation at the escape, and the player feels the key touch usual. However, the catcher


5




n


is brought into contact with the catcher stopper


2




a


before the hammer top felt


6




c


strikes the set of strings


7


. The catcher


5




n


rebounds on the catcher stopper


20




a


, and any acoustic sound is generated through the vibrations of the set of strings


7


. The key sensor


90


monitors the key motion, and the controller


100


specifies the depressed black/white key


3




a


/


3




b


. The controller


100


discriminates the kinds of key motion, and accurately estimates the final hammer velocity as will be described hereinlater in detail. The controller


100


supplies an audio signal S


2


to the speaker system


20




e


and/or the headphone


20




f


, and the speaker system


20




e


and/or the headphone


20




f


generates electronic sound at an appropriate loudness.




If the player pushes the push button switch


110




a


, again, the controller


100


changes the polarity of the electric power, and the actuator


20




b


inversely rotates the shaft


20




g


. The angle detector


20




c


varies the current angular position represented by the stopper position signal S


1


, and the controller


100


compares the current angular position with the free position FP to see whether or not the catcher stopper


20




a


reaches the free position FP. When the current angular position is consistent with the free position FP, the controller


100


instructs the actuator


20




b


to stop the shaft


20




g


. After the entry into the free position FP, the catchers


5




n


do not reach the catcher stopper


20




g


, and the player fingers the piece of music on the keyboard


3


without interruption of the catcher stopper


20




a


. As a result, the acoustic sounds are generated from the sets of strings


7


.




The key sensor


90


is illustrated in detail in FIG.


6


. The light-emitting sensor head


90




b


is connected through the optical fiber


90




f


to the light-emitting diode


90




d


, which is abbreviated as “LED” in FIG.


6


. Similarly, the light-receiving sensor head


90




c


is connected through the optical fiber


90




g


to the photo-detecting diode


90




e


. The light-emitting sensor head


90




b


is spaced from the light-receiving sensor head


90




c


, and are accommodated in the sensor case


90




h


. An optical beam


90




j


is radiated between the light-emitting sensor head


90




b


and the light-receiving sensor head


90




c


, and is of the order of 5 millimeters in diameter.




The gap between the light-emitting sensor head


90




b


and the light-receiving sensor head


90




c


is open to the space under the keyboard


3


through a slit formed in the sensor case


90




h


. The light-emitting diode


90




d


keeps the amount of radiated light constant. The shutter plate


90




a


is moved into and out of the slit, and intersects the optical beam


90




j


. The shutter plate


90




a


varies the amount of light at the light-receiving sensor head


90




c


and, accordingly, the photo-detecting diode


90




c


, and the controller


100


estimates the current key position on the basis of the amount of light. Assuming now that the player depresses the black/white key


3




a


/


3




b


from the rest position to the end position, the shutter plate


90




a


reaches the optical beam


90




j


at point P


1


, and gradually interrupts the optical beam


90




j


depending upon the key positions K


1


, K


2


, K


2


A, K


3


and K


4


. Accordingly, the amount of light is gradually reduced, and reaches the minimum at the end position. The photo-detecting diode


90




e


proportionally converts the amount of light to electric current, and produces a key position signal S


3


from the electric current. Thus, the magnitude of the key position signal S


3


is representative of the current key position.




In this instance, twelve light-emitting diodes


90




d


and eight photodetecting diodes


90




e


are selectively connected to the sensor heads


90




b


/


90




c


, and form an optical switching matrix. In detail, the light-emitting sensor heads


90




b


are divided into twelve groups, and the twelve groups are respectively connected to the twelve light-emitting diodes


90




d


. Each of the twelve groups of light-emitting sensor heads


90




b


is connected through the eight optical fibers


90




f


to one eight light-emitting diodes


90




d


, respectively. On the other hand, the light-receiving sensor heads


90




c


are divided into eight groups, and the eight groups are respectively connected to the eight photo-detecting diodes


90




e


. Each of the of light-receiving sensor heads


90




c


is connected through twelve optical fibers


90




g


to one photo-detecting diode


90




e


. The twelve light-emitting, diodes


90




d


are sequentially energized, and each of the light-emitting diodes


90




d


concurrently illuminates the eight optical fibers


90




f


. The eight optical fibers


90




f


propagate the light to the eight light-emitting sensor heads


90




b


, respectively, and the eight light-emitting sensor heads


90




b


radiate the eight optical beams


90




j


to the associated light-receiving sensor heads


90




c


. The eight light-receiving sensor heads


90




c


transfers the incident light through the eight optical fibers


90




g


to the eight photo-detecting diodes


90




e


, and the eight photo-detecting diodes


90




e


concurrently converts the incident light to the eight key position signals S


3


. The light emitting diodes


90




d


are sequentially energized, and the eighty-eight black/white keys


3




a


/


3




b


are periodically checked with the optical beams


90




j


.




Automatic Playing System




The automatic playing system


30


includes the key sensors


90


, the controller


100


and key actuators


30




a


. A recording mode and a playback mode are selectively established in the automatic playing system


30


. The modes of operation are instructed through the manipulating panel


110


. The key actuator


30




a


may be implemented by a solenoid-operated actuator. The key actuators


30




a


are respectively associated with the black/white keys


3




a


/


3




b,


and are mounted on the key bed


4




a


under the associated black/white keys


3




a


/


3




b


, respectively. The key actuator


30




a


has a solenoid


30




b


and a plunger


30




c


projecting from and retracted into the solenoid


30




b


. When the controller


100


energizes the solenoid


30




b


with a driving signal S


4


, the plunger


30




c


projects from the solenoid


30




b


, and pushes the lower surface of the associated black/ white key


3




a


/


3




b.


The plunger


30




c


exerts the force corresponding to the final hammer velocity of the associated hammer


6


on the lower surface of the black/white key


3




a


/


3




b


.




The player is assumed to instruct the controller


100


to record a piece of music through the manipulating panel


110


. Each of the key sensors


90


monitors the key motion of the associated black/white key


3




a


/


3




b


, and supplies the key position signals S


3


to the controller


100


. The key position signal S


3


varies the magnitude depending upon the current key position. The controller


100


discriminates the depressed keys


3




a


/


3




b


and the kind of the key motion, i.e., the ordinary key motion or the abrupt key motion, and exactly estimates the final hammer velocity. The controller


100


produces music data codes representative of the final hammer velocity and key-on times at which the hammers


6


strikes the associated sets of strings


7


. The final hammer velocity is proportional to the downward key velocity, and is hereinbelow simply referred to as “velocity”.




Similarly, the controller


100


determines release rates and key-off times at which the released keys


3




a


/


3




b


bring the damper heads


6




c


into contact with the sets of strings


7


, and produces music data codes representative of the times and the release rates. The release rate is indicative of the decay of the acoustic sound. The controller


100


stores the music data codes representative of the performance in a floppy disk


40


, by way of example. Thus, each of the key motion is described with the music data codes, which contains pieces of music data information representative of the key number, the key-on time, the magnitude of the velocity, the key-off time and the release rate. The music data codes may be formatted in accordance with the MIDI (Musical Instrument Digital Interface) standards.




If the player instructs the controller


100


to reproduce the performance through the manipulating panel


110


, the controller


100


reads out the music data codes from the floppy disk


40


, and sequentially supplies the driving signal S


4


to the key actuators


30




a


. The magnitude of the driving signal S


4


is exactly adjusted to the value corresponding to the final hammer velocity. The key actuators


30




a


move the associated black/white keys


3




a


/


3




b


, and the black/white keys


3




a


/


3




b


actuate the associated key action mechanisms


5


without any fingering. The key action mechanisms


5


drive the associated hammers


6


for rotation, and each of the hammers


6


strikes the set of strings


7


at the final hammer velocity equal to that during the recording. As a result, the performance is exactly reproduced.




Controller




The controller


100


includes a central processing unit


100




a


, a read only memory


100




b


, a random access memory


100




c


and a shared bus


100




d


. The central processing unit


100




a


, the read only memory


100




b


and the random access memory


100




c


are respectively abbreviated as “CPU”, “ROM” and “RAM” in FIG.


5


. The central processing unit


100




a


may be implemented by a microprocessor. The read only memory


100




b


stores programmed instructions, and various tables are defined in the read only memory


100




b


. The music data codes are temporarily stored in the random access memory


100




c


, and calculating results are also temporarily stored in the random access memory


100




c


. The central processing unit


100




a


, the read only memory


100




b


and the random access memory


100




c


are connected to the shared bus


100




d


. The central processing unit


100




a


sequentially fetches the programmed instructions through the shared bus


100




d


, and executes them for given jobs. The central processing unit


100




a


has a CPU timer (not shown), and is selectively branched from a main routine program into subroutine programs at every timer interruption. The main routine program and the subroutine programs will be hereinlater described in detail. The central processing unit


100




a


writes pieces of data information into and reads out them from the random access memory device


100




c


through the shared bus


100




d


. The central processing unit


100




c


defines tables in the random access memory device during the execution of the programmed instructions.




The controller


100


further includes a driver circuit


100




e


for the actuator


20




b


, a tone generator


100




f


, an LED driver


100




g


and an analog-to-digital converter


100




h


. The LED driver


100




g


is abbreviated as “LED” driver in

FIG. 5

, and sequentially energizes the twelve light-emitting diodes


90




d


under the control of the central processing unit


100




a


. The analog-to-digital converter


100




h


is connected to the eight photo-detectors


90




c


, and converts the magnitude of each key position signal S


3


to a binary value of a digital key position signal S


6


. As described hereinbefore, the eight photo-detecting diodes


90




e


concurrently converts the incident light to the eight key position signals S


3


. However, the analog-to-digital converter


100




h


has only four analog-to-digital converting units. The eight key position signals S


3


are divided onto two groups, and the two groups are successively supplied to the four analog-to-digital converting units. Thus, the analog-to-digital converter


100




h


twice repeats the analog-to-digital conversion during the illumination on the eight optical fibers


90




f


. The twelve light-emitting diodes


90




d


and the eight photo-detecting diodes


90




e


produce ninety-six combinations, which is more than the eighty-eight black/white keys


3




a


/


3




b


. Eighty-eight combinations are respectively assigned to the eighty-eight black/white keys


3




a


/


3




b


. The central processing unit


100




a


sequentially gives timings for the illumination to the twelve light emitting diodes


90




d


, and determines the eight black/white keys


3




a


/


3




b


checked with the optical beams


90




j


. For this reason, if one of the key position signals S


3


changes the magnitude, the central processing unit


100




a


can specify the black/white key


3




a


/


3




b


, and determines the key number assigned thereto.




The driver circuit


100




e


, the tone generator


100




f


, the LED driver


100




g


and the analog-to-digital converter


100




h


relate to the silent system


20


. The driver circuit


100




e


and the tone generator


100




f


are connected to the shared bus


100




d


, and the LED driver


100




g


and the analog-to-digital converter


100




h


are connected through a suitable interface (not shown) to the shared bus


100




d.






The angle detector


20




c


and the manipulating panel


110


are also connected to the shared bus


100




d


through the interface (not shown), and an player's instruction is given from the manipulating panel


110


in the form of an instruction signal S


5


. The central processing unit


100




a


periodically checks the interface to see whether or not the angle detector


20




c


or the manipulating panel


110


change the stopper position signal S


1


or the instruction signal S


5


. If the stopper position signal S


1


and/or the instruction signal S


5


is changed, the central processing unit


100




a


fetches the stopper position signal Si and/or the instruction signal S


5


, and appropriately copes with the change.




For example, when the push button switch


110




a


is manipulated, the manipulating panel


110


supplies the instruction signal S


5


representative of the change between the free position FP and the block position BP to the interface. The central processing unit


100




a


fetches the piece of instruction data through the shared bus


100




d


, and interprets the meaning of the instruction. Then, the central processing unit


100




a


instructs the driver circuit


100




c


to energize the actuator


20




b


, and monitors the rotation of the shaft


20




g


through the stopper position signal S


1


. The central processing unit


100




a


compares the current angular position represented by the stopper position signal S


1


with the free/block position FP/BP to see whether or not the catcher stopper


20




a


reaches the free position/blocking position FP/BP. If the catcher stopper


20




a


is still on the way to the free/block position FP/ BP, the central processing unit


100




a


does not cancel the instruction. However, when the catcher stopper


20




a


reaches the free/block position FP/ BP, the central processing unit


100




a


cancels the instruction, and the driver circuit


100




e


removes the electric power from the actuator


20




b


. Then, the actuator


20




b


stops the rotation, and the catcher stopper


20




a


keeps the free/block position FP/BP.




The tone generator


100




f


is connected to the sound system


20




d


, and supplies the audio signal S


2


thereto. The tone generator


100




f


has sixteen channels, and the sixteen channels are respectively associated with sixteen columns of a tone generation table. The tone generation table is defined in the random access memory


100




c


, and each of the columns of the tone generation table stores pieces of tone data information for generating a tone signal. The pieces of tone data information are independently accessed by the associated channels. This means that the tone generator


100




f


concurrently generates sixteen tone signals at the maximum. The tone generator


100




f


selectively assigns the music data codes representative of different electronic sounds to the sixteen channels, and the sixteen columns of the tone generation table are linked with the sixteen channels, respectively. The channel of the tone generator


100




f


accesses the pieces of tone data information in the associated column of the tone generation table, and gives an envelop to an oscillating signal so as to control the attack, the decay and the sustain of an electronic sound. The tone signal or signals are mixed into the audio signal S


2


, and the audio signal S


2


is supplied to the sound system


20




d


. The tone generation table will be hereinlater described in detail.




While a player is fingering a piece of music on the keyboard


3


, the key sensors


90


monitor the associated black/white keys


3




a


/


3




b


to see whether the player depresses or releases them. The current key position of each black/ white key


3




a


/


3




b


is supplied to the analog-to-digital converter


100




h


, and the analog-to-digital converter


100




h


converts the key position signal S


3


to the digital key position signal S


6


. The central processing unit


100




a


periodically fetches the digital key position signals S


6


through the shared bus


100




d


, and compares the binary values with the previous binary values to see whether or not the black/white keys


3




a


/


3




b


change the key positions. If any one of the black/white keys


3




a


/


3




b


changes the key position, the central processing unit


100




a


accumulates the new key position in the random access memory


100




c.






The central processing unit


100




a


determines the key number assigned to the depressed key


3




a


/


3




b


and the kind of key motion, and exactly estimates the velocity. The central processing unit


100




a


supplies the pieces of music data information representative of the key number and the velocity at the key on time to the tone generator


100




f


, and the tone generator


100




f


produces the tone signal for the depressed key


3




a


/


3




b


. The tone signal has the amplitude equivalent to the velocity, and the electronic sound has the loudness equal to that of the acoustic sound not produced through the vibrations of the set of strings


7


. The audio signal S


2


is produced from the tone signals, and is supplied to the sound system


20




d


for generating the electronic sounds.




The central processing unit


100




a


further determines the key number and the release rate for the released key


3




a


/


3




b


, and transfers the pieces of music data information representative of the key number and the release rate to the tone generator


100




f


at the key-off time. Then, the tone generator


100




f


decays the tone signal, and the sound system


20




d


extinguishes the electronic sound at the release rate. Thus, the central processing unit


100




a


cooperates with the key sensors


90


and the tone generator


100




f


for electronically generating the tone signals.




The controller


100


further includes a floppy disk driver


100




j


and a driver circuit


100




k


for the key actuators


30




a


. The floppy disk driver


100




j


, the driver circuit


100




k


, the key sensors


90


, the LED driver


100




g


and the analog-to-digital converter


100




h


are incorporated in the automatic playing system


30


. The floppy disk driver


100




j


and the driver circuit


100




k


for the key actuators


30




a


are connected through the interface to the shared bus


100




d


, and the central processing unit


100




a


communicates with the floppy disk driver


100




j


and the driver circuit


100




k


through the shared bus


100




d


. The floppy disk driver


100




j


writes the music data codes into the floppy disk


40


, and reads out the music data codes therefrom. The central processing unit


100




a


transfers the music data codes between the floppy disk driver


100




j


and the random access memory


100




c


through the shared bus


100




d.






In the playback, the central processing unit


100




a


sequentially reads out the music data codes from the random access memory


100




c


, and determines the magnitude of the driving signals S


4


to be supplied to the key actuators


30




a


. The magnitude of the driving signal S


4


is varied with the velocity represented by the music data code. When a music data code requests the central processing unit


100




a


to move one of the black/white keys


3




a


/


3




b


from the rest position toward the end position, the central processing unit


100




a


determines the key number assigned to the black/white key


3




a


/


3




b


and the magnitude of the driving signal S


4


on the basis of the music data code, and supplies a piece of control data information to the driver circuit


100




k


through the shared bus


100




d


. Then, the driver circuit


100




k


regulates the magnitude of the driving signal S


4


to the target value, and supplies the driving signal S


4


to the key actuator


30




a


. The key actuator


30




a


pushes the associated black/white key


3




a


/


3




b


at the instructed force, and the associated key action mechanism


5


drives the hammer


6


at the target velocity. The hammer


6


strikes the set of strings


7


at the target intensity, and the set of strings generates the acoustic sound at the loudness equal to the loudness in the original performance.




Calibration of Key Position




Products of the acoustic upright piano have individuality. Each of the light-emitting diodes


90




d


radiates the light to the eight optical fibers


90




f


. It is impossible to evenly share the light between the eight optical fibers


90




f


. This means that a calibration is required. Threshold values at the detecting points K


1


, K


2


, K


3


, K


4


and K


2


A are determined during the calibration. The thresholds at the detecting points K


1


, K


2


, K


3


, K


4


and K


2


A are used for determining key state. The detecting point K


2


A is provided between the detecting points K


2


and K


3


, and the release rate is determined on the basis of the threshold value at the detecting point K


2


A.





FIG. 8

illustrates a trajectory C


1


of one of the black/white keys


3




a


/


3




b


in the ordinary key motion. The calibration for the black/white key


3




a


/


3




b


proceeds as follows. When the controller


100


is powered on, the central processing unit


100




a


initializes the internal registers and the random access memory


100




c


, and calibrates the key sensors


90


. The initialization step and the calibration step are inserted in a main routine program, and the main routine program will be hereinlater described in detail.




The central processing unit


100




a


instructs the LED driver


100




g


to sequentially energize the light-emitting diodes


90




d


, and receives the four digital key position signals twice at each photo-radiation. The central processing unit assigns a channel to every four digital key position signals, and channel “0” to channel “23” are assigned to the eighty-eight black/white keys


3




a


/


3




b


. Although twenty-two channels are sufficient to the eighty-eight black/white keys


3




a


/


3




b


, the twelve light-emitting diodes


90




d


and the eight photo-detecting diodes


90




e


produce the ninety-six combinations equivalent to the twenty-four channels. Accordingly, a key table has ninety-six columns labeled with “KEY_POS 0” to “KEY_POS 95” as shown in FIG.


9


. However, only the eighty-eight columns “KEY_POS 0” to “KEY_POS 87” are assigned to the black/white keys


3




a


/


3




b.






Upon completion of the scanning for the digital key position signals S


6


, the central processing unit


100




a


obtains the maximum binary values X


0


, X


1


, X


2


. . . and X


87


of the digital key position signals S


6


at the rest positions. The central processing unit


100




a


writes the maximum binary values X


0


to X


87


into the row of the key table “KEY_RST” .




Subsequently, the central processing unit


100




a


reads out sets of coefficients r


1


, r


2


, r


3


, r


4


and r


2


A. The sets of coefficients r


1


, r


2


, r


3


, r


4


and r


2


A have been given to the controller


100


. The central processing unit


100




a


multiplies each of the maximum binary values by the coefficients ri (where i is 1, 2, 3, 4 and 2A), i.e., Xr×r


1


, Xr×r


2


, Xr×r


3


, Xr×r


4


and Xr×r


2


A where the suffix r is 0, 1, 2, . . . and 87. Then, the central processing unit


100




a


obtains the thresholds K


1


, K


2


, K


3


, K


4


and K


2


A for each of the black/white keys


3




a


/


3




b


, and writes the thresholds K


1


, K


2


, K


3


, K


4


and K


2


A into the rows of the key table “THR_K1”, “THR_K2”, “THR_K3”, “THR


—K


4” and “THR—K2A”.




The manufacturer determines the coefficients ri through experiments. The manufacturer determines the detecting points K


1


-K


4


and K


2


A to be appropriate for the discrimination of the key state, and the ratio of the binary value at each detecting point to the binary value at the rest position are calculated for all the black keys


3




a


and all the white keys


3




b


. The ratios are averaged, and the coefficients ri are obtained. A set of coefficients ri is used for the black keys


3




a


, and another set of coefficients ri is used for the white keys


3




b


.




The key table shown in

FIG. 9

further has the following rows. The row labeled with “KEY_STATE” is assigned to a piece of control data information representative of the current key state, and the row labeled with “TBL_NUM” is assigned to another piece of control data information representative of the column number of the tone generation table in the tone generator


100




f


. The row labeled with “KEY_TIM” is assigned to a piece of control data information representative of the time at which the key position signals S


3


are converted to the digital key position signals S


6


. The row labeled with “KO” and the row labeled with “KO_TIM” are assigned to pieces of control data information duplicated from the piece of control data information in the row “KEY_POS” and the piece of control data information in the row “KEY_TIM”, respectively.




As described hereinbefore, the tone generation table is defined in the random access memory


100




c


. Though not shown in the drawings, sixteen overtime counters are defined in the random access memory device.

FIG. 10A

illustrates the tone generation table. A square box represents a byte, and a rectangular box with broken line is representative of a word, i.e., two bytes. The sixteen columns are labeled with “0”, “1”, “2”. . . and “15”, and are linked with the sixteen channels of the tone generator


100




f


. The overtime counters are respectively associated with the sixteen columns. The overtime counter is indicative of the continuation after entry into a certain kind of key state.




The first row is labeled with “KEY_NUM”, and is assigned to the key number. If the key number “1” is written into the column “0”, the associated channel accesses the pieces of tone data information stored in the column “0”, and generates an electronic sound corresponding to the lowest-pitched acoustic sound.




The second row “OVR_K1”, the third row “OVR_K2”and the fourth row “OVR_K3”store pieces of tone data information representative of detected key positions at which the digital key position signals S


6


exceed the thresholds K


1


, K


2


and K


3


. The fifth row “OVK


1_TIM”, the sixth row “OVK




2_TIM” and the seventh row “OVK




3_TIM” store pieces of tone data information representative of arrival times when the digital key position signals S6 downwardly pass the thresholds K1, K2 and K3. The central processing unit 100




a


periodically checks the interface to see whether the digital key position signals S


6


exceed the thresholds K


1


to K


3


. A time delay may be introduced between the detecting arrival time and the actual arrival time. The detected key position is stored together with the arrival time so as to make the tone data information reliable. Each piece of tone data information stored in the fifth row to the seventh row is two-byte long. In other words, each of the columns “0” to “15” partially expands in the fifth row to the seventh row as shown in FIG.


10


.




The eighth row “VELOCITY” stores pieces of tone data information representative of the velocity or the intensity of an impact between the hammer


6


and the set of strings


7


, and the last row “DWN_CNTR” stores pieces of tone data information representative of time periods until tone generation.





FIG. 10B

shows a time control table for the twenty-four channels created by the light-emitting diodes


90




d


and the photo-detecting diodes


90




e


. Two-bytes are assigned to each channel, and the central processing unit


100




a


stores a piece of time data information representative of the time when the four digital key position signals S


6


are obtained through the channel.




The velocity is calculated as follows. A black/white key


3




a


/


3




b


is assumed to move along the trajectory C


1


. The digital key position signal S


6


exceeds the threshold Ki (i=1, 2 or 3) at a key position d


1


and, thereafter, the threshold Kj (j=2, 3 or 4, j>i) at a key position d


2


. The arrival time at the key position d


1


and the arrival time at the key position d


2


are t


1


and t


2


, respectively. The central processing unit


100




a


firstly calculates a normalized displacement Dn as follows.








Dn=(d


1−d2)×2


8


÷MAX×2


8








where MAX is the maximum binary value of the digital key position signal S


6


at the rest position. The digital key position signal S


6


is decreased from the rest position toward the end position. For this reason, the key position d


2


is subtracted from the key position d


1


. The difference is indicative of the actual displacement of the black/white key


3




a


/


3




b


, and the dispersion of the rest positions is normalized by dividing the actual displacement by the maximum binary value. Finally, the multiplication by 2


8


makes the normalized displacement Dn equivalent to the two-byte data for the arrival time.




Subsequently, the central processing unit


100




a


calculates the key velocity Vk between the key positions d


1


and d


2


.








Vk=Dn÷(t


2−t1)÷2


8








The key velocity is represented by a single byte because of the division by 2


8


.




Subsequently, the central processing unit


100




a


estimates a hammer velocity at the impact as shown in

FIG. 11. A

conversion table TB


2


is defined in the read only memory. The conversion table TB


2


stores pieces of velocity data information representative of the velocity defined in the MIDI standards, and the relation between the key velocity Vk and the MIDI velocity are expressed by curves. The photo-detecting diodes


90




e


have non-linear photo-to current converting characteristics, and the binary key position signal S


6


is effected by the non-linearity. In order to compensate the linearity of the key position data, the pieces of converting data information have been modified before storing the table TB


2


.




The central processing unit


100




a


supplies the key velocity Vk to the conversion table TB


2


, and the conversion table TB


2


outputs the MIDI velocity. The MIDI velocity is written into the eighth row “VELOCITY” of the key table. The black/white key


3




a


/


3




b


is moved along the trajectory C


1


, and the digital key position signal S


6


sequentially exceeds the thresholds K


1


, K


2


, K


3


and K


4


. When the digital key position signal S


6


exceeds the next threshold K


3


or K


4


, the central processing unit


100




a


calculates the key velocity Vk, and converts the key velocity Vk to the MIDI velocity. However, the central processing unit


100




a


does not rewrite the piece of tone data information representative of the velocity at all times. The central processing unit


100




a


rewrites the piece of tone data information only when the new MIDI velocity is larger than the MIDI velocity already stored in the key table.




Count-down tables TB


3


-


2


, TB


3


-


3


and TB


3


-


4


are further defined in the read only memory


100




b


. The count-down tables TB


3


-


2


, TB


3


-


3


and TB


3


-


4


are corresponding to the key position d


2


. If the digital key position signal S


6


exceeds the threshold K


2


at the key position d


2


, the count-down table TB


3


-


2


is selected. However, when the digital key position signal S


6


exceeds the threshold K


3


or K


4


at the key position d


2


, the count-down table TB


3


-


3


or the count-down table TB


3


-


4


is selected. The count-down tables TB


3


-


2


, TB


3


-


3


and TB


3


-


4


store pieces of time data information representative of time periods until the strikes of the strings


7


with the hammers


6


. When the central processing unit


100




a


selects one of the count-down tables TB


3


-


2


, TB


3


-


3


and TB


3


-


4


corresponding to the threshold K


2


, K


3


or K


4


, the count-down table assigns a series of pieces of time data information for the MIDI velocity to the black/white key


3




a


/


3




b


, and the central processing unit


100




a


writes the first piece of time data information into the last row “DWN_CNTR” as the piece of tone data information. The piece of tone data information is periodically rewritten in accordance with the series of pieces of time data information. When the piece of tone data information in the last row “DWN-CNTR” is indicative of zero, the channel of the tone generator


100




f


receives the pieces of tone data information representative of the key number and the MIDI velocity from the key table, and starts to produce the tone signal. Thus, the row “DWN_CNTR” serves as counters for the tone generation. In the following description, the counters are labeled with “DWN_CNTR”, and a rewriting operation of the piece of tone data information in the row “DWN_CNTR” is equivalent to a decrement of the counter.




Software




The central processing unit


100




a


fetches the programmed instructions from the read only memory


100




b


, and sequentially executes them. The programmed instructions form a main routine and two subroutines.

FIG. 12

illustrates the relation between the main routine and two subroutines. The central processing unit


100




a


controls major part of the generation of tone signals through the main routine.




The central processing unit


100




a


is branched to the first subroutine at intervals of 100 microseconds. In the first interruption subroutine, the central processing unit


100




a


increments the CPU timer. Further, the central processing unit


100




a


rewrites the pieces of tone data information stored in the row “DWN_CNTR”. This operation is equivalent to decrement of the counters “DWN_CNTR” as described hereinbefore.




On the other hand, the central processing unit


100




a


is branched to the second interruption subroutine at intervals of 40 milliseconds for a data acquisition. Dots on both sides of the control transfer to the first interruption subroutine are representative of the repetition of the control transfer between the main routine and the first interruption subroutine.




When the interruption INT


1


takes place, the central processing unit


100




a


instructs the analog-to-digital converters


100




h


to maintain the current binary values as indicated by arrow AR


10


, and the analog-to-digital converters


100




h


repeatedly send the four digital key position signals S


6


to the central processing unit


100




h


. Upon completion of the data acquisition, the central processing unit


100




a


instructs the analog-to-digital converters


100




h


to restart the analog-to-digital conversion as indicated by arrow AR


11


. The central processing unit


100




h


gives the priority to the first interruption for the timer increment, because the timer defines the fundamental timings in the tone generation.




Subroutine for Timer and Counters





FIG. 13

illustrates the subroutine program for the timer and the counters “DWN_CNTR”. While the central processing unit


100




a


reiterates the main routine, the interruption takes place at every 100 microseconds as by step SP


10


. The central processing unit


100


is branched from the main routine to the first subroutine, and increments the CPU timer by one as by step SP


11


.




The central processing unit


100




a


has twenty-one registers En, RnH and RnL where n is zero to six as shown in FIG.


14


. The internal register E


6


is assigned to the timer, and the timer E


6


is incremented by one at the step SP


11


. Other internal registers E


5


, R


3


H and R


3


L to R


6


L are assigned as follows.




The internal register E


5


stores a time when the analog-to-digital conversion is carried out. The internal register R


3


H is assigned to the key state, and the current key position is stored in the internal register R


3


L. The internal register R


4


L stores the column number of the tone generation table, and the key number is stored in the internal register R


5


L. As described in conjunction with the key sensors


90


, the eighty-eight black/white keys


3




a


/


3




b


are selectively monitored through the twenty-four channels. The number of the channel is stored in the internal register R


6


L. The others are general purpose registers.




Turning back to

FIG. 13

, the central processing unit


100




a


increments the timer at every 100 microseconds, and the present time is maintained in the internal register E


6


. Upon completion of the increment, the central processing unit


100




a


proceeds to step SP


12


, and checks the timer E


6


to see whether the present time is a multiple of eight or not. If the answer at step SP


12


is negative, the central processing unit


100




a


returns to the main routine.




On the other hand, if the answer at step SP


12


is given affirmative, the central processing unit


100




a


proceeds to step SP


13


. The central processing unit


100




a


executes the step SP


13


at every 800 microseconds. The central processing unit


100




a


decrements the counters “DWN_CNTR”, and checks the counters “DNW_CNTR” to see whether or not any one of the values stored therein reaches zero. If the answer is affirmative, the central processing unit


100




a


instructs the tone generator


100




f


to produce the tone signal, changes the key state to “SOUND”, and releases the column of the tone generation table from the depressed key


3




a


/


3




b


. This means that the column is assigned to a newly depressed key. In order to instruct the tone generator


100




f


to produce the tone signal, the central processing unit


100




a


supplies the pieces of tone data information representative of the key number and the MIDI velocity to the tone generator


100




f


together with an instruction indicative of a permission of tone generation. The tone generator


100




f


assigns the pieces of tone data information to a channel not occupied yet, and the channel produces the tone signal. This is equivalent to the following procedure. The central processing unit


100




a


changes the piece of control data information in the row “KEY_STATE” of the key table to “SOUND” representing that the channel is producing the tone signal, and cancels the piece of control data information indicative of the column number of the tone generation table. Then, the column of the tone generation table is released. On the other hand, if all the counters “DWN_CNTR” have not reached zero, yet, the central processing unit


100




a


proceeds to step SP


14


.




The central processing unit


100




a


checks the internal register E


6


to see whether or not the present time is a multiple of 8192 at the step SP


14


. If the answer is given negative, the central processing unit


100




a


returns to the main routine. On the other hand, if the answer is given affirmative, the central processing unit


100




a


proceeds to step SP


15


. Thus, the step SP


15


is executed at every 819.2 milliseconds.




In the step SP


15


, the central processing unit


100




a


increments the overtime counters associated with the sixteen columns of the tone generation table, respectively.




The overtime counter is indicative of the time period after entry into a kind of key state. The central processing unit


100




a


returns to the main routine.




Subroutine for Data Acquisition





FIG. 15

illustrates the subroutine for the data acquisition. The analog-to-digital converters


100




h


are synchronous with the central processing unit


100




a


. Upon completion of the analog-to-digital conversion for the four digital key position signals S


6


, the interruption takes place at every 40 milliseconds. Then, the central processing unit


100




a


is branched to the subroutine as by step SP


20


. The central processing unit


100




a


instructs the LED driver


100




g


to remove the electric power from one of the light-emitting diodes


90




d


already energized, and further instructs the LED driver


100




g


to energize the next light-emitting diode


90




d


as by step SP


21


.




The central processing unit


100




a


proceeds to step SP


22


, and transfers the binary values of the digital key position signals S


6


and the present time from the interface and the timer E


6


to the key table. The binary values are written into the row “KEY_POS” under the key numbers assigned to the four black/white keys


3




a


/


3




b


, and the present time is written into the row “KEY_TIM” also under the key numbers. Further, the central processing unit


100




a


transfers the present time to the time control table (see FIG.


10


B), and writes the present time in the memory location assigned to the channel. Thus, the central processing unit


100




a


stores the time when the analog-to-digital converter


100




h


produces the four digital key position signals S


6


in the time control table.




Finally, the central processing unit


100




a


increments the channel number stored in the internal register R


6


L as by step SP


23


. Then, the analog-to-digital converter


100




h


restarts the analog-to-digital conversion. Thus, the central processing unit


100




a


intermittently activates the analog-to-digital converter


100




h


as indicated by arrows AR


10


and AR


11


in

FIG. 12

, and rewrites the pieces of control data information in the key table. After step SP


23


, the central processing unit


100




a


returns to the main routine.




Main Routine




The central processing unit


100




a


determines the key state of the eighty-eight black/ white keys


3




a


/


3




b


through the main routine. Description is firstly made on the key state with reference to

FIG. 16. A

black/white key


3




a


/


3




b


is assumed to move between the rest position and the end position along a trajectory C


2


. The black/white key


3




a


/


3




b


starts the motion at time t


1


, and the diaital key position signal S


6


exceeds the thresholds K


1


, K


2


, K


3


and K


4


at times t


2


, t


3


, t


4


and t


5


, respectively. The black/white key


3




a


/


3




b


reaches the end position at time t


6


. In the following description, the positions at which the digital key position signal S


6


exceeds the thresholds K


1


, K


2


, K


3


and K


4


are also labeled with “K1”, “K2”, “K3” and “K4”, respectively.




While the black/white key


3




a


/


3




b


is moving from the rest position to the position K


1


, the key state is “UPPER”. When the black/white key


3




a


/


3




b


passes the position K


1


, the key state is changed to “TOUCH-A”. The black/white key


3




a


/


3




b


successively enters the key state “COUNT-DOWN-0” at the position K


2


, the key state “COUNT-DOWN-1” at the position K


3


and the key state “COUNT-DOWN-2” at the position K


4


. When the tone generator


100




f


generates the tone signal for an electronic sound, the key state is changed to “SOUND”.




The black/white key


3




a


/


3




b


is released at time t


7


, and passes the position K


4


at time t


8


, the position K


3


at time t


9


and the position K


2


at time t


11


. The black/white key


3




a


/


3




b


stays the key state “SOUND” until the position K


2


, and changes the key state to “HOLD” at the position K


2


due to the key-off.




The black/white key


3




a


/


3




b


changes the direction of motion between the position K


2


and the position K


1


, and passes the position K


2


at time t


11


, the position K


3


at time t


12


and the position K


4


at time t


13


. The black/white key


3




a


/


3




b


changes the direction of key motion between the position K


4


and the end position at time t


14


, and passes the position K


4


at time t


15


, the position K


3


at time t


16


and the position K


2


at time t


17


. The black/white key


3




a


/


3




b


changes the direction of the key motion between the position K


2


and the position K


1


, and passes the position K


2


at time t


18


and the position K


3


at time t


19


. The black/white key


3




a


/


3




b


changes the direction of the key motion between the position K


3


and the position K


4


, again, and passes the position K


3


at time t


2


O, the position K


2


at time t


21


and the position K


1


at time t


22


. The black/white key


3




a


/


3




b


finally returns to the rest position at time t


23


.




The key state is changed from “HOLD” to “TOUCH-B” at time t


11


. However, if the black/white key


3




a


/


3




b


keeps the key state “TOUCH-B” for a predetermined time, the key state is changed to “TIME-OVER” (see the trajectory between time t


18


and time t


19


). If the black/white key


3




a


/


3




b


moves at an extremely high speed, the digital key position signal S


6


exceeds more than one threshold, and the key state is changed to “COUNT-DOWN-3” in a single sampling interval.

FIG. 17

illustrates the key state “COUNT-DOWN-3”. A black/white key


3




a


/


3




b


moves along a trajectory C


3


. The key velocity between the position P


1


and the position P


2


is so large that the black/white key


3




a


/


3




b


passes the positions K


1


and K


2


within a single sampling interval. This means that the central processing unit


100




a


does not check the analog-to-digital converter


100




h


to see whether or not the digital key position signal S


6


changes the binary value between the position P


1


and the position P


2


. The central processing unit


100




a


notices that the black/white keys


3




a


/


3




b


passes the two positions K


1


and K


2


between the previous data acquisition and the current data acquisition. The key motion between position P


3


and the next position P


4


also results in the key state “COUNT-DOWN-3”.




Thus, the key state expresses different key motions on the trajectory C


2


/C


3


, and the central processing unit


100




a


determines the key state on the basis of the previous key state and the lapse of time therefrom.





FIG. 18

illustrates the main routine. When the controller


100


is powered, the central processing unit starts the main routine. The central processing unit


100




a


initializes the registers and the random access memory


100




c


and starts the timer as by step SP


30


.




The central processing unit


100




a


proceeds to step SP


31


. The central processing unit


100




a


instructs the driver circuit


100




k


to sequentially move the black/white keys


3




a


/


3




b,


and calculates the thresholds K


1


, K


2


, K


3


, K


4


and K


2


A for each of the black/white keys


3




a


/


3




b.


The thresholds K


1


, K


2


, K


3


, K


4


and K


2


A are written into the key table as described hereinbefore.




Subsequently, the central processing unit


100




a


increments the key number stored in the register R


5


L by one as by step SP


32


. If the internal register R


5


L stores the key number


87


, the central processing unit


100




a


changes the key number to zero. The internal register R


5


L indicates the black/white key


3




a


/


3




b


for which the pieces of information are processed. For this reason, the key number stored therein is looped between zero and eighty-seven. The following steps in the main routine and associated subroutines are executed for the black/white key


3




a


/


3




b,


the key number of which is stored in the internal register R


5


L. For this reason, the term “black/white key


3




a


/


3




b


” means the black/white key


3




a


/


3




b


indicated by the key number stored in the internal register R


5


L unless the term is accompanied with other definition.




Subsequently, the central processing unit


100




a


accesses the key table, and reads out the pieces of control data information representative of the newest binary value of the digital key position signal S


6


and the acquisition time from the row KEY_POS and KEY_TIM for the black/white key


3




a


/


3




b


indicated by the internal register RSL as by step SP


33


. The pieces of control data information in the rows KEY_POS and KEY_TIM are periodically renewed at step SP


22


(see FIG.


15


). The central processing unit


100




a


writes the pieces of control data information read out from the key table into the internal register R


3


L and E


5


, respectively.




Subsequently, the central processing unit


100




a


reads out the piece of control data information respresentative of the current key state from the row KEY_STATE of the key table for the black/white key


3




a


/


3




b


indicate d by the internal register R


5


L as by step SP


34


, and stores the current key state in the internal register R


3


H. The central processing unit


100




a


sequentially examines the current key state, and is selectively branched into subroutine programs shown in

FIGS. 19

to


26


.




The central processing unit


100




a


firstly checks the current key state to see whether or not the black/white key


3




a


/


3




b


is in the state “UPPER” as by step SP


35


. If the answer at step SP


35


is given affirmative, the central processing unit


100




a


enters the subroutine for “UPPER” shown in FIG.


19


.




In the subroutine for “UPPER”, the central processing unit


100




a


firstly checks the internal register R


3


L to see whether or not the current key position is under the detecting point K


1


as by step SP


41


. If the black/white key


3




a


/


3




b


is in the rest position or just starts the motion, the answer at step SP


41


is given negative, and the central processing unit


100




a


proceeds to step SP


42


. Then, the central processing unit


100




a


duplicates the piece of control data information representative of the binary value of the digital key position signal S


6


from the memory location of the row “KEY_POS” assigned to the black/white key


3




a


/


3




b


to the corresponding memory location of the row “KO” and the piece of control data information representative of the conversion time from the memory location of the row “KEY_TIM” to the corresponding memory location of the row “KO_TIM”. Upon completion of the duplication, the central processing unit


100




a


returns to the step SP


32


. Thus, the pieces of control data information in the rows “KO” and “KO_TIM” are repeatedly renewed until the black/white key


3




a


/


3




b


passes the detecting point K


1


.




On the other hand, if the black/white key


3




a


/


3




b


has been already passed the detecting point K


1


, the answer at step SP


41


is given affirmative, and the central processing unit


100




a


recognizes that the player depresses the black/white key


3




a


/


3




b.


Then, the central processing unit


100




a


proceeds to step SP


43


. The central processing unit


100




a


firstly searches the tone generation table to see whether or not there is a column not assigned to the other black/white keys


3




a


/


3




b.


When there is not any non-assigned column, the central processing unit


100




a


decides to ignore the key motion, because the sixteen channels have been already busy. Then, the central processing unit


100




a


returns to the step SP


32


of the main routine. On the other hand, if there is a non-assigned column, the central processing unit


100




a


writes the piece of tone data information representative of the key number of the black/white key


3




a


/


3




b


into the memory location at the crossing point between the row “KEY_NUM” and the non-assigned column.




Subsequently, the central processing unit


100




a


checks the internal register R


3


L to see whether or not the black/white key


3




a


/


3




b


has already downwardly passed the next detecting point K


2


as by step SP


44


. If the black/white key


3




a


/


3




b


is on the way from the detecting point K


1


to the next detecting point K


2


, the answer at step SP


44


is given negative, and the central processing unit


100




a


proceeds to step SP


45


. As described hereinbefore, the black/white key


3




a


/


3




b


on the way to the detecting point K


2


is in the key state “TOUCH-A” (see FIG.


16


). The central processing unit


100




a


writes the piece of control data information representative of the key state “TOUCH-A” into the memory location in the row “KEY STATE” assigned to the black/white key


3




a


/


3




b


(see FIG.


9


). The central processing unit


100




a


writes zero into the memory location of the time control table assigned to the black/white key


3




a


/


3




b,


and transfers the binary value of the digital key position signal S


6


and the conversion time from the internal registers R


3


L and E


5


to the tone generation table. The binary value and the conversion time are respectively stored in the memory location in the row OVR_K


1


and the memory location in the row OVK


1


_TIM both assigned to the channel. Thus, the central processing unit


100




a


stores the position and the time at which the black/white key


3




a


/


3




b


exceeds the threshold K


1


in the tone generation table. The central processing unit


100




a


returns to step SP


32


in the main routine.




If the black/white key


3




a


/


3




b


has passed the detecting point K


2


, the answer at step SP


44


is given affirmative, and the central processing unit


100




a


proceeds to step SP


46


. The black/white key


3




a


/


3




b


is moving at high speed (see the trajectory between points P


1


and P


2


in FIG.


17


), and passes the two detecting points K


1


and K


2


during the single sampling period. The central processing unit


100




a


rewrites the piece of control data information in the memory location in the row KEY_STATE assigned to the black/white key


3




a


/


3




b


from the key state “UPPER” to the key state “COUNT-DOWN-3”. The central processing unit


100




a


assumes the black/white key


3




a


/


3




b


to move at the maximum speed, and writes the piece of tone data information representative of the maximum key velocity “7F” in the memory location in the row “VELOCITY” assigned to the channel. The central processing unit


100




a


determines the time to be expired until the tone generation on the basis of the maximum key velocity, and stores the number to be counted down in the memory location in the row “DWN_CNTR” assigned to the channel. The value to be counted down is equivalent to the time to be expired until the tone generation. Although the time is determined by using one of the count-down tables TB-


3


-


2


, TB


3


-


3


, TB


3


-


4


. . . (see FIG.


11


), the maximum value “7F” is given to the velocity regardless of the pieces of converting data information stored in the conversion table TB


2


. The central processing unit


100




a


returns to the step SP


32


in the main routine.




Turning back to

FIG. 18

, if the key state has been already changed to “TOUCH-A” (see SP


45


in FIG.


19


), the answer at step SP


35


and the answer at step SP


36


are given negative, but the answer at step SP


37


is given affirmative. Then, the central processing unit


100




a


enters the subroutine SR


2


for “TOUCH-A” shown in FIG.


20


.




The central processing unit


100




a


firstly checks the overtime counter to see whether or not the associated overtime counter has already exceeded the critical value indicative of the key state “TIME_OVER” as by step SP


51


. The overtime counter is periodically incremented at the step SP


15


of the first interruption subroutine (see FIG.


13


), and, accordingly, is to exceed the critical value in so far as it is not reset. When the black/white key


3




a


/


3




b


keeps the key state “TOUCH-A” over the critical time period, the player shallowly depressed the black/white key


3




a


/


3




b,


but he has not depressed the black/white key


3




a


/


3




b.


In this situation, the central processing unit


100




a


releases the column of the tone generation table from the black/white key


3




a


/


3




b,


because the channel is required for another depressed key. The central processing unit


100




a


changes the key state from “TOUCH-A” to “HOLD”, and stores the piece of control data information representative of the key state “HOLD” in the memory location of the row “KEY_STATE” assigned to the black/white key


3




a


/


3




b.


Of course, when the player depresses the black/white key


3




a


/


3




b


from the key position between the detecting points K


1


and K


2


toward the end position, the central processing unit


100




a


restarts the data processing for the black/white key


3




a


/


3




b


as will be described hereinlater. The central processing unit


100




a


returns to the step SP


32


in the main routine.




On the other hand, if the black/white key


3




a


/


3




b


is continuously moving, downwardly, the answer at step SP


51


is given negative, and the central processing unit


100




a


checks the key table to see whether or not the black/white key


3




a


/


3




b


has already downwardly passed the detecting point K


3


as by step SP


53


.




If the answer at step SP


53


is given negative, the central processing unit


100




a


further checks the current key position to see whether or not the black/white key


3




a


/


3




b


has downwardly passed the detecting point K


2


as by step SP


54


. If the black/white key


3




a


/


3




b


is moving between the detecting points K


2


and K


3


, the answer at step SP


54


is given affirmative, and the central processing unit


100




a


proceeds to step SP


55


. The central processing unit


100




a


rewrites the piece of control data information stored in the memory location of the row KEY_STATE assigned to the black/white key


3




a


/


3




b


from “TOUCH_A” to “COUNT-DOWN-0”. The central processing unit


100




a


further transfers the current key position and the conversion time from the internal registers R


3


L and E


5


to the memory location of the row OVR-K


2


and the memory location of the row OVK


2


-TIM both assigned to the channel, and stores them as the pieces of tone data information. The key position and the conversion time at the detecting point K


1


have been already stored in the tone generation table. Using the key position and the conversion time at the detecting point K


1


and the key position and the conversion time at the detecting point K


2


, the central processing unit


100




a


calculates the key velocity Vk, and determines the velocity and the values to be counted down (see FIG.


11


). The central processing unit


100




a


stores the piece of tone data information representative of the velocity and the piece of tone data information representative of the value to be counted down in the memory location of the row “VELOCITY” and the memory location of the row “DWN_CNTR” assigned to the channel. Upon completion of the jobs at step SP


55


, the central processing unit


100




a


returns to step SP


32


in the main routine.




If the black/white key


3




a


/


3




b


passes the detecting points K


2


and K


3


in the single sampling period (see the key motion between points P


3


and P


4


in FIG.


17


), the answer at step SP


53


is given affirmative, and the central processing unit


100




a


proceeds to step SP


56


. The central processing unit rewrites the piece of control data information representative of the key state from “TOUCH-A” to “COUNT-DOWN-3”, and determines the velocity to be the maximum value “7F”. The velocity is supplied to the count-down table TB


3


-


2


. . . , and the value to be counted down is determined. The central processing unit


100




a


stores the piece of tone data information representative of the maximum velocity and the piece of tone data information representative of the value to be counted down in the memory location of the row “VELOCITY” assigned to the channel and the memory location of the row “DOWN-CNTR” assigned to the channel. The data processing at step SP


56


is similar to that at step SP


46


.




When the black/white key


3




a


/


3




b


did not pass the detecting point K


2


, the answer at step SP


54


is given negative, and the central processing unit


100




a


compares the current key position with the threshold K


1


to see whether or not the black/white key


3




a


/


3




b


has downwardly passed the detecting point K


1


as by step SP


57


. If the black/white key


3




a


/


3




b


is staying between the detecting points K


1


and K


2


, the key state is still “TOUCH-A”, and the answer at step SP


57


is given affirmative. Then, the central processing unit


100




a


returns to the step SP


32


in the main routine.




However, if the black/white key


3




a


/


3




b


returned from the key position between the detecting points K


1


and K


2


toward the rest position, the answer at step SP


57


is given negative, and the central processing unit


100




a


proceeds to step SP


58


. The central processing unit


100




a


releases the column of the tone generation table from the black/white key


3




a


/


3




b,


and any electronic sound is not generated. The channel released from the black/white key


3




a


/


3




b


is available for the control of tone generation. The central processing unit


100




a


rewrites the key state from “TOUCH-A” to “UPPER”, and returns to the step SP


32


of the main routine.




Turning back to

FIG. 18

, if the key state has been changed to “CONT-DOWN-0”, “COUNT-DOWN-1”, “COUNT-DOWN-2” or “COUNT-DOWN-3”, the answer at step SP


36


is given affirmative, and the central processing unit


100




a


enters the subroutine SR


3


for “COUNT-DOWN” shown in FIG.


21


.




The central processing unit


100




a


firstly checks the internal register R


3


L to see whether or not the black/white key


3




a


/


3




b


has downwardly passed the detecting point K


2


as by step SP


61


. When the black/white key


3




a


/


3




b


returned to the key position between detecting point K


2


and the rest position, the answer at step SP


61


is given negative, and the central processing unit


100




a


releases the column of the tone generation table from the black/white key


3




a


/


3




b


as by step SP


62


. The released channel is assignable to another depressed black/white key


3




a


/


3




b.


When the player cuts short or apart in the performing on the keyboard


3


in accordance with staccatos in a tune, the decision at step SP


61


tends to be negative so that the central processing unit


100




a


releases the column of the tone generation table. This results in missing tones. However, the staccato notes are not many, and the manufacturer permits the automatic playing system


30


to ignore the staccatos.




Subsequently, the central processing unit


100




a


compares the current key position with the detecting point K


1


to see whether or not the black/white key


3




a


/


3




b


has passed the detecting point K


1


as by step SP


63


. When the black/white key


3




a


/


3




b


returned to the rest position or the vicinity thereof, the answer at step SP


63


is given negative, and the central processing unit


100




a


changes the piece of control data information representative of the key state from “COUNT-DOWN-0/1/2/3” to “UPPER” as by step SP


64


. The central processing unit


100




a


returns to the step SP


32


in the main routine.




On the other hand, when the black/white key


3




a


/


3




b


was between the detecting points K


1


and K


2


, the answer at step SP


63


is given affirmative, and the central processing unit


100




a


changes the piece of control data information representative of the key state from “COUNT-DOWN-0/1/2/3” to “HOLD” as by step SP


65


. The central processing unit


100




a


returns to the step SP


32


in the main routine.




If the black/white key


3




a


/


3




b


has passed the detecting point K


2


, the answer at step SP


61


is given affirmative, and the central processing unit


100




a


checks the current key state to see whether or not the black/white key


3




a


/


3




b


is in the key state “COUNT-DOWN-2/3”. When the answer at step SP


66


is given affirmative, the central processing unit


100




a


returns to the step SP


32


in the main routine. If the answer at step SP


66


is given negative, the central processing unit


100




a


checks the internal register R


3


L to see whether or not the black/white key


3




a


/


3




b


has passed the detecting point K


3


as by step SP


67


. When the black/white key


3




a


/


3




b


is moving between the detecting points K


2


and K


3


, the answer at step SP


67


is given negative, and keeps the key state “COUNT-DOWN-0” (see step SP


55


). Then, the central processing unit


100




a


returns to the step SP


32


in the main routine.




If the black/white key


3




a


/


3




b


has passed the detecting point K


3


, the answer at step SP


67


is given affirmative, and the central processing unit


100




a


compares the current key position with the detecting point K


4


to see whether or not the black/white key


3




a


/


3




b


has passed the detecting point K


4


as by step SP


68


. When the black/white key


3




a


/


3




b


has not passed the detecting point K


4


, yet, the answer at step SP


68


is given negative, and the central processing unit


100




a


checks the key state to see whether or not the black/white key


3




a


/


3




b


has entered the key state “COUNT-DOWN-0” as by step SP


69


.




When the black/white key


3




a


/


3




b


was moved through the detecting point K


3


into the section between the detecting points K


3


and K


4


, the answer at step SP


69


is given affirmative, and the central processing unit


100




a


proceeds to step SP


70


. The central processing unit


100




a


changes the key state from “COUNT-DOWN-0” to “COUNT-DOWN-1” (see FIG.


16


). The central processing unit subtracts the binary value of the digital key position signal S


6


at the threshold K


3


from the binary value of the digital key position signal S


6


at the threshold K


1


and the conversion time at the threshold K


3


from the conversion time at the threshold K


1


. The binary value at the threshold K


1


and the conversion time at the threshold K


1


are read out from the tone generation table. However, the central processing unit


100




a


reads out the binary value at the threshold K


3


and the conversion time at the threshold K


3


from the internal registers R


3


L and E


5


, respectively. The central processing unit


100




a


determines the key velocity Vk on the basis of the calculations. The key velocity Vk is converted to the velocity by means of the conversion table TB


2


, and the velocity is further converted to the value to be counted down through the count-down table. The central processing unit


100




a


compares the velocity and the value already stored in the tone generation table with the new velocity and the new value. If the new velocity is greater than the previous velocity, the central processing unit


100




a


stores the new velocity and the new value in the tone generation table, because the player is assumed to accelerate the black/white key


3




a


/


3




b.


The central processing unit


100




a


returns to the step SP


32


in the main routine. If the black/white key


3




a


/


3




b


is still in the key state “COUNT-DOWN-1”, the answer at step Sp


69


is given negative, and the central processing unit


100




a


immediately returns to the step SP


32


in the main routine.




On the other hand, if the black/white key


3




a


/


3




b


has passed the detecting point K


4


, the answer at step SP


68


is given affirmative, and the central processing unit


100




a


checks the key state to see whether or not the black/white key


3




a


/


3




b


is still in the key state “COUNT-DOWN-0” as by step SP


71


. If the black/white key


3




a


/


3




b


passed the detecting points K


3


and K


4


in the single sampling period, the answer at step SP


71


is given affirmative, and the central processing unit


100




a


proceeds to step SP


72


. The central processing unit


100




a


changes the key state to “COUNT-DOWN-3”, and writes the maximum velocity “7F” and the values to be counted down into the tone generation table.




On the other hand, if the answer at step SP


71


is given negative, the central processing unit


100




a


proceeds to step SP


73


. The central processing unit


100




a


calculates the key velocity S


01


at the detecting point K


1


, the mean key velocity S


24


between the detecting points K


2


and K


4


and the mean key velocity S


14


between the detecting points K


1


and K


4


. The binary value of the digital key position signal S


6


immediately before the threshold K


1


and the conversion time thereof are respectively stored in the rows “K0” and “K0-TIM” of the key table, and the binary value of the digital key position signal S


6


immediately after the threshold K


1


and the conversion time thereof are respectively stored in the rows “OVR-K1” and “OVK1-TIM” of the tone generation table. The key velocity S


01


is calculated on the basis of the pieces of control data information stored in the rows “K0” and “K0-TIM” and the pieces of tone data information “OVR-K1” and “OVK1-TIM”. Similarly, the binary value of the digital position signal S


6


immediately after the threshold K


2


and the conversion time thereof are stored in the tone generation table. However, the binary value of the digital key position signal S


6


, i.e., the current key position immediately after the threshold K


4


and the conversion time thereof are read out from the internal registers R


3


L and E


5


. The key velocity S


01


, the mean key velocity S


24


and the mean key velocity S


14


may be stored in the general-purpose internal registers.




Upon completion of the calculation, the central processing unit


100




a


proceeds to step SP


74


, and compares the key velocity S


01


with the mean key velocity S


14


to see whether the key velocity S


01


is less than the mean key velocity S


14


. When the key velocity S


01


is less than the mean key velocity


814


, the answer at step SP


74


is given affirmative, and the central processing unit


100




a


proceeds to step SP


75


. The central processing unit


100




a


firstly changes the key state to COUNT-DOWN-2”, and compares the mean key velocity with the velocity stored in the row “VELOCITY” of the tone generation table. If the mean key velocity S


24


is greater than the velocity, the player accelerates the key motion, and the central processing unit


100




a


determines the value to be counted down. The central processing unit


100




a


stores the mean key velocity S


24


and the value to be counted down in the row “VELOCITY” and the row “DWN_CNTR”, respectively.




On the other hand, if the key velocity S


01


is not less than the mean key velocity S


14


, the answer at step SP


74


is given negative, and the central processing unit


100




a


proceeds to step SP


76


. The abrupt key motion (see

FIG. 2

) results in the key velocity S


01


greater than the mean key velocity S


14


. The central processing unit


100




a


firstly changes the key state to “COUNT-DOWN-2”, and determines the value to be counted down. The velocity in the row “VELOCITY” is replaced with the meant key velocity S


14


, and the value in the row “DWN_CNTR” is replaced with the new value to be counted down. Finally, the central processing unit


100




a


returns to the step SP


32


.




The key state has been changed to “SOUND”. The answers at steps SP


35


, SP


36


, SP


37


are given negative. The values stored in the row “DWN_CNTR” are decremented at every first interruption subroutine (see FIG.


13


). When the value stored in a memory location of the row DWN_CNTR” reaches zero, the central processing unit


100




a


starts the tone generation through the channel, and changes the key state to “SOUND”. Then, the answer at step SP


36


is given affirmative, and the central processing unit


100




a


enters the subroutine SR


4


for “SOUND” shown in FIG.


22


.




The central processing unit


100




a


firstly checks the current key position to see whether or not the black/white key


3




a


/


3




b


has upwardly passed the detecting point K


2


as by step SP


81


. If the black/white key


3




a


/


3




b


is upwardly moving the section between the detecting point K


2


and the detecting point K


1


, the answer at step SPS


1


is given negative, and the central processing unit


100




a


supplies a key-off signal MIDI OFF to the tone generator


100




f


as by step SP


82


. Then, the tone generator


100




f


rapidly damps the audio signal S


2


, and extinguishes the electronic sound.




Subsequently, the central processing unit


100




a


checks the current key position to see whether or not the black/white key has upwardly passed the detecting point K


1


as by step SP


83


. If the black/white key


3




a


/


3




b


enters the section over the detecting point K


1


, the answer at step SP


83


is given negative, and the central processing unit


100




a


changes the key state to “UPPER” as by step SP


84


. Thereafter, the central processing unit


100




a


returns to the step SP


32


in the main routine.




On the other hand, if the black/white key


3




a


/


3




b


is still between the detecting, points K


1


and K


2


, the answer at step SP


83


is given affirmative, and the central processing unit


100




a


changes the key state to “HOLD” as by step SP


85


. Thereafter, the central processing unit


100




a


returns to the step SP


32


in the main routine.




If the black/white key


3




a


/


3




b


is under the detecting point K


2


, the answer at step SPS


1


is given affirmative, and the central processing unit


100




a


enters a subroutine for “RELEASE” SR


8


. The subroutine for “RELEASE” is illustrated in FIG.


23


.




There are two kinds of key state “SOUND”. The first kind of key state “SOUND” is referred to at step SP


13


, and is hereinbelow labeled with “SOUND 0”. On the other hand, the other kind of key state “SOUND 1” relates to the detecting point K


2


A, and will be described hereinlater. In the subroutine for “RELEASE”, the central processing unit


100




a


firstly examines whether or not the key state is “SOUND 0” as by step SP


86


. When the tone generator


100




f


starts to generate an electronic signal, the corresponding black/white key


3




a


/


3




b


enters the key state “SOUND 0”. For this reason, the central processing unit


100


firstly gives the answer at step SP


86


affirmative. The central processing unit


100




a


proceeds to step SP


87


, and checks the current key position to see whether or not the black/white key


3




a


/


3




b


is still under the detecting point K


2


A. If the black/white key


3




a


/


3




b


is still in the deep key position, the answer at step SP


87


is given affirmative, the central processing unit


100




a


returns through the subroutine for SOUND” to the step SP


32


in the main routine.




On the other hand, if the black/white key


3




a


/


3




b


has upwardly passed the detecting point K


2


A, the answer at step SP


87


is given negative, and the central processing unit


100




a


changes the key state to “SOUND 1”, and increases the release rate to “AXXX01” indicative of a large damping rate as by step SP


88


. The release rate “AXXX01” is a MIDI code, and no further description is incorporated hereinbelow. The tone generator


100




f


is responsive to the release rate “AXXX01” so as to accelerate the release in the envelope of the audio signal S


2


. As a result, the electronic sound is damped faster than an electronic sound in the natural damping. The central processing unit


100




a


returns through the subroutine for SOUND” to the step SP


32


in the main routine.




On the other hand, if the key state has been already changed to “SOUND 1” the answer at step SP


86


is given negative, and the central processing unit


100




a


checks the current key position to see whether or not the black/white key


3




a


/


3




b


has upwardly passed the detecting point K


2


A as by step SP


89


. If the black/white key


3




a


/


3




b


is over the detecting point K


2


A, the answer at step SP


89


is given negative and the central processing unit


100




a


returns through the subroutine for “SOUND” to the step SP


32


in the main routine.




On the other hand, if the black/white key


3




a


/


3




b


has entered the section of the key trajectory under the detecting point K


2


A, the answer at step SP


89


is given affirmative, and the central processing unit


100




a


proceeds to step SP


90


. The central processing unit


100




a


changes the key state to “SOUND 0” and the release rate to “AX XX 00”. The release rate “AX XX 00” is also a MIDI code well known to skilled person. The release rate “AX XX 00” is smaller in damping rate than the release rate “AX XX 01”. The tone generator


100




f


slowly decays the release in the envelope of the audio signal S


2


at the release rate “AX XX 00”, and the electronic sound is damped in the natural damping. The central processing unit


100




a


returns through the subroutine for “SOUND” to the step SP


32


in the main routine. Thus, the controller


100


changes the release rate depending upon the depth of the black/white key


3




a


/


3




b


with respect to the detecting point K


2


A, and delicately controls the damping of the electronic sounds. An acoustic piano damps the acoustic sound when the damper head is brought into contact with the strings. However, the damper head is not straightly brought into contact with the strings. If the player delicately fingers a black/white key


3




a


/


3




b,


the black/white key


3




a


/


3




b


makes the damper head dancing on the strings. The motion of damper head influences the damping of the acoustic sound. Similarly, when the release rate is appropriately changed, the electronic sound is damped like the acoustic piano. Thus, the controller


100


reproduces the delicate damping of the acoustic sound.




The key state “HOLD” is representative of a black/white key downwardly depressed under the detecting point K


2


and, thereafter, returning to a key position between the detecting points K


2


and K


1


or a black/white key


3




a


/


3




b


staying at a key position lower than the detecting point K


1


but not lower than the detecting point K


2


for a predetermined time. If the key state has been changed to “HOLD”, the answers at steps SP


35


, SP


36


, SP


37


and SP


38


are given negative, and the answer at step SP


39


is given affirmative. Then, the central processing unit


100




a


enters the subroutine “HOLD” SR


5


, and

FIG. 24

illustrates the subroutine “HOLD”.




The central processing unit


100




a


firstly checks the current key position to see whether or not the black/white key


3




a


/


3




b


has downwardly passed the detecting point K


2


as by step SP


91


. If the black/white key


3




a


/


3




b


is over the detecting point K


2


, the answer at step SP


91


is given negative. Then, the central processing unit


100




a


checks the current key position again to see whether or not the black/white key


3




a


/


3




b


has downwardly passed the detecting point K


1


as by step SP


92


. If the black/white key


3




a


/


3




b


is still staying at the position lower than the detecting point K


1


but not lower than the detecting point K


2


, the answer at step SP


92


is given affirmative, and the central processing unit


100




a


returns to the step SP


32


in the main routine.




On the other hand, if the black/white key


3




a


/


3




b


had upwardly passed the detecting point K


1


, the answer at step SP


92


is given negative, and the central processing unit


100




a


changes the key state to “UPPER” as by step SP


93


. The central processing unit


100




a


returns to the step SP


32


in the main routine.




If the player depresses the black/white key


3




a


/


3




b


under the detecting point K


2


, the answer at step SP


91


is given affirmative, and the central processing unit


100




a


assigns a column of the tone generation table to the black/white key


3




a


/


3




b


as by step SP


94


. However, if all the columns have been already assigned to other black/white keys


3




a


/


3




b,


the central processing unit passes the step SP


94


without execution.




Subsequently, the central processing unit


100




a


checks the current key state to see whether or not the black/white key


3




a


/


3




b


has downwardly passed the detecting point K


3


as by step SP


95


. If the player strongly depresses the black/white key


3




a


/


3




b,


the black/white key


3




a


/


3




b


passes two detecting points K


2


and K


3


in the single sampling period, and the central processing unit


100




a


proceeds to step SP


96


.




In the step SP


96


, the central processing unit


100




a


firstly changes the key state to “COUNT-DOWN-3”, and gives the maximum velocity “7F” to the black/white key


3




a


/


3




b.


The central processing unit


100




a


determines the value to be counted down, and stores the piece of tone data information representative of the maximum velocity “7F” and the count-down values in the row “VELOCITY” and the row “DWN_CNTR”, respectively. Then, the central processing unit


100




a


returns to the step SP


32


in the main routine.




On the other hand, if the black/white key


3




a


/


3




b


is moving between the detecting points K


2


and K


3


, the answer at step SP


95


is given negative, and the central processing unit


100




a


proceeds to step SP


97


. In the step SP


97


, the central processing unit


100




a


firstly changes the key state to “TOUCH-B”, and changes the associated overtime counter to zero. The central processing unit


100




a


transfers the current key position and the conversion time from the internal registers R


3


L and E


5


to the memory location of the row “OVR-K2” assigned to the channel and the memory location of the row “OVK2-TIM” also assigned to the channel, and stores the pieces of tone data information representative of the current key position and the conversion time therein. Thus, the key position and the conversion time are memorized in the tone generation table for the black/white key


3




a


/


3




b


passing the detecting point K


2


.




Turning back to

FIG. 18

, if the black/white key


3




a


/


3




b


is depressed after entry into the key state “HOLD” without return to the rest position, all the answers at steps SP


35


, SP


36


, SP


37


, SP


38


, SP


39


and SP


40


are given negative, and the central processing unit


100




a


enters the subroutine for “TOUCH-B” SR


7


.




The central processing unit


100




a


firstly checks the associated overtime counter to see whether or not the counter exceeds the predetermined time as by step SP


100


. If the value stored in the overtime counter indicates that the predetermined time has been already expired, the answer at step SP


100


is given affirmative, and the central processing unit


100




a


proceeds to step SP


101


. In the step SP


101


, the central processing unit


100




a


releases the column of the tone generation table from the black/white key


3




a


/


3




b,


and changes the key state to “TIME-OVER”. Thereafter, the central processing unit


100




a


returns to the step SP


32


in the main routine.




On the other hand, if the associated overtime counter stores the value indicative of a time shorter than the predetermined time, the answer at step SP


100


is given negative, and the central processing unit


100




a


proceeds to step SP


102


. The central processing unit


100




a


checks the current key position to see whether or not the black and white key


3




a


/


3




b


has downwardly passed the detecting point K


4


as by step SP


102


. If the black/white key


3




a


/


3




b


has already passed the two detecting points K


3


and K


4


, the answer at step SP


102


is given affirmative, and the central processing unit


100




a


proceeds to step SP


103


. The central processing unit


100




a


changes the key state to “COUNT-DOWN-3”, and gives the maximum value “7F” to the velocity. The central processing unit


100




a


determines the value to be counted down on the basis of the velocity “7F”, and stores the maximum velocity and the value to be counted down in the memory location of the row “VELOCITY” assigned to the associated channel and in the memory location of the row “DWN_CNTR” also assigned thereto. Thereafter, the central processing unit


100




a


returns to the step SP


32


in the main routine.




If the answer at step SP


102


is given negative, the central processing unit


100




a


proceeds to step SP


104


, and checks the current key position to see whether or not the black/white key


3




a


/


3




b


has downwardly passed the detecting point K


3


. When the black/white key


3




a


/


3




b


is in the section between the detecting points K


3


and K


4


, the answer at step SP


104


is given affirmative, and the central processing unit


100




a


proceeds to step SP


105


. The central processing unit


100




a


firstly changes the key state to “COUNT-DOWN-1”, and calculates the key velocity between the detecting points K


2


and K


3


. The binary value of the digital positional signal S


6


at the detecting point K


2


and the conversion time are read out from the tone generation table, and the binary value of the digital positional signal S


6


at the detecting point K


3


and the conversion time are read out from the internal registers R


3


L and E


5


. The key velocity is converted to the velocity, and the value to be counted down is determined on the basis of the velocity as shown in FIG.


11


. Finally, the central processing unit


100




a


stores the velocity and the value to be counted down in the memory location of the row “VELOCITY” assigned to the associated channel and in the memory location of the row “DWN_CNTR” also assigned thereto. Upon completion of the jobs, the central processing unit


100




a


returns to the step SP


32


in the main routine.




If the answer at step SP


104


is given negative, the central processing unit


100




a


checks the current key position to see whether or not the black/white key has downwardly passed the detecting point K


2


as by step SP


106


. When the black/white key


3




a


/


3




b


is in the section between the detecting points K


2


and K


3


, the answer at step SP


106


is given affirmative, and the central processing unit


100




a


returns to the step SP


32


in the main routine.




On the other hand, if the answer at step SP


106


is given negative, the central processing unit


100




a


releases the column of the tone generation table from the black/white key


3




a


/


3




b


as by step SP


107


, and the released column is available for the tone generation on other black/white keys


3




a


/


3




b.






Subsequently, the central processing unit


100




a


checks the current key position to see whether or not the black/white key


3




a


/


3




b


has downwardly passed the detecting point K


1


as by step SP


108


. If the answer at step SP


108


is given affirmative, the central processing unit


100




a


changes the key state to “HOLD”, and, thereafter, returns to the step SP


32


in the main routine. On the other hand, if the answer at step SP


108


is given negative, the central processing unit


100




a


changes the key state to “UPPER”, and, thereafter, returns to the step SP


32


in the main routine.




Turning back to

FIG. 18

, if the key state is “TIME-OVER”, the answer at step SP


35


, SP


36


, SP


37


, SP


38


and SP


39


are given negative, and the answer at step SP


40


is given affirmative. Then, the central processing unit


100




a


enters the subroutine for “TIME-OVER” shown in FIG.


26


. The central processing unit


100




a


checks the current key position to see whether or not the black/white key


3




a


/


3




b


is under the detecting point K


2


as by step SP


120


. If the black/white key


3




a


/


3




b


is still lower than the detecting point K


2


, the answer at step SP


120


is given affirmative, and the central processing unit


100




a


returns to the step SP


32


in the main routine. Thus, the key state is unchanged after the entry into the key state “TIME-OVER”. Even if the black/white key


3




a


/


3




b


reaches the end position after the entry into the key state “TIME-OVER”, any electronic sound is generated. If a player keeps a black/white key of an acoustic piano between the detecting points K


2


and K


3


for the predetermined time, further key motion does not result in a strike of strings with a hammer, and any acoustic sound is not generated. Thus, the subroutine for “TIME-OVER” makes the generation of electronic sounds similar to that of the acoustic piano.




On the other hand, if the black/white key


3




a


/


3




b


is over the detecting point K


2


, the answer at step SP


120


is given negative, and the central processing unit


100




a


checks the current key position to see whether or not the black/white key


3




a


/


3




b


is under the detecting point K


1


as by step SP


121


. If the black/white key


3




a


/


3




b


is between the detecting points K


2


and K


1


, the answer at step SP


121


is given affirmative, and the central processing unit


100




a


changes the key state to “HOLD” as by step SP


122


. Thereafter, the central processing unit


100




a


returns to the step SP


32


in the main routine. On the other hand, if the black/white key


3




a


/


3




b


has upwardly passed the detecting point K


1


, the answer at step SP


123


is given negative, and the central processing unit


100




a


changes the key state to “UPPER” as by step SP


123


. Thereafter, the central processing unit


100




a


returns to the step SP


32


in the main routine. Even if the player allows the black/white key


3




a


/


3




b


to return over the detecting point K


2


, further downward key motion releases the black/white key


3




a


/


3




b


from the key state “TIME-OVER”, and the tone generator can generate the electronic sounds in response to the key motions of the released keys.




As described hereinbefore, the interruption subroutines (see FIGS.


13


and


15


), the main routine (see

FIG. 18

) and the subroutines (see

FIGS. 19

to


26


) are linked with one another, and the control is transferred therebetween as shown in FIG.


27


.




Control Sequence Along Actual Key Motions




Description is hereinbelow made on the control sequence of the automatic player piano. The silent system


20


is changed to the block position, and does not allow the hammers


6


to strike the associated strings


7


. A player is assumed to give rise to the key motions shown in

FIGS. 8

,


16


and


17


.




Firstly,

FIG. 16

is referred to. The black/white key


3




a


/


3




b


is staying at the rest position before time t


1


, and starts the key motion at time t


1


. The key state “UPPER” is initially stored in the row “KEY_STATE” of the key table, and the central processing unit


100




a


processes the data information along the subroutine “UPPER” immediately after the initiation. While the black/white key


3




a


/


3




b


is downwardly moving, in the section between the rest position and the detecting point K


1


, the central processing unit


100




a


repeatedly returns from the subroutine “UPPER” through the step SP


42


, and does not change the key state.




The black/white key


3




a


/


3




b


passes the detecting point K


1


at time t


2


. Then, the central processing unit


100




a


assigns a column of the tone generation table for a tone generation through steps SP


43


, SP


44


and SP


45


, and changes the key state to “TOUCH-A” (see step SP


45


). As a result, the central processing unit


100




a


changes the control sequence from the subroutine for “UPPER” to the subroutine for “TOUCH-A” shown in FIG.


20


.




The black/white key


3




a


/


3




b


passes the detecting point K


2


at time t


3


. The central processing unit


100




a


determines the velocity and the value to be counted down, and stores them in the tone generation table through steps SP


51


, SP


53


, SP


54


and SP


55


. The central processing unit


100




a


changes the key state to “COUNT-DOWN”, and the control is transferred from the subroutine “TOUCH-A” to the subroutine for “COUNT-DOWN” shown in FIG.


21


.




The black/white key


3




a


/


3




b


passes the detecting point K


3


at time t


4


. The central processing unit


100




a


determines the velocity and the value to be counted down through steps SP


67


, SP


68


, SP


69


and SP


70


, and changes the key state to “COUNT-DOWN-1”.




The black/white key


3




a


/


3




b


passes the detecting point K


4


at time t


5


. The central processing unit


100




a


determines the velocity and the value to be counted down through the steps SP


68


, SP


71


and SP


72


, and changes the key state to “COUNT-DOWN-2”. Although the velocity is recalculated at the detecting points K


3


and K


4


, a larger velocity and the associated value to be counted down are left in the tone generation table. Thus, the largest velocity and the associated value to be counted down are finally left in the tone generation table. The value to be counted down is decremented at every interruption subroutine (see step SP


13


). When the counter reaches zero, the tone generator starts to generate the audio signal at time t


6


, and the central processing unit


100




a


changes the key state to “SOUND”.




The black/white key


3




a


/


3




b


is released at time t


7


, and is upwardly moved. The black/white key


3




a


/


3




b


upwardly passes the detecting point K


2


at time t


10


, and the central processing unit


100




a


instructs the tone generator


100




f


to stop the tone generation. The central processing unit


100




a


changes the key state to “HOLD” through the steps Sp


81


, SP


82


, SP


83


and SP


85


.




The black/white key


3




a


/


3




b


is depressed, again. Then, a column of the tone generation table is assigned to the black/white key


3




a


/


3




b


through the steps SP


91


, SP


94


, SP


95


and SP


97


, and the key state is changed to “TOUCH-B”. The black/white key


3




a


/


3




b


is further depressed, and the key state is changed to “COUNT-DOWN”, again. The count-down value reaches zero at time t


14


, and the central processing unit


100




a


instructs the tone generator


100




f


to generate the electronic sound.




The player releases the black/white key


3




a


/


3




b,


and the key state is changed to “HOLD” at time t


17


. The player depresses the black/white key


3




a


/


3




b,


again. The black/white key


3




a


/


3




b


passes the detecting point K


2


at time t


18


, and the key state is changed to “TOUCH-B”. The player keeps the black/white key


3




a


/


3




b


in the key state “TOUCH-B” for the predetermined time, and the black/white key


3




a


/


3




b


enters the key state “TIME-OVER”. Although the player depresses the black/white key


3




a


/


3




b


after the entry into the key state “TIME-OVER”, the key state is unchanged, and any count-down value is stored for the black/white key


3




a


/


3




b.


For this reason, any electronic sound is not generated.




The black/white key


3




a


/


3




b


is upwardly moved, and passes the detecting point K


2


at time t


21


and the detecting point K


1


at time t


22


. Accordingly, the they state is changed to “HOLD” at time t


21


and “UPPER” at time t


22


. This is the control sequence for the key motion indicated by the real line in FIG.


16


.




On the contrary, if the player continuously keeps the black/white key


3




a


/


3




b


in the key state “TOUCH-A” from point P


10


as indicated by broken line, the predetermined time is expired at point P


11


. However, the black/white key


3




a


/


3




b


enters the key state “HOLD” through the steps SP


51


and SP


52


. If the player releases the black/while key


3




a


/


3




b


at point P


10


, the black/white key


3




a


/


3




b


returns to the section over the detecting point K


1


as indicated by another broken line, and enters the key state “UPPER” at point P


12


through the step s SP


57


and SP


58


.




Furthermore, if the player releases the black/white key


3




a


/


3




b


at point P


20


, the black/white key


3




a


/


3




b


is moved from point P


20


through point P


21


along broken line, and enters the key state “HOLD” (see steps SP


108


and SP


109


).




Subsequently, description is made on the control sequence for the key motion shown in FIG.


17


. The key motion shown in

FIG. 17

contains two parts both classified into the abrupt key motion. The first part is from point P


1


to point P


2


, and the black/white key


3




a


/


3




b


passes the thresholds K


1


and K


2


in a certain sampling period of the key sensors


90


. The black/white key


3




a


/


3




b


enters the key state “COUNT-DOWN-3” through the steps SP


41


, SP


43


, SP


44


and SP


46


, and the tone generator


100




f


generates the electronic sound at the maximum velocity “7F”.




The second part is from point P


3


to point P


4


, and the black/white key


3




a


/


3




b


passes the thresholds K


2


and K


3


in another sampling period. The black/white key


3




a


/


3




b


enters the key state “COUNT-DOWN-3” through the steps SP


91


, SP


94


, SP


95


and SP


96


, and the tone generator


100




f


generates the electronic sound at the maximum velocity “7F”.




Finally, when the black/white key


3




a


/


3




b


repeatedly crosses the detecting point K


2


A as shown in

FIG. 8

, the central processing unit


100




a


changes the release rate through the control sequence shown in

FIG. 23

, and the electronic sounds are delicately damped.




As will be understood from the foregoing description, the automatic player piano according to the present invention achieves the following advantages.




First, the manufacturer gives the coefficients ri to the controller


100


, and the central processing unit multiplies the binary value at the rest position by the coefficients ri. The produces are indicative of the binary values at the detecting points K


1


, K


2


, K


3


, K


4


and K


2


A. Thus, the manufacturer appropriately determines the detecting points and, accordingly, the thresholds K


1


, K, K


3


, K


4


and K


2


A.




Second, the space between the rest position and the end position is divided into the plural sections, and the controller


100


discriminates various kinds of key motions, such as a key motion in the section between the rest position and the detecting point K


1


and a key motion in the section under the detecting point K


4


. Accordingly, the tone generator


100




f


appropriately controls the loudness, the damping rate and so fourth.




Third, the thresholds K


1


, K


2


, K


3


, K


4


and K


2


A are changeable. This means that the controller can correct installation errors of the key sensors


90


on the key bed


4




a


through the calibration.




Fourth, the key state such as “TOUCH-A”, “COUNT-DOWN-0”, “TOUCH-B” and “HOLD” is determined on the basis of the previous key state and the current key position. The controller takes the current key position, the previous key state and the duration in the previous key state into account for the key state “TIME-OVER” and the key state “HOLD”. Thus, the central proccssing unit


100




a


exactly recognizes the current key state, and appropriately instructs the tone generator


100




f


to generate the electronic sounds. The electronic sounds contain details of the acoustic piano sounds. For example, the detecting point K


2


A is provided at a certain point on the trajectory of each black/white key


3




a


/


3




b,


and the associated damper head is brought into contact with the strings at the certain point. The tone generator changes the release rate depending upon the key motion around the detecting point K


2


A. As a result, the electronic sound is damped like the acoustic piano sound.




Fifth, the controller


100


discriminates the abrupt key motion from the ordinary key motion. The central processing unit


100




a


calculates the key velocity in the different spans, i.e., the key velocities S


01


, S


24


and S


14


, and determines the velocity after the comparison (see the step SP


74


). As described hereinbefore, the abrupt key motion has the step A


1


(see FIG.


2


), and the step A


1


takes place in any one or ones of the sections. A step A


1


extends from the section K


1


-K


2


to the section K


3


-K


4


. In this situation, if the central processing unit


100




a


calculates the key velocity in a particular section at all times, the key velocity does not exactly reflect the velocity or the intensity of the impact. The central processing unit


100




a


determines the key velocity in the span between the detecting point K


1


and the detecting point K


4


for the abrupt key motion, and eliminates the error due to the step A


1


from the velocity.




In the above-described embodiment, the black/white keys


3




a


/


3




b


serve as manipulators, respectively. The sections between the detecting points K


1


, K


2


, K


2


A, K


3


, K


4


are corresponding to four of sections defined in space between the rest position and the end position.




Modification




In the above-described embodiment, when the black/white key


3




a


/


3




b


passes each of the detecting points K


2


, K


3


and K


4


, the central processing unit


100




a


repeatedly calculates the key velocity, and the velocity and the count-down value are changed to new ones under the conditions that the new velocity is greater than the previous one. However, another embodiment determines the key velocity S


01


, S


14


and S


24


. When the black/white key


3




a


/


3




b


passes the detecting point K


4


, the central processing unit


100




a


compares the key velocity S


01


with the key velocity S


14


. If the key velocity S


01


is less than the key velocity S


14


, the central processing unit


100




a


employs the key velocity S


24


as the velocity, and determines the count-down value on the basis of the key velocity S


24


. On the other hand, if the key velocity S


01


is greater than the key velocity S


14


, the central processing unit


100




a


employs the key velocity S


14


as the velocity, and determines the count-down value on the basis of the key velocity S


14


.




In the above-described embodiment, the central processing unit employs the key velocity S


24


for the ordinary key motion and the key velocity S


14


for the abrupt key motion. As a result, the span for the ordinary key motion contains the span for the ordinary key motion. In another embodiment, the span for the ordinary key motion is partially overlapped with the span for the abrupt key motion. Otherwise, the span for the ordinary key motion may be spaced from the span for the abrupt key motion.




In the above-described embodiment, the tone generator


100




f


generates the electronic sounds, the tone-color of which is like that of an acoustic piano. In another embodiment, the tone generator


100




a


stores an envelope different from that of an acoustic piano, and give a different tone-color to the electronic sounds. The damping rate is controlled as similar to the above-described embodiment. The envelop control may be applied to another part of the envelop such as the sustain.




The present invention is applicable to any kind of keyboard musical instrument such as, for example, an electric keyboard without any key action mechanism. The present invention may be further applied to a manipulator except the black/white keys


3




a


/


3




b.






The key position signal S


3


is available for a feedback signal representative of the current key position in the automatic playing using the key actuators


30


.




In the above-described embodiment, the span for calculating the key velocity is different depending upon the key state. The key velocity is calculated on the basis of the key motion between the detecting point K


1


and the detecting point K


2


in the key state “TOUCH-A”, the key velocity is calculated on the basis of the key motion between the detecting point K


1


and the detecting point K


3


in the key state “COUNT-DOWN-0”, and the key velocity is calculated on the basis of the key motion between the detecting point K


2


and the detecting point K


4


in the key state “COUNT-DOWN-1”. However, the span used for the calculation is never limited to the above. In another embodiment, the key velocity is calculated on the basis of the key motion from the detecting point K


2


and the detecting point K


3


in the key state “COUNT-DOWN-0”.




In the above-described embodiment, the detecting points K


1


, K


2


, K


2


A, K


3


and K


4


divide the space between the rest position and the end position into the sections. In another embodiment, three detecting points K


2


A, K


2


B and K


2


C are provided in the section between the detecting points K


2


and K


3


as shown in FIG.


28


. Although the detecting points are increased, any additional sensor is not required, because the thresholds K


1


, K


2


, K


2


A, K


2


B, K


2


C, K


3


and K


4


corresponding to the detecting points K


1


to K


4


are determined through the calculation using the coefficients ri. Of course, more than three detecting points may be provided between the detecting points K


2


and K


3


. Thus, the increase of detecting points does not result in cost-up.




The damping rate is varied as “AX XX 00”, “AX XX 01”, “AX XX 02” and “AX XX 03”. The damping rate “AX XX 00” is representative of the natural damping, and the damping rage is increased from “AX XX 00” to “AX XX 03”. An electronic sound is generated at point P


50


, and is damped at the natural damping rate between the points P


50


and P


51


and between the points P


52


and P


53


. The damping rate is increased and, thereafter, decreased between the points P


51


and P


52


, and is increased from the point P


53


and the key-off point. As a result, the electronic sound has the envelope shown in FIG.


29


. Thus, the electronic sounds are closer to the acoustic sound rather than the electronic sounds generated by the above-described embodiment.




Finally, the central processing unit


100




a


compares the new velocity with the previous velocity to determine whether or not the count-down value is renewed. In another embodiment, the central processing unit


100




a


directly compares the new count-down value with the previous count-down value to determine whether or not the central processing unit


100




a


is to replace the previous count-down value with the new count-down value. The direct comparison is expected to enhance the accuracy. When, the present inventors investigated the indirect comparison and the direct comparison, there is not any significant difference between them. However, the indirect comparison is desirable for the simplification of data processing.




Although particular embodiments of the present invention has been shown and described, it will be obvious to those skilled in the art that various changes and modifications may be made without departing from the spirit and scope of the present invention.




The catcher stopper


2




a


may be driven for rotation by means of a pedal or a knob linked therewith. The catcher stopper


2




a


may be replaced with a shank stopper, on which the hammer shanks rebound before striking the sets of strings


7


. Any kind of stopper is available for rebounding the hammers


6


.




The music data codes representative of the performance may be transferred to another automatic player piano through a suitable channel.




In the subroutine for “COUNT-DOWN”, the central processing unit


100




a


may not have step SP


62


. In this instance, the electronic sounds are generated for the staccatos.




The present invention may be applied to a silent piano, i.e., the combination of an acoustic piano and the silent system or a standard automatic player piano, i.e., the combination of an acoustic piano and the automatic playing system.



Claims
  • 1. A keyboard musical instrument comprisingmanipulators movable through a space divided into sections between respective rest positions of said manipulators and respective end positions of said manipulators, sensors respectively provided for said manipulators and measuring trajectories of the associated manipulators in said sections, a controller connected to said sensors and calculating a section velocity of each of said manipulators in each of said sections so as to determine the trajectory of each manipulator to be categorized in one of kinds of the motions of said manipulators on the basis of the values of said section velocity respectively calculated in said sections, and a tone generator connected to said controller and regulating an attribute of a sound to be produced in response to said each manipulator to an appropriate value on the basis of one of said values of said section velocity selected depending upon said one of the kinds of said motions.
  • 2. The keyboard musical instrument as set forth in claim 1, in which said one of said kinds of motions has a first trajectory having a first part represented by a first value of said section velocity and a second part closer to said end position than said first part and represented by a second value of said section velocity less than said first value, and another of said kinds of motions has a third part represented by a third value of said section velocity and a fourth part closer to said end position than said third part and represented by a fourth value of said section velocity greater than said third value,said controller discriminating said one of said kinds of motions from said another of said kinds of motions on the basis of variation of said section velocity.
  • 3. The keyboard musical instrument as set forth in claim 2, in which said controller further calculates a velocity significant to said attribute for said one of said manipulators on the basis of a portion of said first trajectory, said portion of said first trajectory being longer than a portion of said second trajectory.
  • 4. The keyboard musical instrument as set forth in claim 3, in which said manipulators form in combination a keyboard.
  • 5. The keyboard musical instrument as set forth in claim 4, further comprisingkey action mechanisms connected to said manipulators, hammers driven for rotation by said key action mechanisms, respectively, strings to be struck with said hammers, respectively, and damper mechanisms respectively linked with said manipulators and changed between a contact state and a spaced state by the associated manipulators, respectively.
  • 6. The keyboard musical instrument as set forth in claim 5, further comprisinga silent system changed between a blocking position and a free position, said silent system causing said hammers to rebound thereon before striking said strings in said blocking position and to strike said strings in said free position.
  • 7. The keyboard musical instrument as set forth in claim 6, further comprising an automatic playing system includingactuators respectively associated with said manipulators and connected to said controller so as to be selectively energized for moving the associated manipulators without any fingering on said keyboard.
  • 8. The keyboard musical instrument as set forth in claim 3, in which said attribute is the loudness of said electronic sound.
  • 9. The keyboard musical instrument as set forth in claim 1, in which said sensors includesshutter plates respectively attached to said manipulators and moved along shutter trajectories and photo-interrupters respectively associated with said manipulators, producing optical beams across said shutter trajectories, respectively, and supplying positional signals respectively representative of current manipulator positions to said controller so that said controller determines said trajectories as series of current manipulator positions.
  • 10. The keyboard musical instrument as set forth in claim 9, in which each of said positional signals varies a value representative of the intensity of non-interrupted optical beam between said rest position and said end position, and boundaries of said sections for one of said manipulators are defined by values of associated one of said positional signals given through a multiplication between a distance from said rest position to said end position and coefficients.
  • 11. The keyboard musical instrument as set forth in claim 10, in which said coefficients are changeable.
  • 12. An information processing system for categorizing a motion of a manipulator into one of predetermined kinds of motions, comprising:a data storage means for storing first pieces of data information representative of values of a section velocity of manipulators of a musical instrument measured in sections of a space between rest positions of said manipulators and end positions of said manipulators; and a means for determining a motion of each of said manipulators to be categorized in one of kinds of motions on the basis of variation of said values of said section velocity.
  • 13. The information processing system as set forth in claim 12, further comprisinga means for determining a significant velocity for the motion of one of said manipulators categorized in one of said kinds of motions on the basis of a velocity of a first zone of said space, said velocity of said first zone being larger than a velocity of a second zone of said space for the motion categorized in another of said kinds.
Priority Claims (1)
Number Date Country Kind
10-265533 Sep 1998 JP
US Referenced Citations (5)
Number Name Date Kind
5451708 Fujiwara et al. Sep 1995
5583310 Sugiyama et al. Dec 1996
5804816 Yamamoto et al. Sep 1998
5824930 Ura et al. Oct 1998
6051762 Fujiwara et al. Apr 2000
Foreign Referenced Citations (1)
Number Date Country
9-54584 Feb 1997 JP