Patent Publication Number: US-7902449-B2

Title: Music performance system for music session and component musical instruments

Description:
FIELD OF THE INVENTION 
     This invention relates to a music performance system for players remote from one another and, more particularly, to a music performance system with plural musical instruments communicable with one another through a communication network. 
     DESCRIPTION OF THE RELATED ART 
     An automatic player piano is a combination between an acoustic piano and an automatic playing system, and a human player or an automatic player, which is implemented by a computerized key driving system, performs music tunes on the acoustic piano. The automatic player has solenoid-operated key actuators, which are, by way of example, installed under the keyboard, and are selectively energized under the control of a computer system on the basis of pieces of music data. 
     The automatic player piano is available for a music performance system. An example of the music performance system is disclosed in Japan Patent Application laid-open No. 2006-178197. Two automatic player pianos are incorporated in the prior art music performance system. One of the automatic player pianos serves as a master musical instrument, and the other serves as a slave musical instrument. While a human player is fingering a music tune on the master musical instrument, music data codes, which express the performance on the master musical instrument, are produced in the computer system of master musical instrument, and are transferred to the computer system of the slave musical instrument. The pieces of music data, which are stored in the music data codes, are analyzed in the computer system of slave musical instrument, and the keys to be moved and target trajectories for the keys are determined through the analysis. The solenoid-operated key actuators for the keys to be moved are energized in such a manner that the plungers of solenoid-operated key actuators force the keys to travel on the target trajectories. As a result, the hammers of slave musical instrument are driven for rotation, and are brought into collision with the strings so as to produce the piano tones without fingering on the slave musical instrument. Thus, the human player performs the music tune through both of the master musical instrument and slave musical instrument with the assistance of the automatic playing system. 
     In the following description, term “music session” means a real-time performance in which the music data expressing fingering on one of the component musical instruments is transferred through a communication network to another component musical instrument for the automatic playing and vice versa so as to perform a music tune on the component musical instruments. 
     Although the prior art music performance system permits a human player to drive the keys of slave musical instrument through the fingering on the keyboard of master musical instrument, the inventor of prior art music performance system does not aim at the music session between the master musical instrument and the slave musical instrument. The pieces of music data unidirectionally flow from the master musical instrument to the slave musical instrument. The automatic playing system of slave musical instrument merely reproduces the movements of keys of master musical instruments. The music session is not taken into account. 
     Even if the roll of master musical instrument and the roll of slave musical instrument are dynamically changed between the two automatic player pianos, the music session does not smoothly proceed. Time lag takes place between the fingering on the master musical instrument and the tones produced through the slave musical instrument. The time lag is partially due to the data transfer from the master musical instrument to the slave musical instrument, and the solenoid-operated key actuators consume the time period of the order of hundreds milliseconds. The data transmission time lag is added to the mechanical time lag, and the total time lag makes it impossible to perform music tunes in good ensemble between the master musical instrument and the slave musical instrument. However, any countermeasure against the time lag is not incorporated in the prior art music performance system. In case where the automatic player pianos are connected to one another through a data communication network such as the internet, the above-described problems become serious. 
     SUMMARY OF THE INVENTION 
     It is therefore an important object of the present invention to provide a music performance system, which makes it possible to reduce the time lag between fingering on a component musical instrument and tones produced through another component musical instrument. 
     It is also an important object of the present invention to provide a musical instrument, which forms a part of the music performance system. 
     To accomplish the object, the present invention proposes to presume prospective movements of manipulators so as to reproduce the prospective movements through manipulators of another musical instrument. 
     In accordance with one aspect of the present invention, there is provided a music performance system for a music performance comprising plural musical instruments, each of which includes plural manipulators selectively moved for specifying tones to be produced, a tone generator connected to the plural manipulators for producing the tones, actuators provided in association with the plural manipulators and responsive to driving signals so as to reproduce prospective movements of plural manipulators of another of the plural musical instruments without any fingering of a human player, a converter monitoring the plural manipulators and producing detecting signals representative of physical quantity expressing real movements of the plural manipulators of the aforesaid each of the plural musical instruments, a communicator transmitting pieces of performance data expressing the prospective movements or the real movements of the plural manipulators of the aforesaid each of the plural musical instruments to another of the plural musical instruments and receiving other pieces of performance data expressing the prospective movements or the real movements of the plural manipulators of the aforesaid another of the plural musical instruments from the aforesaid another of the plural musical instruments, a data producer connected between the converter and the communicator and producing pieces of performance data expressing the real movements from the physical quantity expressed by the detecting signals and a signal producer connected between the communicator and the actuators and producing the driving signals from the other pieces of performance data expressing the prospective movements so as to supply the driving signals to the actuators, a communication channel connected to the communicators of the plural musical instruments and propagating the pieces of performance data and the other pieces of performance data between the aforesaid each of the plural musical instruments and the aforesaid another of the plural musical instruments, and a prospective data producer provided in association with the data producer of the aforesaid each of the plural musical instruments or the data producer of the aforesaid another of the plural musical instruments so as to make the data producer produce the pieces of performance data expressing the prospective movements or the other pieces of performance data expressing the prospective movements instead of the pieces of performance data expressing the real movements or the other pieces of performance data expressing the real movements or in association with the signal producer of the aforesaid each of the plural musical instruments or the signal producer of the aforesaid another of the plural musical instruments for producing the other pieces of performance data expressing the prospective movements or the pieces of performance data expressing the prospective movements from the pieces of other performance data expressing the real movements or the pieces of performance data expressing the real movements, wherein the prospective data producer presumes the prospective movements of the plural manipulators at a time later than the time at which the real movements take place by a predetermined time period on the basis of the pieces of performance data expressing the real movements or the other pieces of performance data expressing the real movements, thereby producing the pieces of performance data expressing the prospective movements or the other pieces of performance data expressing the prospective movements. 
     In accordance with another aspect of the present invention, there is provided a musical instrument for a music performance comprising plural manipulators selectively moved for specifying tones to be produced, a tone generator connected to the plural manipulators for producing the tones, a converter monitoring the plural manipulators and producing detecting signals representative of physical quantity expressing real movements of the plural manipulators, a data producer connected to the converter and producing pieces of performance data expressing the real movements from the physical quantity expressed by the detecting signals, a prospective data producer connected to the data producer and presuming prospective movements of the plural manipulators at a time later than the time at which the real movements take place by a predetermined time period on the basis of the pieces of performance data expressing the real movements, and a communicator connected between the prospective data producer and a communication channel and transmitting the pieces of performance data expressing the prospective movements through the communication channel to another musical instrument so as to make the aforesaid another musical instrument reproduce the prospective movements through the plural manipulators of the aforesaid another musical instruments. 
     In accordance with yet another aspect of the present invention, there is provided a musical instrument for a music performance comprising plural manipulators selectively moved for specifying tones to be produced, a tone generator connected to the plural manipulators for producing the tones, actuators provided in association with the plural manipulators and responsive to driving signals so as to reproduce prospective movements of plural manipulators of another musical instrument without any fingering of a human player, a communicator receiving pieces of performance data expressing real movements of the plural manipulators of the aforesaid another musical instrument from the aforesaid another musical instrument, a prospective data producer connected to the communicator and presuming the prospective movements of the plural manipulators at a time later than the time at which the real movements take place by a predetermined time period on the basis of the pieces of performance data expressing the real movements, thereby producing pieces of performance data expressing the prospective movements, and a signal producer connected to the prospective data producer and producing the driving signals from the pieces of performance data expressing the prospective movements so as to reproduce the prospective movements of the plural manipulators of the aforesaid another musical instrument through the plural manipulators. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The features and advantages of the music performance system and component musical instruments will be more clearly understood from the following description taken in conjunction with the accompanying drawings, in which 
         FIG. 1  is a block diagram showing the system configuration of a music performance system of the present invention, 
         FIG. 2  is a cross sectional view showing the structure of an acoustic piano and configurations of other systems incorporated in an automatic player piano, 
         FIG. 3  is a block diagram showing the system configuration of a controlling system incorporated in the automatic player piano, 
         FIG. 4  is a flowchart showing a job sequence in a music session, 
         FIG. 5  is a block diagram showing the system configuration of another music performance system of the present invention, 
         FIG. 6  is a sequence diagram showing a sequence of jobs for the music session, 
         FIG. 7  is a flowchart showing a job sequence in the music session, 
         FIG. 8  is a flowchart showing a job sequence in a preparation work for the music session, 
         FIGS. 9A and 9B  are flowcharts showing job sequences incorporated in a subroutine program for the music session, 
         FIG. 10  is a block diagram showing functions of automatic player pianos in the music session, 
         FIG. 11  is a flowchart showing a job sequence for presuming a key position and a key velocity of a corresponding key in the music session, 
         FIG. 12  is a waveform diagram showing a locus of a key in a standard fingering and a locus of the key in a half-stroke key movement, 
         FIG. 13  is a diagram showing a key position on an estimated key trajectory, a presumed key trajectory and an actual key trajectory in terms of time, 
         FIG. 14  is a diagram showing a key velocity on an estimated key trajectory, a presumed key trajectory and an actual key trajectory in terms of time, 
         FIG. 15  is a flowchart showing a job sequence for measuring a communication time lag, 
         FIG. 16  is a flowchart showing a job sequence for periodically measuring a communication time lag, 
         FIG. 17  is a diagram showing an actual key trajectory in the master musical instrument, a presumed key trajectory trEB and an actual key trajectory in the slave musical instrument in terms of time, 
         FIG. 18  is a flowchart showing a job sequence for determining a mechanical time lag, 
         FIG. 19  is a block diagram showing the system configuration of yet another music performance system of the present invention, 
         FIG. 20  is a flowchart showing a job sequence in a music session, 
         FIG. 21  is a flowchart showing a job sequence executed by a key motion estimator, 
         FIG. 22  is a block diagram showing the system configuration of still another music performance system of the present invention, 
         FIG. 23  is a flowchart showing a job sequence in a music session, 
         FIG. 24  is a flowchart showing a job sequence for producing a presumed key event data code, 
         FIG. 25  is a graph showing a presumed key position on a key trajectory, 
         FIG. 26  is a flowchart showing a job sequence for determining a total delay time, 
         FIG. 27  is a block diagram showing the system configuration of still another music performance system of the present invention, 
         FIG. 28  is a flowchart showing a job sequence in a music session, and 
         FIG. 29  is a flowchart showing a job sequence for producing a presumed key event data code. 
     
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     A music performance system embodying the present invention largely comprises plural musical instruments, a communication channel and a prospective data producer. The plural musical instruments are connected to the communication channel so that each of the plural musical instruments transfers pieces of performance data and other pieces of performance data to and receives them from another of the plural musical instruments for a music performance. While the pieces of performance data and other pieces of performance data are being propagated through the communication channel, a time lag is introduced between the delivery to the communication channel and the reception from the communication channel. 
     In the following description, term “master musical instrument” is indicative of the musical instrument from which the performance data are transmitted to another of the plural musical instrument, and term “slave musical instrument” is indicative of the musical instrument which receives the performance data. 
     The prospective data producer is provided in association with at least one of the plural musical instruments. In case where the prospective data producer is provided in association with the master musical instrument, the prospective data producer presumes prospective movements of plural manipulators thereof on the basis of pieces of performance data expressing the real movements. The prospective movement takes place at a time later than the time at which the real movement takes place by a predetermined time period. The prospective data producer produces pieces of performance data expressing the prospective movements, and the master musical instrument transmits the pieces of performance data to the slave musical instrument through the communication channel. The slave musical instrument gives rise to the prospective movements through plural manipulators thereof. 
     One the other hand, in case where the prospective data producer is provided in association with the slave musical instrument, the master musical instrument transmits the pieces of performance data expressing the real movements of plural manipulators to the slave musical instrument, and the prospective data producer presumes the prospective movements on the basis of the pieces of performance data expressing the real movements, and the slave musical instruments reproduces the prospective movements through plural manipulators thereof. 
     In either case, the prospective movements are realized through the plural manipulators of slave musical instrument. Although the time lag is introduced during the propagation of pieces of performance data through the communication channel, at least part of the time lag is cancelled by the time difference between the real movements and the prospective movements. This results in that the plural manipulators of slave musical instrument are moved at timing closer to that of the movements of plural manipulators of master musical instrument. 
     In more detail, each of the plural musical instruments includes the plural manipulators, a tone generator, actuators, a converter, a communicator, a data producer and a signal producer. A human player selectively depresses the plural musical instruments so as to specify tones to be produced in the music performance. The tone generator is connected to the plural manipulators, and the tones are produced through the tone generator. The actuators are provided in association with the plural manipulators, and are responsive to driving signals so as to reproduce the prospective movements of the plural manipulators of another of the plural musical instruments without any fingering of the human player. The converter is further provided in association with the plural manipulators, and monitors the plural manipulators so as to produce detecting signals. The detecting signals are representative of physical quantity expressing the real movements of the plural manipulators. In case where the musical instrument serves as the master musical instrument, the communicator transmits the pieces of performance data expressing the prospective movements or the real movements to another of the plural musical instruments serving as the slave musical instrument. On the other hand, in case where the musical instrument serves as the slave musical instrument, the communicator receives other pieces of performance data expressing the prospective movements or the real movements from the musical instrument. 
     The data producer is connected between the converter and the communicator, and produces the pieces of performance data expressing the real movements from the physical quantity expressed by the detecting signals. In case where the prospective data producer is provided in association with the master musical instrument, the prospective data producer is connected between the data producer and the communicator so that the pieces of performance data expressing the prospective movements are transmitted to the slave musical instrument. In case where the prospective data producer is provided in association with the slave musical instrument, the pieces of performance data is directly supplied from the data producer to the communicator, and are transmitted to the slave musical instrument. 
     The signal producer is connected between the communicator and the actuators and producing the driving signals from the other pieces of performance data expressing the prospective movements so as to supply the driving signals to the actuators. In case where the prospective data producer is provided in association with the slave musical instrument, the prospective data producer is connected between the communicator and the signal producer so that the pieces of performance data expressing the prospective movements are supplied to the signal producer. On the other hand, in case where the prospective data producer is provided in association with the master musical instrument, the pieces of performance data expressing the prospective movements are directly supplied from the communicator to the signal producer after the arrival of the pieces of performance data at the slave musical instrument. 
     In the following description, term “front” is indicative of a position closer to a player, who is sitting on a stool for fingering, than a position modified with term “rear”. A line drawn between a front position and a corresponding rear position extends in a “fore-and-aft direction”, and the fore-and-aft direction crosses a “lateral direction” at right angle. An “up-and-down direction” is perpendicular to a plane defined by the fore-and-aft direction and lateral direction. 
     Term “locus” is indicative of a series of values of key position where the key passes, and term “trajectory” means a series of values of key position varied together with time, i.e., relation between the series of value and time. 
     First Embodiment 
     System Configuration 
     Referring first to  FIG. 1  of the drawings, a music performance system embodying the present invention largely comprises plural automatic player pianos PA and PB and a communication network such as, for example, internet N. The automatic player pianos PA and PB are connectable with the internet N, and pieces of music data are transferred between the automatic player pianos PA and PB. 
     Each of the automatic player pianos PA and PB includes an acoustic piano  1 A or  1 B equipped with keys  1 A a  or  1 B a  and strings  4 A or  4 B, a communication system  15 A or  15 B, an electronic tone generating system  16 A or  16 B, an automatic playing system  18 A or  18 B and a music data producing system  19 A or  19 B. The communication system  15 A or  15 B, electronic tone generating system  16 A or  16 B, automatic playing system  18 A or  18 B and music data generator  19 A or  19 B are installed inside the acoustic piano  15 A or  15 B, and acoustic piano tones and electronic tones are produced through vibrations of the strings  4 A or  4 B of acoustic piano  15 A or  15 B and through the electronic tone generating system  16 A or  16 B, respectively. 
     A human player A or B fingers a music tune on the keys  4 A or  4 B of acoustic piano  1 A or  1 B for producing the acoustic piano tones through the vibrations of strings  4 A or  4 B, and the automatic playing system  18 A or  18 B drives the acoustic piano  1 A or  1 B without the fingering of human player A or B for producing the acoustic piano tones also through the vibrations of strings  4 A or  4 B. 
     While the human player A or B is fingering a music tune on the acoustic piano  1 A or  1 B, the music data producing system  19 A or  19 B monitors the acoustic piano  1 A or  1 B, and produces music data codes expressing the pieces of music data. The music data codes are supplied from the music data producing system  19 A or  19 B to the communication system  15 A or  15 B in a real-time fashion. The communication systems  15 A and  15 B are connected to the internet N, and the music data codes are transferred from the communication system  15 A or  15 B to the other communication system  15 B or  15 A through the internet N. Upon reception of music data codes, the music data codes are transferred from the communication system  15 B or  15 A to the electronic tone generating system  16 B or  16 A, and the electronic tones are produced through the electronic tone generating system  16 B or  16 A. 
     The music data codes are further transferred from the communication system  15 B or  15 A to the automatic playing system  18 B or  18 A, and the automatic playing system  18 B or  18 A moves the keys  1 B a  or  1 A a  as if a human player depresses and releases them. However, the automatic playing system  18 B or  18 A prevents the acoustic piano  1 B or  1 A from generation of acoustic piano tones. Thus, although the keys  1 B a  or  1 A a  are moved, only the electronic tones are produced through the automatic player piano PB or PA. In the music session, the players A and B finger music tunes on their own acoustic pianos  1 A and  1 B, and hear and see the movements of keys  1 A a  and  1 B a  driven by the automatic playing systems  18 A and  18 B on the basis of the pieces of music data produced through the music data producing systems  19 B and  19 A. 
     The acoustic piano  1 A or  1 B introduces time lag between the fingering and the generation of acoustic piano tones. However, the electronic tones are free from the time lag due to the mechanical linkwork of acoustic piano  1 B or  1 A. For this reason, the timing to generate the electronic tones through the electronic tone generating system  16 B or  16 A is closer to the timing to generate the acoustic piano tones through the acoustic piano  1 B or  1 A than the timing to produce the acoustic piano tones through the slave musical instrument of prior art music performance system. 
     While both players A and B are fingering on the acoustic pianos  1 A and  1 B, respectively, the acoustic piano tones are produced through the vibrations of strings  4 A in response to the fingering on the keys  1 A a  and through the vibrations of strings  4 B in response to the fingering on the keys  1 B a , and the music data codes expressing the fingering on the keys  1 A a  and the music data codes expressing the fingering on the other keys  1 B a  are transmitted from the communication system  15 A to the other communication system  15 B and from the communication system  15 B to the communication system  15 A, respectively. As a result, the acoustic piano tones and electronic tones are produced in both of the automatic player pianos PA and PB as if both players A and B perform a music tune in piano duet on each of the automatic player pianos PA and PB. 
     Since the automatic player piano  1 A, communication system  15 A, electronic tone generating system  16 A, automatic playing system  18 A and music data producing system  19 A are similar to the automatic player piano  1 B, communication system  15 B, electronic tone generating system  16 B, automatic playing system  18 B and music data producing system  19 B, respectively, it is possible to make the components of automatic player piano PA and the components of automatic player piano PB alternate in certain contexts in the following description. When a component is alternative, the component is labeled with a reference numeral without “A” and “B”. For example, in case where the keys  1 A a  and keys  1 B a  alternate in a context, “A” and “B” are deleted from the references  1 A a  and  1 B a . For example, the keys of any one of the automatic player pianos PA and PB are labeled with “ 1   a ”. On the other hand, when description is made on the components of either automatic player piano PA or PB, the reference numerals are accompanied with “A” or “B”. For example, the electronic tone generating system of automatic player piano PA is labeled with “ 16 A”, and the electronic tone generating system of automatic player piano PB is labeled with “ 16 B”. 
     Automatic Player Piano 
     Turning to  FIG. 2  of the drawings, the structure of acoustic piano  1 , system configuration of electronic tone generating system  16 , functions of automatic playing system  18  and functions of music data producing system  19  are illustrated. As described hereinbefore, the acoustic piano  1 , electronic tone generating system  16 , automatic playing system  18  and music data producing system  19  stand for any one of the acoustic pianos  1 A and  1 B, any one of the electronic tone generating systems  16 A and  16 B, any one of the automatic playing systems  18 A and  18 B and any one of the music data producing systems  19 A and  19 B, respectively. 
     The acoustic piano  1  includes the array of keys  1   a , action units  2 , an array of hammers  3 , strings  4 , damper units  8  and a piano cabinet  9 . The array of keys  1   a  is mounted on a key bed  9   a , which forms a bottom part of the piano cabinet  9 , and the action units  2 , hammers  3 , strings  4  and damper units  8  are provided inside the piano cabinet  9 . 
     In this instance, eighty-eight keys  1   a  are incorporated in the array. The keys  1   a  pitch about on a balance rail  9   b . While the human player A or B and automatic playing system  18  do not exert any force on the keys  1   a , the keys  1   a  stays at rest positions. When the human player A or B or automatic playing system  18  exert force on the keys  1   a , the front portions of keys  1   a  are sunk toward end positions, and, accordingly, the rear portions of keys  1   a  are lifted. When the keys  1   a  are found at the rest position, keystroke is zero. The end positions are spaced from the rest positions by 10 millimeters. In other words, when the keys  1   a  reach the end positions, the keystroke is 10 millimeters. The keystroke is a length from the rest positions to arbitrary key positions on the loci. 
     The human player A or B and automatic playing system  18  give rise to the movements of keys  1   a  toward the end positions, and the action is referred to as “depressing”. The human player A or B and automatic playing system  18  further give rise to the movements of keys  1   a  toward the rest positions, and the action is referred to as “release”. Each of the keys  1   a  keeps and varies the key position in performance and automatic playing. 
     Each of the keys  1   a  usually has four phrases, the stay at the rest position, movement toward the end position, stay at the end position and movement toward the rest position, and, accordingly, the key trajectory is dividable into a stationary part at the rest position, a moving part toward the end position, a stationary part at the end position and a moving part toward the rest position. The moving part toward the end position and moving part toward the rest position are respectively referred to as “a reference forward key trajectory” and a “reference backward key trajectory.” The stationary part at the end position and stationary part at the rest position are referred to as a “stationary trajectory”. 
     The keys  1   a  are arranged in the lateral direction, and are linked with the action units  2  at the intermediate portions thereof and damper units  8  at the rear portions thereof. While force is being exerted on the front portions of keys  1   a  by the human player A or B or on the rear portions by the automatic playing system  18 , the keys  1   a  travel from rest positions to end positions along respective loci, and the keys  1   a  actuate the associated action units  2 . 
     The action units  2  are further linked with the hammers  3 , and the hammers  3  are rotatably supported by action brackets. For this reason, the movements of keys  1   a  are transmitted through the action units  2  to the hammers  3 , and give rise to rotation of the hammers  3  through escape between the action units  2  and the hammers  3 . The hammers  3  are opposed to the strings  4 , and give rise to vibrations of the strings  4  at the end of rotation. The human player A or B and the automatic playing system  18  drive the hammers  3  for the rotation by depressing and releasing the keys  1   a.    
     The keys  1   a  make the associated damper units  8  spaced from and brought into contact with the strings  4  depending upon the key positions on the loci. While the damper units  8  are being held in contact with the strings  4 , the strings  4  are prohibited from the vibrations. When the damper units  8  are spaced from the strings  4 , the strings  4  are permitted to vibrate. The depressed keys  1   a  firstly make the associated damper units  8  spaced from the strings  4 , and, thereafter, cause the hammers  3  driven for rotation. When the human player A or B releases the depressed keys  1   a , the released keys  1   a  starts backwardly to travel on the loci. The released keys  1   a  pass through certain points on the loci. Then, the damper units  8  brought into contact with the vibrating strings  4 , and make the vibrations decayed. 
     The human player A or B performs a music tune on the acoustic piano  1  as follows. While all of the keys  1   a  are staying at the rest positions, the hammers  3  are spaced from the associated strings  4 , and the damper units  8  are held in contact with the strings  4  as shown in  FIG. 2 . When the human player starts his or her performance, he or she selectively depresses the keys  1   a  and releases the depressed keys  1   a.    
     The human player A or B is assumed to depress one of the keys  1   a , the depressed key  1   a  starts to travel on the locus thereof. While the depressed key  1   a  is traveling on the locus toward the end position, the depressed key  1   b / 1   c  causes the damper unit  8  to be spaced from the associated strings  4 , and the strings  4  gets ready to vibrate. The depressed key  1   a  further actuates the associated action unit  2 . The actuated action unit  2  makes the hammer  3  driven for rotation toward the associated string  4 . The hammer  3  is brought into collision with the string  4  at the end of rotation, and gives rise to vibrations of the string  4 . The vibrating string  4  in turn gives rise to the vibrations of a sound board, which forms a part of the piano cabinet  9 , and an acoustic piano tone is radiated from the acoustic piano  1 . The hammer  3  rebounds on the string  4 , and is softly landed on the back check. 
     The loudness of acoustic piano tone is proportional to the velocity of hammer  3  immediately before the collision with the string  4 . The human player A or B strongly depresses the black keys  1   a  so as to produce the acoustic piano tones at large loudness. On the other hand, the human player A or B gently depresses the keys  1   a  for the acoustic piano tones at small loudness. 
     After the generation of acoustic piano tone, the human player A or B releases the key  1   a . Then, the released key  1   a  starts backwardly to travel on the locus. The released key  1   a  permits the damper  8  to move toward the vibrating string  4 , and is brought into contact with it. Then, the vibrations are decayed, and the acoustic piano tone is extinguished. The released key  1   a  further permits the action unit  2  to return to the rest position. 
     The automatic playing system  18  includes a controlling system  18   a , which is labeled with  18 A a  or  18 B a  in  FIG. 1 , solenoid-operated key actuators  5  and key sensors  6 . The controlling system  18   a  has information processing capability, and the solenoid-operated key actuators  5  and key sensors  6  are connected to the controlling system  18   a . The solenoid-operated key actuators  5  are laterally arranged in staggered fashion under the rear portions of keys  1   a , and are respectively associated with the keys  1   a . The controlling system  18   a  gives rise to the movements of keys  1   a  by means of the solenoid-operated key actuators  5 , and causes the keys  1   a  to travel on the loci. The key sensors  6  are provided under the front portions of keys  1   a , and are respectively associated with the keys  1   a . The key sensors  6  are of the type optically converting the keys position on the entire loci to key position signals S 1 , and a photo-coupler  6   a , which is mounted on the key bed  9   a , and an optical modulator  6   b , which is fitted to the lower surface of associated key  1   a , form in combination each of the key sensors  6 . While the keys  1   a  are traveling along their loci between the rest positions and the end positions, the optical modulators  6   b  make the amount of incident light varied depending upon the current key positions, and the incident light is converted to photo current, which forms the key position signals S 1 . 
     The system configuration of controlling system  18   a  is illustrated in  FIG. 3 . The controlling system  18   a  includes a central processing unit  20 , which is abbreviated as “CPU”, peripheral processor (not shown), a read only memory  21 , which is abbreviated as “ROM”, a random access memory  22 , which is abbreviated as “RAM”, a communication interface  15   a , other interfaces  23 , pulse width modulators  24  and a shared bus system  20   b . The central processing unit  20  and other system components  21 ,  22 ,  15   a ,  23  and  24  are connected to the shared bus system  20   b  so that the central processing unit  20  is communicable with the other system components  21 ,  22 ,  15   a ,  23  and  24  through the shared bus system  20   b.    
     The central processing unit  20 , read only memory  21 , random access memory  22  and interfaces  15   a / 23  are shared with the music data producing system  19 , communication system  15  and electronic tone generating system  16 . 
     The central processing unit  20  is an origin of the information processing capability. A computer program is stored in the read only memory  21 , and runs on the central processing unit  20  so as to accomplish various tasks as will be described hereinafter in detail. The random access memory  22  serves as a working memory for the central processing unit  20 , and a key index register, flags and internal software clocks are defined in the working memory. 
     The communication interface  15   a  interconnects the communication system  15  and the controlling system  18   a . The communication system  15  includes a transmitter and a receiver. The music data codes are loaded in and unloaded from packets as a payload by the central processing unit  20 , and the packets are delivered to and received from the internet N through the communication system  15 . 
     The other interfaces  23  serve as a MIDI (Musical Instrument Digital Interface) interface and signal interfaces for hammer sensors  7  and the key sensors  6 . The MIDI interface is well known to persons skilled in the art. Each of the signal sensors has an analog-to-digital converter and a data buffer. Hammer position signals S 2  and the key position signals S 1  are selectively supplied to the signal interfaces, and the discrete values on these signals S 1 /S 2  are converted to key position data codes and hammer position data codes. The key position data codes and hammer position data codes are temporarily stored in the data buffers, and the central processing unit  20  periodically fetches pieces of key position data expressing a value of current key position and pieces of hammer position data expressing a value of current hammer position from the data buffers. The pieces of key position data and pieces of hammer position data are accumulated in the random access memory  22  for analysis. 
     The pulse width modulators  24  are responsive to pieces of control data, which are supplied from the central processing unit  20 , so as to adjust driving pulse signals S 3  to a target value of the amount of mean current or a target value of the duty ratio of pulse train serving as the driving pulse signals S 3 . The driving signal S 3  flows through the solenoid-operated key actuator  5 , and creates magnetic field. The strength of magnetic field and, accordingly, the force exerted on the rear portion of key  1   a  are proportional to the amount of mean current. For this reason, the central processing unit  20  controls the magnitude of force exerted on the rear portions of keys  1   a  by means of the pulse width modulators  24 . 
     The electronic tone generating system  16  includes an electronic tone generator  16   a  and a sound system  17 . The music data codes are sequentially supplied to the electronic tone generator  16   a , and the electronic tone generator  16   a  produces an audio signal on the basis of the music data codes. The audio signal is supplied to the sound system  17 , and is converted to the electronic tones through the sound system  17 . 
     The music data codes are prepared in accordance with the MIDI protocols, and tones to be produced and tones to be decayed are specified in the note-on message and note-off message. The note-on message contains pieces of music data expressing the note-on event, note number assigned to the tone to be produced and velocity expressing the loudness of the tone. The eighty-eight keys  1   a  are assigned different note numbers so that the controlling system  18   a  can identify the keys  1   a  to be driven with the note numbers. On the other hand, the note-off message contains pieces of music data expressing the note-off event and note number assigned to the tone to be decayed. The time period between a note event, i.e., the note-on event or note-off event and the next note event is indicative of a piece of duration data, and pieces of duration data are mixed in the pieces of music data. 
     The electronic tone generator  16   a  has a waveform memory (not shown), and pieces of waveform are specified with the music data code. The pieces of waveform data are read out from the waveform memory, and the audio signal is formed from the pieces of waveform data. An envelope is given to the digital audio signal, and the digital audio signal is converted to the audio signal, which is supplied to the sound system  16 . Since the electronic tone generator  16   a  is well known to the persons skilled in the art, no further description is hereinafter incorporated for the sake of simplicity. 
     Turning back to  FIG. 2 , the music data producing system  19  includes the controlling system  18   a , key sensors  6  and hammer sensors  7 . The controlling system  18   a  and key sensors are shared between the automatic playing system  18  and the music data producing system  19 , and are described in conjunction with the automatic playing system  18 . The hammer sensors  7  are of the type optically converting the current hammer position to the key position signals S 2  as similar to the key position sensors  6 . While the player A or B is fingering on the keys  1   a , the movements of keys  1   a  and the movements of hammers  3  are converted to the pieces of key position data and pieces of hammer position data, and the pieces of key position data and pieces of hammer position data are analyzed by the controlling system  18  so as to produce the pieces of music data and pieces of duration data. The pieces of music data and pieces of duration data are stored in the music data codes. 
     Computer Program 
     The computer program, which is installed in the controlling system  18   a , is broken down into a main routine program and subroutine programs. While the main routine program is running on the central processing unit  20 , users communicate with the controlling system  18   a  through a suitable man-machine interface (not shown) such as, for example, a touch-panel display unit. 
     Several sub-routine programs are assigned to an automatic playing, a music data generation during a performance on the automatic player piano PA or PB and a communication through the internet N. These sub-routine programs are available for a performance in solo or ensemble on the automatic player piano PA or PB. Another subroutine program runs on the central processing system for the music session, and the above-described subroutine programs are selectively called under the supervision of the subroutine program for the music session. When a user selects his or her favorite operation from a job menu on the man-machine interface (not shown), the main routine program starts to branch to the sub-routine program through timer interruptions. Upon expiry of the time period, the central processing unit  20  returns from the subroutine program to the main routine program. Thus, the entry into the subroutine program and return to the main routine program are repeated. 
     A task is accomplished through execution of the subroutine program for the automatic playing, and is corresponding to functions of the controlling system  18   a . The functions are referred to as a “preliminary data processor”, a “motion controller” and a “servo controller”, for which blocks  10 ,  11  and  12  stand in  FIG. 2 . 
     While the subroutine program for the automatic playing is running on the central processing unit  20 , the music data codes are periodically supplied from the communication system  15 , a data storage facility (not shown) or another MIDI musical instrument to the preliminary data processor  10 , and pieces of individualized music data are supplied from the preliminary data processor  10  to the motion controller  11 , from which the pieces of key trajectory data are supplied to the servo controller  12  for servo control on the solenoid-operated key actuators  5 . 
     The pieces of music data are individualized so as to be optimum for the automatic player piano PA or PB in the preliminary data processor  10 . The pieces of music data are subjected to the individualization in the preliminary data processor  10 , i.e., the pieces of individualized music data are produced through the preliminary data processor  10 . The pieces of individualized music data are conveyed from the preliminary data processor  10  to the motion controller  11 . 
     The motion controller  11  determines the reference forward key trajectory for each of the keys  1   a  to be depressed and the reference backward key trajectory for each of the keys  1   a  to be released in the automatic playing. However, the motion controller  11  determines a reference forward silent trajectory and a reference backward silent trajectory instead of the reference forward key trajectory and reference backward key trajectory for the music session. 
     As described hereinbefore, term “key trajectory” means a series of values of key position varied with time. A reference point is a unique key position on the locus of each key. If a depressed key  1   a  passes through the reference point at a reference key velocity, the depressed key  1   a  makes the associated hammer  3  brought into collision with the string  4  at a target hammer velocity. Since the loudness of acoustic tone is proportional to the target hammer velocity, the loudness of tone to be produced is controllable by forcing the depressed key  1   a  to pass the reference point at the reference key velocity. Thus, it is possible to produce the acoustic tone at a target value of loudness by adjusting the reference key velocity at the reference point to a certain value corresponding to the target loudness. The depressed keys  1   a  pass through the reference points at target values of reference key velocity in so far as the depressed keys  1   a  travel on the reference forward key trajectories. Thus, the motion controller  11  makes it possible to produce the acoustic tones at target values of loudness by using the reference forward key trajectories. 
     The reference backward key trajectory is produced so as to make the acoustic tones timely decayed. As described hereinbefore, when the damper units  8  are brought into contact with the vibrating strings  4 , the acoustic tone is decayed. The time period from the previous key event to a note-off event is defined in a piece of performance data, and the reference backward key trajectory leads the released keys  1   a  to the key positions on the loci where the released keys  1   a  make the associated damper units  8  timely brought into contact with the vibrating strings  4 . Thus, the motion controller  11  makes the acoustic tones timely decayed by using the reference backward key trajectories. 
     As described hereinbefore, the reference key velocity is proportional to the hammer velocity immediately before the collision with the strings  4  and, accordingly, the loudness of acoustic tones. If the reference key velocity is less than a threshold, the depressed keys  1   a  weakly drive the associated hammers  3 , and the hammers  3  can not reach the associated strings  4 . For this reason, although the keys  1   a  are moved on the loci, any acoustic tone is not generated. The reference forward silent trajectory makes the depressed keys  1   a  pass through the reference point at a small value of reference key velocity less than the threshold. Thus, the motion controller  11  causes the keys  1   a  to travel on the loci without any generation of acoustic piano tones. The reference key velocity for the reference forward silent trajectory is determined through experiments by the manufacturer, and pieces of control data, which express values of the reference key velocity for the individual keys  1   a , are stored in the read only memory  21  before delivery to users. 
     The reference backward silent trajectory leads the released keys  1   a  to initial key positions. Since any acoustic tone is not generated, the reference backward silent trajectory is not expected to make the released keys  1   a  pass through the key positions on the loci at the timing to decay the acoustic piano tones. 
     The stationary trajectories are inserted between the reference forward key trajectories and the reference backward key trajectories and also between the reference forward silent trajectories and the reference backward silent trajectories. 
     The pieces of key trajectory data express any one of the reference forward key trajectory, reference backward key trajectory, reference forward silent trajectory and reference backward silent trajectory, and each piece of key trajectory data expresses a target key position on the locus. The pieces of key trajectory data are periodically supplied from the motion controller  11  to the servo controller  12 . 
     When the piece of key trajectory data reaches the servo controller  12 , the servo controller  12  fetches a piece of key position data expressing the current key position from the random access memory  22 , and determines a target key velocity and a current key velocity from a series of values of piece of key trajectory data and a series of values of piece of key position data. The servo controller  12  compares the current key position and current key velocity with the target key position and target key velocity to see whether or not any difference is found between the current key position and the target key position and between the current key velocity and the target key velocity. If a difference or differences are found, the servo controller  12  varies the mean current or duty ratio of the driving signal S 3 . The strength of magnetic field around the solenoids is controllable with the means current so that the plungers of solenoid-operated key actuators  5  are accelerated or decelerated. Thus, the servo controller  12  forces the keys  1   a  to travel on the reference forward key trajectory, reference backward key trajectory, reference forward silent trajectory or reference backward silent trajectory. 
     While the motion controller  11  is periodically supplying the pieces of key trajectory data expressing the reference forward silent trajectory, the servo controller  12  causes the solenoid-operated key actuator  5  to force the key  1   a  to travel on the reference forward silent trajectory. The reference key velocity on the reference forward silent key velocity is so small in value that the action unit  2  makes the hammer  3  slowly rotate. For this reason, the hammer  3  does not reach the associated string  4 . As a result, although the key  1   a  is moved, any acoustic tone is not generated. 
     Another task is also accomplished through execution of the subroutine program for the music data generation, and is corresponding to functions of the controlling system  18   a . The functions are referred to as a “music data producer”  13  and a “post data processor”  14 . 
     While the subroutine program for the music data generation is running on the central processing unit  20 , the music data producer  13  intermittently transfers the pieces of key position data and pieces of hammer position data from the interfaces  23  to the random access memory  22  so as to accumulate a series of values of key position for each of the keys  1   a  and a series of values of hammer position for each of the hammers  3 , and determines a time to initiate the depressing, a key velocity for each depressed key  1   a , a time to strike the string  4  with each hammer  3 , a time to initiate the release, a key velocity for each released key  1   a  so as to produce the pieces of music data. Pieces of performance data express the time to initiate the depressing, key velocity for each depressed key  1   a , time to strike the string  4 , time to initiate the release and key velocity for each released key  1   a , and the pieces of music data are produced from the pieces of performance data through the analysis. The pieces of music data express the MIDI messages and a time period from each event such as the note-on event or note-off event to the next event. 
     The pieces of music data are transferred from the music data producer  13  to the post data processor  14 , and are normalized in the post data processor  14 . Each of the automatic player pianos PA and PB unavoidably has individualities due to the deviation of sensors  6  and  7  from the strict target positions, difference in structure of acoustic pianos  1 , tolerance in machining and so forth. In order to make the music data codes shared between the automatic player pianos PA and PB, it is necessary to eliminate the individuality from the pieces of music data. For this reason, the post data processor  14  is provided for the pieces of music data to be normalized. The pieces of normalized music data are simply referred to as “pieces of music data.” 
     After the normalization, the pieces of normalized music data are stored in the music data codes in accordance with the MIDI protocols, and the music data codes are supplied to the communication system  15 , electronic tone generator  16   a , data storage facility (not shown) for recording or a MIDI musical instrument through a MIDI cable. 
     While the subroutine program for communication is running on the central processing unit  20 , the music data codes are loaded in packets as a payload, and the packets are sequentially delivered to the internet N. The music data codes are unloaded from the packets through the execution of subroutine program for communication. 
     The subroutine program for the music session will be hereinafter described in detail.  FIG. 4  shows the jobs of the controlling systems  18   a  for the music session. As described hereinbefore, the subroutine program for music session supervises the subroutine program for the automatic playing, subroutine program for music data generation and subroutine program for communication. In this instance, the subroutine program for music session contains a job to select the electronic tone generating system  16  so that the received music data codes are transferred to the electronic tone generator  16   a . The users connect the automatic player pianos PA and PB to the internet N, and select the music session from the job menu on the man-machine interfaces. Then, the main routine programs start periodically to branch to the subroutine programs for music session. 
     Behavior in Music Session 
     While the subroutine program for music session is running on the central processing unit  20  of controlling system  18 A a  and the central processing unit  20  of controlling system  18 B a , the music session proceeds as shown in  FIG. 4 . In this instance, if the users concurrently depress the keys  1   a , which are assigned a certain key number, of the automatic player pianos PA and PB, respectively, the controlling systems  18 A a  and  18 B a  give the priority to the key movements depressed by user&#39;s fingers, and the keys  1   a  are driven by the solenoid-operated key actuators  5  after return to the rest positions. 
     The user A is assumed to depress one of the keys  1 A a . The depressed key  1 A a  actuates the associated action unit  2 , and the action unit  2  gives rise to the rotation of hammer  3  through the escape. The hammer  3  is brought into collision with the string  4  at the end of rotation, and the acoustic piano tone is generated through the vibration of string  4 . Moreover, the key sensor  6 A reports the current key position, the value of which is varied together with time, to the signal interface  23 A, and the central processing unit  20 A accumulates the pieces of key position data in the random access memory  22 A. The central processing unit  20 A finds the depressed key  1 A a  through the analysis on the pieces of key position data as by step S 1 , and the music data codes, which express the note-on event, key number, key velocity and time period from the previous key event, are produced through the music data producer  13 A and post data processor  14 A as by step S 2 . 
     Subsequently, the music data codes are loaded in the packet, and the packet is transmitted from the communication system  15 A through the execution of subroutine program for communication as by step S 3 . 
     The packet arrives at the communication system  15 B of automatic player piano PB, and the music data codes are unloaded from the packet through the execution of subroutine program for communication as by step S 4 . The pieces of music data, which are stored in the music data codes, are processed through the subroutine program for automatic playing as by step S 5 , and are transferred from the communication system  15 B to the electronic tone generating system  16 B. 
     The piano controller  10 B individualizes the pieces of music data so as to supply the pieces of individualized music data to the motion controller  11 B. The motion controller  11 B analyzes the pieces of individualized music data, and determines a reference forward silent trajectory on the basis of the pieces of individualized music data. The pieces of key trajectory data, which express the reference forward silent trajectory, stationary trajectory and reference backward silent trajectory, are periodically supplied from the motion controller  11 B to the servo controller  12 B, and the servo controller  12 B forces the key  1 B a  to travel on the reference forward silent trajectory and reference backward silent trajectory as by step S 5 . Thus, the key  1 B a  is moved without any acoustic piano tone, and the key  1 B a  starts to return after the arrival at the end position or from a certain key position on the way to the end position. 
     On the other hand, the electronic tone generator  16 B a  produces the audio signal on the basis of the music data code, and supplies the audio signal to the sound system  17 B so as to produce the electronic tone as by step S 6 . 
     The movements of key  1 B a  and electronic tone notify the user B of the fingering on the automatic player piano PA. Then, the user B starts to depress the key  1 B a  corresponding to or different from the depressed key  1 A a . The depressed key  1 B a  actuates the action unit  2 B, and the actuated action unit  2 B gives rise to the hammer rotation. The hammer  2 B is brought into collision with the string  4 B, and the acoustic piano tone is generated through the vibration of string  4 . 
     While the key  1 B a  is being depressed, the key sensor  6 B makes the key position signal S 1  varied together with the current key position as by step S 7 , and the central processing unit  20 B accumulates the pieces of key position data in the random access memory  22 B. The pieces of music data expressing the note-on key event are produced through the music data producer  13 B, and are normalized through the post data processor  14 B. The pieces of normalized performance data are stored in the music data codes as by step S 8 . The music data codes are loaded in a packet, and the packet is transmitted from the communication system  15 B to the communication system  15 A through the execution of subroutine program for communication as by step S 9 . 
     Upon reception of the packet as by step S 10 , the music data codes are unloaded from the packet in the communication system  15 A, and the music data codes are supplied in parallel from the communication system  15 A to the automatic playing system  18 A and electronic tone generating system  16 A. The automatic playing system  18 A forces the key  1 A a  to travel on the reference forward silent trajectory and reference backward silent trajectory without generation of acoustic piano tone as by step S 11 , and the electronic tone is generated through the electronic tone generating system  16 A as by step S 12 . Thus, the user A sees the movement of key  1 B a , and hears the electronic tone. 
     When the user A depresses the key  1 A a  for the next tone on the music score, the jobs at steps S 1 , S 2  and S 3  are repeated as by steps S 13 , S 14  and S 15 . The steps S 1  to S 12  are repeated on the automatic player pianos PA and PB until the end of performance. Of course, when the user B depresses the keys  1 B a  without the reception of music data codes from the automatic player piano PA, the electronic tone is produced in the automatic player piano PA, and the corresponding key  1 A a  is moved without generation of the acoustic piano. 
     The jobs S 1  to S 6  are carried out so as to reenact the performance on the automatic player piano PA through the other automatic player piano PB, and is referred to as the first phrase of music session. On the other hand, the jobs S 7  to S 12  are carried out so as to make the user A see the movement of key  1 B a  and hear the electronic tone, and is referred to as the second phrase of music session. The first phrase and second phrase are desirable for a remote music lesson, by way of example. In  FIG. 1 , real lines are indicative of the first phrase, and broken lines are indicative of the second phrase. The music session proceeds to the end. When the users A and B inform the controlling systems  18 A and  18 B of exit from the music session through the man-machine interfaces, the main routine programs do not branch to the subroutine programs for music session anymore. 
     In case where the users A and B finger on the different parts of a music tune, respectively, the music tune is performed in piano duet on both of the automatic player pianos PA and PB. However, the music session may be partially constituted by only the first phrase or second phase. In this music session, the music tune is performed in piano duet on one of the automatic player pianos PA and PB. The music data expressing the fingering on the automatic player piano is not transmitted to the other automatic player piano. 
     As will be understood from the foregoing description, although the acoustic piano tones are produced through the own automatic player piano PA or PB, the performance on the other automatic player piano PB or PA is reproduced through the electronic tone generating system  16 A or  16 B. It is not necessary to take the time lag due to the activation of action units  2  and hammer rotation into account. The electronic tones are merely delayed due to the communication through the internet N. For this reason, the music session smoothly proceeds without serious delay. Although the key movements without generation of acoustic piano tones, i.e., silent key movements are delayed from the generation of electronic tones due to the actuation of action units  2  and rotation of hammers  3 , the time lag between the generation of electronic tones and the silent key movements is not serious so that the users A and B and audience do not feel the silent key movements unnatural. 
     Second Embodiment 
     System Configuration of Music Performance System 
     Turning to  FIG. 5  of the drawings, another music performance system embodying the present invention also comprises automatic player pianos PC and PD and the internet N. 
     The automatic player pianos PC and PD are similar to the automatic player pianos PA and PB except for music data producing system  19 C and  19 D. For this reason, the other component parts of automatic player piano PC and the other component parts of automatic player piano PD are labeled with references designating the corresponding component parts of automatic player piano PA and the corresponding component parts of automatic player piano PB without detailed description for avoiding repetition. Furthermore, component parts of acoustic pianos of automatic player pianos and the system components of controlling systems  18 A a  and  18 B a  are labeled with references designating the corresponding component parts of acoustic piano shown in  FIG. 2  and the corresponding system components of controlling system shown in  FIG. 3 . 
     Computer Program 
     A computer program, which is installed in the controlling system  18   a , is also broken down into a main routine program and several subroutine programs. The main routine program and subroutine program for communication are similar to those of the computer programs installed in the controlling systems  18   a  of automatic player pianos PA and PB. 
     The subroutine program for automatic playing is simpler than the subroutine programs for automatic playing installed in the automatic player pianos PA and PB. Although the reference forward silent trajectory and reference backward silent trajectory are determined in the music session for the silent key movements in the automatic player pianos PA and PB, the reference forward key trajectory and reference backward key trajectory are not produced in the music session through the music performance system implementing the second embodiment. In other words, the automatic playing systems  18 A and  18 B of automatic player pianos PC and PD drive the keys  1 A a  and  1 B a  to generate the acoustic piano tones in the music session. Accordingly, while the subroutine program for music session is running on the central processing unit  20 , the music data codes are transferred from the communication system  15 A or  15 B to the automatic playing system  18 A or  18 B, and are not supplied to the electronic tone generating system  16 A or  16 B. 
     Behavior in Music Session 
     The music data producing system  19 C includes the key sensors  6 , hammer sensors  7 , a music data producer (not shown), a post data processor (not shown) and a preliminary key data supplier  25 , i.e.,  25 A or  25 B. The music data producer and post data processor are same as the music data producer  13  and post data processor  14 , and, for this reason, the music data producer and post data processor of music data producing system  19 C or  19 D are hereinafter labeled with the reference numerals  13  and  14 , i.e.,  13 A or  13 B and  14 A or  13 B. The preliminary key data supplier  25 A or  25 B is connected in parallel to the music data producer  13  and post data processor  14 , and the pieces of key position data are processed through the preliminary key data supplier  25 A or  25 B in the music session. The preliminary key data suppliers  25 A and  25 B presume target key positions and target key velocity at a time later than the present time by the communication delay time D. The preliminary key data supplier  25 A or  25 B is indicative of a function of the music data producing system  19 C or  19 D, and is realized through execution of a part of the subroutine program for music data generation. 
     The preliminary key data suppliers  25 A and  25 B aim at acceleration of generation of acoustic piano tones through the acoustic pianos  1 B and  1 A. When the users A and B select the music session from the job menu, the central processing units  20 A and  20 B reiterate a job sequence in the subroutine program for music data generation, and produce pieces of key motion data on the basis of the pieces of key position data accumulated in the random access memories  22 A and  22 B. Each piece of key motion data expresses the key number assigned to the moved key  1 A a  or  1 B a , a lapse of time from the initiation of music session, the presumed key position and the presumed key velocity. The pieces of key motion data are supplied from the preliminary key data supplier  25 A or  25 B to the communication system  15 A or  15 B, and are transmitted to the other communication system  15 B or  15 A as the payload of packets. The format for key motion data is disclosed in Japan Patent Application laid-open No. 2006-178197. 
       FIG. 6  shows a sequence of jobs for the music session. The users A and B select the music session from the job menu, and the main routine program starts periodically to branch to the subroutine program for music session. 
     While the music session is proceeding, the user A sequentially depresses the keys  1 A a . When the user A depresses one of the keys  1 A a , the associated key sensor  6 A varies the key position signal S 1  depending upon the current key position as by step S 16 , and the piece of key position data, which expresses the current key position of the depressed key  1 A a , is accumulated in the random access memory  22 A. Then, the preliminary key data supplier  25 A starts to produce the piece of key motion data on the basis of the piece of key position data as by step S 17 . While the preliminary key data supplier  25 A is producing the piece of key motion data, a communication time lag D is taken into account, and the piece of key motion data makes the automatic playing system  18 B drive the corresponding key  1 B a  in such a manner that the communication time lag D is compensated. The piece of key motion data is transmitted from the communication system  15 A to the communication system  15 B through the internet N as by step S 18 . 
     The preliminary key data supplier  25 A and communication system  15 A repeat the jobs at steps S 17  and S 18  at regular intervals so that the pieces of key motion data are periodically supplied to the other automatic player piano PD. 
     The piece of key motion data arrives at the communication system  15 B as by step S 19 , and the communication time lag D is introduced between the transmission and the reception due to propagation of the packet through the internet N. The controlling system  18 B a  analyzes the piece of key motion data, and starts to drive the key  1 B a , which is corresponding to the depressed key  1 A a , to produce the acoustic piano tone as by step S 20 . Since the piece of key motion data expresses the presumed key position and presumed key velocity at the time later than the present time by the communication time lag D, the corresponding key  1 B a  is forced to travel on the reference forward key trajectory, and reference backward key trajectory same as the locus of key  1 A a  so that acoustic piano tone is produced through the acoustic piano  1 B concurrently with the acoustic piano tone produced through the acoustic piano  1 A. 
     In the similar manner, while the music session is proceeding, the user B sequentially depresses the keys  1 B a . When the user B depresses one of the keys  1 B a , the associated key sensor  6 B reports the current key position to the preliminary key data supplier  25 B as by step S 21 , and the preliminary key data supplier  25 B produces the piece of key motion data on the basis of the piece of key position data as by step S 22 . The piece of key motion data is supplied from the communication system  15 B to the communication system  15 A through the internet N as by step S 23 , and is received at the communication system  15 A as by step S 24 . The communication time lag D is also introduced between the transmission and the reception. The automatic playing system  18 A drives the key  1 A a , which is corresponding to the depressed key  1 B a , for producing the acoustic piano tone concurrently with the acoustic piano tone produced through the acoustic piano  1 A as by step S 25 . 
     The report of current key position, production of key motion data and transmission of key motion data are repeated in the automatic player piano PA as by S 26 , S 27  and S 28 , and are also repeated in the other automatic player piano PB. The depressing of key  1 A a  to the driving of corresponding key  1 B a , which are corresponding to steps S 16  to S 20 , take place in a first phrase of music session, and the depressing of key  1 B a , and the depressing of key  1 B a  to the driving of corresponding key  1 A a , which are corresponding to steps S 21  to S 25 , take place in a second phase of music session. The music session is constituted by plural first phrases and plural second phases. 
       FIG. 7  shows a job sequence in the subroutine program for music session executed in both of the automatic player pianos PC and PD. In the following description, term “reference cycle time T” is defined as a unit time period with which the communication time lag D is measured. Term “reference cycle” is a time frame equal in length to the reference cycle time. 
     When the users A and B select the music session from the job menu, the main routine program starts periodically to branch to the subroutine program for music session through timer interruptions. The description is hereinafter focused on the behavior of automatic player pianos PC and PD in the first phrase of music session. 
     The central processing unit  20  of automatic player piano PC, i.e. central processing unit  20 A carries out a preparation work as by step S 29  so as to determine the communication time lag D. The preparation work S 29  is hereinafter detailed with reference to  FIG. 8 . 
     Subsequently, the central processing unit  20 A writes key number “ 1 ” into the key index register as by step S 30 , and, thereafter, carries out a data processing for the key  1 A a  assigned the key number stored in the key index register as by step S 31 . The key number stored in the key index register is hereinafter referred to as “key index”. The data processing at step S 31  is hereinafter described in detail with reference to  FIG. 9 . 
     Subsequently, the central processing unit  20 A increments the key index by one as by step S 32 , and checks the key index register to see whether or not the key index is greater than 88 as by step S 33 . Since the acoustic piano  1 A has eighty-eight keys  1 A a , the answer is given negative “no” before completion of data processing on all the keys  1 A a . On the other hand, the positive answer “yes” is indicative of the completion of repetition of data processing at step S 31  for all the keys  1 A a.    
     When the answer at step S 33  is given negative “no”, the central processing unit  20 A returns to step S 31 . Thus, the central processing unit  20 A repeats the jobs at step S 31  for the eighty-eight keys  1 A a  within the single reference cycle time period T. 
     The central processing unit  20 A reiterates the loop consisting of steps S 31  to S 33  for all of the keys  1 A a . After the data processing on the eighty-eighth key  1 A a  was completed at step S 31 , the answer at step S 33  is changed to the positive answer “yes”. 
     The central processing unit  20 A checks the random access memory  22 A to see whether or not the user A has already instructed the controlling system  18 A a  to stop the data processing for the music session as by step S 34 B. While the user A is fingering on the acoustic piano  1 A, the answer at step S 34 B is given negative “no”. With the negative answer “no”, the central processing unit  20 A proceeds to step S 34 A, and waits for the expiry of reference cycle time period T. Upon expiry of the reference cycle time period T, the central processing unit  20 A returns to step S 30 . Thus, the central processing unit  20 A reiterates the loop consisting of steps S 30  to S 34 B in the performance on the acoustic piano  1 A, and repeatedly carries out the data processing for the eighty-eight keys  1 A a.    
     On the other hand, when the user A instructs the controlling system  18 A a  to stop the music session, a piece of control data expressing user&#39;s instruction is stored in the random access memory  22 A, and the answer at step S 34 B is changed to positive answer “yes”. With the positive answer “yes” at step S 34 B, the control returns to the main routine program, and the main routine program does not branch to the subroutine program anymore. 
     Turning to  FIG. 8 , when the central processing unit  20 A starts the preparation work at step S 29 , the central processing unit  20 A transfers an event data code to the communication system  15 A so as to transmit a packet, in which the event data code is loaded, from the communication system  15 A to the communication system  15 B through the internet N, and reads a transmitting time tA on an internal clock as by step S 35 . The number of reference cycles is counted with the internal clock. The central processing unit  20 A stores the transmitting time tA in the random access memory  22 A. 
     Subsequently, the central processing unit  20 A starts to watch the communication interface  15 A, and waits for a replay. When the event data code arrives at the communication system  15 A, the central processing unit  20 B transfers the event data code to the communication system  15 B so as to transmit a packet, in which the event data code is loaded, from the communication system  15 B to the communication system  15 A as the replay. 
     When the reply arrives at the communication system  15 A, the event data code is taken into the controlling system  18 A a  as by step S 37 , and reads the reception time tB on the internal clock as by step S 37 . The event data code is reciprocally propagated through the internet N between the communication system  15 A and the communication system  15 B. As a result, the difference between the transmission time tA and the reception time tB is twice longer than the communication time lag D. 
     Finally, the central processing unit  20 A divides the difference between the transmission time tA and the reception time tB by 2 so as to determine the communication time lag D as by step S 38 . Thus, the communication time lag D is determined in the preparation work S 29  prior to the music session. 
       FIGS. 9A and 9B  show job sequences during the data processing at step S 31 . When the user A or B depresses the key  1 A a  or  1 B a , the job sequence shown in  FIG. 9A  is traced. On the other hand, when the music data code arrives at the communication system  15 A or  15 B, the central processing unit  20 A or  20 B traces the job sequence shown in  FIG. 9B . The controlling system  15 A or  15 B completes either job sequence for each key  1 A a  or  1 B a , and the job sequence or job sequences are repeated for all the keys  1 A a  or  1 B a  within the reference cycle time T. The job sequences shown in  FIGS. 9A and 9B  are hereinafter described. Description is made on the assumption that the key motion data is supplied from the automatic player piano PA to the other automatic player piano PB. 
     The music data processing systems  19 C and  19 D realize functions shown in  FIG. 10 . The keys  1 A a , solenoid-operated key actuators  5 A, key sensors  6 A and controlling system  18 A are the hardware of automatic player piano PC which relate to the music session. Similarly, the keys  1 B a , solenoid-operated key actuators  5 A, key sensors  6 A and controlling system  18 B participate in the music session as the hardware of automatic player piano PD. The functions are broken down into “production of key motion data  26 A or  26 B” and “reproduction of key movements  26 C or  26 D”. 
     The user A is assumed to start to depress one of the keys  1 A a  of the automatic player piano PC in the music session. The key  1 B a  is assumed to be corresponding to the depressed key  1 A a . The associated key sensor  6 A varies the key position signal S 1 , and the controlling system  18 A starts the data processing. 
     The key position signal S 1  is sampled, and the sampled magnitude yxAa of the key position signal S 1  is converted to a discrete value yxAd. Thus, the key position signal S 1  is subjected to the analog-to-digital conversion  27 A. 
     Subsequently, an individual component due to the individuality of acoustic piano  1 A is eliminated from the discrete value yxAd. In other words, the discrete value yxAd is normalized to normalized discrete value yxA, and the function of normalization is labeled with “ 28 A”. The normalized discrete value yxA have been accumulated together with the sampling time in the random access memory  22 A. A normalized value yvA expressing a key velocity is determined on the basis of the normalized discrete values yxA, and the function of calculation is labeled with “ 29 A”. The piece of key motion data rB is produced from the normalized discrete value yxA expressing the normalized key position rxB, normalized discrete value yvA expressing the normalized key velocity rvB, time at which the key position signal is sampled and key number assigned to the depressed key  1 A x , and the production of key motion data is labeled with “ 30 A”. 
     The piece of key motion data rB is supplied to the communication system  15 A, and is loaded in a packet. The packet is transmitted through the internet N to the communication system  15 B. The transmission of key motion data rB is labeled with “ 31 A”. 
     The functions  27 A,  28 A,  29 A,  30 A and  31 A are also realized in the other automatic player piano PD, and the corresponding functions are labeled with  27 B,  28 B,  29 B,  30 B and  31 B, respectively, and yxBa, yxBd, yxB, yvB and rA stand for the sampled magnitude, discrete value converted from the sampled magnitude, normalized discrete value expressing the normalized key position, normalized discrete value expressing the normalized key velocity and piece of key motion data, respectively. 
     The packet arrives at the communication system  15 B, and the piece of key motion data rB is unloaded from the packet. The reception and unloading are labeled with  38 B. A target key position and a target key velocity are determined on the basis of the piece of key motion data rB. The target key position is a key position where the key  1 B a  is expected to be found at the given time, and is equivalent to the presumed key position. The target key velocity is key velocity at the target key position, and is equivalent to the presumed key velocity. The target key position and target key velocity are labeled with rxB and rvB, respectively. 
     Since the sensor  6 B monitors the corresponding key  1 B a , the key position signal S 1  is periodically sampled, and the magnitude yxBa is converted to the discrete value yxBd. The discrete value yxBd is normalized to normalized discrete value yxB expressing the normalized current key position, and the normalized current key velocity is determined on the basis of the normalized discrete values yxB. 
     A deviation exB and a deviation evB are determined through subtractions  33 B and  35 B between the target key position rxB and the normalized current key position yxB and between the target key velocity rvB and the normalized current key velocity yvB, and the deviations exB and evB are multiplied by certain gains through amplifications  34 B and  36 B. The products uxB and uvB are added to each other so as to determine the sum uB. The addition is labeled with “ 37 B”. The sum uB is indicative of a target value of the amount of mean current. The driving signal S 3  is adjusted to the target value of the amount of mean current through the pulse width modulator  24 B, and is supplied to the solenoid-operated key actuator  5 B. The functions  33 B,  34 B,  35 B,  36 B,  37 B,  24 B,  27 B,  28 B and  29 B are corresponding to the servo controller  12  shown in  FIG. 2 . 
     The functions  38 B,  32 B,  33 B,  34 B,  35 B,  36 B,  37 B and  24 B are realized in the automatic player piano PC, and the corresponding functions are labeled with  38 A,  32 A,  33 A,  34 A,  35 A,  36 A,  37 A and  24 A, respectively. 
     The functions  27 A to  30 A,  32 B to  34 B,  24 B,  27 B to  30 B,  32 A to  37 A and  24 A are sequentially realized in the music session as shown in  FIGS. 9A and 9B . 
     When the user A depresses one of the keys  1 A a  in the music session, the associated key sensor  6 A starts to vary the magnitude yxAa of key position signal S 1 . The analog-to-digital converter of the signal interface  23 A samples the magnitude yxAa as by step S 40 , and converts the magnitude yxAa to the discrete value yxAd as by step S 41 . The central processing unit  20 A eliminates the individualities of acoustic piano  1 A and key sensor  6 A from the discrete value yxAd so as to obtain the normalized value yxA as by step S 42 . 
     Subsequently, the central processing unit  20 A checks the normalized value at the rest position to see whether or not the current normalized value yxA is greater than the normalized value at the rest position as by step S 43 . In this instance, while the key  1 A a  is moving from the rest position toward the end position, the normalized value yxA is gradually increased. The positive answer “yes” at step S 43  means that the user A has already depressed the key  1 A a . On the other hand, if the answer at step S 43  is given negative “no”, the user A still leaves the key  1 A a  at the rest position, and the central processing unit  20 A proceeds to a job sequence shown in  FIG. 9B . 
     Since the user A depressed the key  1 A a , the answer at step S 43  is given affirmative “yes”, the central processing unit  20 A raises a flag, and proceeds to step S 44  for the analysis on the pieces of key position data for the function  29 A and part of function  30 A. When the key  1 A a  reaches the end of released key trajectory, the flag is taken down. While the flag is rising, the central processing unit  20 A ignores the answer at step S 43 , and proceeds to step S 44 . 
     The presumed key position rxB and presumed key velocity rvB are determined through the analysis at step S 44 . The analysis at step S 44  is hereinafter described in detail. 
     Upon completion of analysis, the central processing unit  20 A produces the piece of key motion data rB as by step S 45 , and loads the piece of key motion data rB in the packet so as to transmit the key motion data rB to the automatic player piano PD. 
     The job sequence shown in  FIG. 9A  are repeated so as periodically to supply the pieces of key motion data rB. 
     Even if the piece of key motion data rA arrives at the communication system  15 A concurrently with the initiation of depressing, the central processing unit  20 A gives the priority to user&#39;s fingering, and does not carry out the functions  32 A to  37 A and  24 A. 
     The central processing unit  20 B periodically checks the communication system  15 B to see whether or not the packet arrives at the communication system  15 B as by step S 47 . While the packet is propagating through the internet N, the answer at step S 47  is given negative “no”. Then, the central processing unit  20 B immediately returns to the main routine. 
     When the packet arrives at the communication system  15 B, the answer at step S 47  is changed to the positive answer “yes”. With the positive answer “yes”, the central processing unit  20 B compares the normalized value rxB of the key  1 B a  corresponding to the depressed key  1 A a  with the normalized value at the rest position to see whether or not the corresponding key  1 B a  has already left the rest position as by step S 48 . If the user B has already depressed the corresponding key  1 B a , the answer at step S 48  is given affirmative “no”, and the central processing unit  20 B immediately returns to the main routine. 
     When the corresponding key  1 B a  is found at the rest position at the arrival of the first piece of key motion data rB, the answer at step S 48  is given negative “yes”, and the corresponding key  1 B a  is to be driven with the solenoid-operated key actuator  5 B. For this reason, the central processing unit  20 B raises the flag indicative of the actuation of key  1 B a  with the solenoid-operated key actuator  5 B. While the flag is being raised, the central processing unit ignores the answer at step S 48 , and proceeds to the next step S 49 . The flag is taken down at the return to the rest position. 
     The central processing unit  20 B extracts the normalized value expressing the presumed key velocity rvB and normalized value expressing the presumed key position rxV from the piece of key motion data rB at S 49 . The normalized values are also labeled with “rxB” and “rvB” for the sake of simplicity. 
     Subsequently, the magnitude yxBa of key position signal S 1  is converted to the discrete value yxBd as by step S 50 , and the discrete value yxBd is normalized to the normalized value yxB as by step S 51 . The central processing unit  20 B determines the positional deviation exB through the subtraction of the normalized value yxB expressing the current key position from the normalized value rxB expressing the target key position as by step S 52 . The positional deviation exB is amplified as by step S 53 . 
     The central processing unit  20 B determines the normalized value yvB expressing the target key velocity on the basis of the normalized values yxB as by step S 54 , and determines the velocity deviation evB between the normalized value yvB and the normalized value rvB as by step S 55 . The velocity deviation evB is amplified as by step S 56 . 
     Subsequently, the central processing unit  20 B calculates the sum of the positional deviation exB and velocity deviation evB so as to determine the piece of control data uB as by step S 57 . The piece of control data uB is supplied to the pulse width modulator  24 B, and the pulse width modulator  24 B adjusts the driving signal S 3  to the target amount of mean current in consideration of the piece of control data uB as by step S 58 . 
     The driving signal S 3  is supplied to the solenoid-operated key actuator  5 B as by step S 59 . The solenoid-operated key actuator  5 B pushes the rear portion of the corresponding key  1 B a  so as to actuate the action unit  2 B of acoustic piano  1 B. 
     The job sequence shown in  FIG. 9B  is repeated so as to give rise to the movement of corresponding key  1 B a . The corresponding key  1 B a  actuates the associated action unit  2 B, which in turn drives the associated hammer  3 B for rotation. The hammer  3 B is brought into collision with the string  4 B, and the acoustic tone is generated through the vibrations of string  4 B. Thus, the acoustic piano tone is generated in the acoustic piano  1 B without any fingering. 
     When the user depresses one of the keys  1 B a , the controlling system  18 B a  accomplishes the jobs S 40  to S 46  shown in  FIG. 9A , and the controlling system  18 A a  accomplishes the jobs S 47  to S 59  shown in  FIG. 9B . 
     As will be understood from the foregoing description, the key position of corresponding key  1 B a  or  1 A a  and the key velocity of corresponding key  1 B a  or  1 A a  are presumed for the corresponding key  1 B a  or  1 A a  in the preliminary key data supplier  25 A or  25 B of automatic player piano PC or PD, and supplies the piece of key motion data rB or rA to the other automatic player piano PD or PC. The presumed key position rxB or rxA and presumed key velocity rvB or rvA are indicative of the position and velocity of the corresponding key  1 B a  or  1 A a  at the time later than the present time by the communication delay time D. For this reason, even though the communication delay time D is unavoidably introduced during the propagation of piece of key motion data rB, the corresponding key  1 B a  or  1 A a  is moved concurrently with the key  1 A a  or  1 B a . Thus, the communication delay time D is eliminated from between the movement of key  1 A a  and the movement of corresponding key  1 B a.    
     Compensation of Communication Time Lag 
       FIG. 11  shows a job sequence corresponding to step S 44 , and  FIG. 12  shows loci of a key of an acoustic piano. The key position and key velocity of corresponding key  1 B a  or  1 A a  are presumed at step S 44  as follows. 
     A user is assumed simply to depress a key  1   a , keep the key  1   a  at the end position for a while, release the key  1   a , keep the key  1   a  at the rest position for a while, depress the key  1   a  and release the key  1   a  on the way to the end position as shown in  FIG. 12 . While the user simply is moving the key  1   a  between the rest position and the end position, the key trajectory TR 1  is divided into five phrases, i.e., the stay at the reset position, depressing, stay at the end position, release and stay at the rest position. For this reason, there are four phrase boundaries. On the other hand, while the user is moving the key  1   a  through half-stroke, the key  1   a  changes the direction of movement at a certain point between the rest position and the end position, and the trajectory TR 2  is divided into two phrases, i.e., release PH 6  and depressing PH 7 . For this reason, the key trajectory TR 1  has only one phrase boundary between the released phrase PH 6  and the depressed phrase PH 7 . 
     The key position X[n] is expressed at time t[n] after n reference cycle times nT from the phrase boundary as
 
 X[n]=A[n]/ 2 ×t[n]   2   +V[n]×t[n]   Equation 1
 
where A[n] is acceleration at expiry t[n] of time period equal to the n reference cycle times nT and V[n] is velocity at t[n].
 
     A discrete value yxAd is assumed to be normalized to the normalized value yxA at step S 42 . The central processing unit  20 A or  20 B starts the job sequence shown in  FIG. 11 . The central processing unit  20 A or  20 B stores the normalized value yxA at time t[n] in a memory location assigned to the depressed key  1 A a  or  1 B a  as by step S 60 . 
     Subsequently, the central processing unit  20 A or  20 B reads out the normalized value yxA[n] at time t[n] and the previous normalized value yxA[n−1] from the random access memory  22 A or  22 B, and calculates the key velocity yv[n] as by step S 61 .
 
 yv[n ]=( yx[n]−yx[n− 1])/ T   Equation 2
 
     Subsequently, the central processing unit  20 A or  20 B checks the key position yx[n] and key velocity yx[n] to see whether or not the key  1 A a  or  1 B a  is found at the phase boundary as by step S 62 . 
     If the key position yx[n] is changed to 0 millimeter or less than 0 millimeter, the key  1 A a  or  1 B a  is found at the boundary between the release phase PH 4  and the stay phrase PH 5  at the rest position. If the key position yx[n] is changed to 10 millimeters or greater than 10 millimeters, the key  1 A a  or  1 B a  is found at the boundary between the depressed phase PH 2  and the stay phase PH 3  at the end position. If the key velocity yv[n] has a positive value at the key position equal to zero or in the released phase PH 6 , the key  1 A a  or  1 B a  is found at the phase boundary between the stay phase PH 1  at the rest position and the depressed phase PH 2  or the phrase boundary between the released phrase PH 7  and the next depressed phase. If the key velocity data yv[n] has a negative value at the key position equal to 10 millimeter or in the depressed phrase PH 6 , the key  1 A a  or  1 B a  is found at the phase boundary between the stay phrase PH 3  at the end position and the released phrase PH 4  or between the depressed phase PH 6  and the released phrase PH 7 . 
     If any one of the above-described conditions is fulfilled, the answer at step S 62  is given affirmative “yes”, and the central processing unit  20 A or  20 B proceeds to the next step S 63 . On the other hand, if all of the above-described conditions are not fulfilled, the answer at step S 62  is given negative “no”, and the central processing unit  20 A or  20 B proceeds to step S 64  without any execution at step S 63 . 
     The key  1 A a  or  1 B a  is assumed to be found at the phrase boundary. The central processing unit  20 A or  20 B gives the following initial values to the number n of reference cycle times T, key position yx[n], key velocity yv[n] and acceleration ya[n] at step S 63 . 
     yx0=yx[n−1] 
     yx1=yx[n] 
     n=1 
     yv0=0 
     yv1=(yx1−yx0)/T 
     ya0=0, 
     ya1=0 
     Thus, the number n of reference cycles T, key position yx[n], key velocity yv[n] and key acceleration ya[n] are reset to the initial values at the phase boundary. 
     Upon completion of the job at step S 63  or with the negative answer “no” at step S 62 , the central processing unit  20 A or  20 B determines the acceleration ya[n] at time t[n] at step S 64 .
 
 ya[n ]=( yv[n]−yv[n− 1])/ T   Equation 3
 
The central processing unit  20 A or  20 B estimates the initial key velocity Vv[n] as by step S 64 . The central processing unit  20 A or  20 B estimates a key trajectory passing through the current key position yx(n) and previous key positions yx[n−1] and yx[n−2] as by step S 66 , and determines the initial key velocity Vv[n] from the estimated key trajectory. The initial key velocity Vv[n] is given as
 
 Vv[n ]={(2 ×n− 1)× yv[n− 1]−(2 ×n− 3)× yv[n]}/ 2  Equation 4
 
The key acceleration ya[n] and initial key velocity Vv[n] are stored in the certain memory location of random access memory  22 A or  22 B assigned to the key  1 A a  or  1 B a.  
 
     Finally, the central processing unit  20 A or  20 B estimates the key trajectory in the present phase, and presumes the key position rx[n] and key velocity rv[n] at the time t[n+D] later than the present time t[n] by the communication time lag D as by step S 67 . 
     In detail, the central processing unit  20 A or  20 B sequentially reads out the values of initial key velocity Vv 1 , . . . . And Vv[n] from the random access memory  22 A or  22 B, and averages the values Vv 1 , . . . , Vv[n], i.e., V[n]=(Vv 1 + . . . +Vv[n])/n. Furthermore, the central processing unit  20 A or  20 B sequentially reads out the values ya[2], . . . , ya[n] of key acceleration, and averages the values as A[n]=(ya2+ . . . , +ya[n])/(n−1). Since the key trajectory X[n] in the present phrase is expressed as X[n]=A[n]/2×t[n] 2 +V[n]×t[n] (see equation 1), the key position rx[n] and key velocity rv[n] at the time t[n+D] later than the present time t[n] by the communication time lag D are given by Equations 5 and 6, respectively.
 
 rx[n]=A[n]/ 2 ×t[n+D]   2   +V[n]×t[n+D]   Equation 5
 
 rv[n]=A[n]×t[n+D]+V[n]   Equation 6
 
     As will be understood from the foregoing description, the preliminary key data supplier  25 A or  25 B estimates the key trajectory before the key  1 A a  or  1 B a  reaches the phase boundary between the present phase and the next phase, and presumes the key position rxB or rxA and key velocity rvB or rvA on the key trajectory. The key  1 A a  or  1 B a  are expected to be found at key position rxB or rxA and key velocity rvB or rvA at the time later than the present time by the communication time lag D. The controlling system  18 B a  or  18 A a  carries out the servo control through the comparison between the presumed key position rxB/rxA and the actual key position yxB/yxA and between the presumed key velocity rvB/rvA and the actual key velocity yvB/yvA so that the key  1 B a  or  1 A a  are moved on the locus in synchronism with the key  1 A a  or  1 B a . Thus, the communication time lag D is compensated through the data processing in the preliminary key data supplier  25 A or  25 B and the servo controller  12 B or  12 A. The users A and B can perform different parts of a music tune on both of the automatic player pianos PC and PD in good ensemble. 
     The present inventors confirmed the synchronized key movements  1 A a  and  1 B a  through experiments. In the experiments, the key  1 B a  followed the key  1 A a . The present inventors plotted the key position of key  1 A a  on the estimated key trajectory X[n] expressed by equation 1, key position rxB of key  1 A a  on the presumed key trajectory presumed by using equation 5 and actual key position yxB of key  1 B a  as shown in  FIG. 13 . The estimated key trajectory was expressed by plots PL 1 , and the plots PL 1  were close in shape to plots PL 2  expressing the actual key trajectory. The difference in time between the plots PL 1  and the plots PL 2  was equal to the communication time lag D. 
     Furthermore, the present inventors plotted the estimated key velocity V[n] on the estimated key trajectory, presumed key velocity rvB on the presumed key trajectory and actual key velocity yvB on the actual key trajectory as shown in  FIG. 14 . Plots PL 3  expressing the presumed key velocity rvB were delayed from plots PL 4  expressing the estimated key velocity V[n] by the communication time lag D, and plots PL 5  expressing the actual key velocity yvB were close to the plots PL 4 . From the plots, it is understood that the key  1 B a  was well synchronized with the key  1 A a.    
     Furthermore, the presumed key trajectory makes the timing to generate an acoustic piano tone produced through a slave musical instrument, key velocity in tone generation, timing to decay the piano tone and key velocity in decay consistent with those of a master musical instrument. The master musical instrument means the automatic player piano PC or PD on which the user A or B fingers a music tune, and the slave musical instrument means the automatic player piano PD or PC through which the acoustic piano tones are reproduced. 
     The phases PH 6  and PH 7  are determined differently from the phases PH 1  to PH 5  so that the presumed key trajectory expresses the difference in styles of rendition on the master musical instrument. This results in the reproduction of performance at high fidelity. 
     Since the acceleration A[n] is taken into account for the estimated key trajectory X[n], difference in tone color is reflected in the estimated key trajectory and, accordingly, presumed key trajectory. Thus, the acoustic piano tones reproduced through the slave musical instrument are close in tone color to the acoustic piano tones produced on the master musical instrument. 
     The job sequence shown in  FIG. 8  may be replaced with a job sequence shown in  FIG. 15 . The job sequence shown in  FIG. 8  is employed in automatic player pianos of a music performance system, and the automatic player pianos have internal watches, respectively. The internal watches are indicative of the year, month, day, hour, minute, second and sub-second tt. When the internal watches take a figure up from the sub-second to the second, the sub-second returns to zero, and the internal watches start to increment the sub-second, again. 
     When the central processing unit starts the job sequence shown in  FIG. 15 , the central processing unit of each automatic player piano sets the internal watch by a standard watch, which broadcasts the standard time through radio waves, as by step S 68 . 
     Subsequently, the central processing unit of one of the automatic player pianos reads present time ttA on the internal watch, and transmits an event code and a time code expressing the present time ttA to the other automatic player piano through the internet as by step S 69 . The event code expresses the measurement of time lag. 
     The event code and time code arrive at the other automatic player piano, and the central processing unit reads the arrival time ttB on the internal watch. The central processing unit determines the communication time lag DAB through the subtraction between the time ttA and the arrival time ttB as by step S 70 . 
     The central processing unit of other automatic player piano reads the present time ttB′ on the internal watch, and transmits the event code and a time code expressing the present time ttB′ to the automatic player piano through the internet as by step S 71 . 
     The event code and time code arrive at the automatic player piano, and the central processing unit reads the arrival time ttA′ on the internal watch. The central processing unit determines the communication time lag DBA through the subtraction between the time ttB′ and the arrival time ttA′. 
     The automatic player pianos transmit the time codes expressing the communication time lag DAB and DBA so as to exchange the communication time lags DAB and DBA as by step S 73 . Thus, the communication time lag is determined. 
     If the central processing unit of other automatic player piano transmits the time code expressing the communication time lag DAB together with the event code and time code ttB′ at step S 71 , the transmission step is reduced. Moreover, the job sequence may be repeated so as to determine the communication time lag as an average of plural communication time lags DAB/DBA. 
     Although the preparation work at step S 29  is carried out once the music session for the communication time lag D, the determination on the communication time lag D may be repeated during the music session.  FIG. 16  shows a job sequence for periodically measuring the communication time lag D. While the central processing unit is reiterating the loop consisting of steps S 30  to S 34 B, the central processing unit periodically enters the job sequence shown in  FIG. 16  through timer interruptions. 
     When the central processing unit enters the job sequence, the central processing unit checks the random access memory to see whether or not any one of the keys reach the end position as by step S 74 A. When the answer at step S 74 A is given negative “no”, the central processing unit immediately returns to the loop S 30  to S 34 . 
     On the other hand, if the answer is given affirmative, the central processing unit transmits an event code and a time code expressing present time tA to the other automatic player piano through the communication network as by step S 74 B. Upon reception of the event code and time code tA, the other automatic player piano transmits the event code and a time code expressing the arrival time tB to the automatic player piano as by step S 75 . 
     When the event code and time code tB arrive at the automatic player piano, the arrival time code tB is memorized in the random access memory as by step S 76 . The central processing unit determines the communication time lag through the subtraction between the present time tA and the arrival time tB as by step S 77 . 
       FIG. 17  shows the key position on the actual key trajectory tEA in the master musical instrument, key position on the presumed key trajectory trEB and key position on the actual key trajectory in the slave musical instrument. The presumed key trajectory trEB is delayed from the actual key trajectory tEA due to the communication time lag, and the actual key trajectory tEB is delayed from the presumed key trajectory trEB due to the solenoid-operated key actuator, i.e., mechanical delay. 
     Both of the communication time lag and mechanical time lag are taken into account for the control on the corresponding keys as shown in  FIG. 18 . Since the communication time lag DAB/DBA is determined as shown in  FIG. 16 , the jobs for determining the communication time lag DAB/DBA are deleted from the job sequence shown in  FIG. 18  for the sake of simplicity. 
     The central processing units periodically enter the job sequence through timer interruptions. When the central processing unit of an automatic player piano enters the job sequence, the central processing unit checks the random access memory to see whether or not any one of the keys reaches the end position as by step S 78 A. 
     If the answer at step S 78 A is given negative “no”, the central processing unit of automatic player piano immediately returns to the loop S 30  to S 34 B. On the other hand, when the central processing unit finds a key arriving at the end position, the answer at step S 78 A is given affirmative “yes”. With the positive answer “yes”, the central processing unit stores the time on the plots tEA in the random access memory, and transmits an event code and time code expressing the time on the plots trEB to the other automatic player piano as by step S 78 B. 
     When the event code and time code arrives at the other automatic player piano, the central processing unit of other automatic player piano stores the time on the plots trEB in the random access memory as by step S 79 . 
     The central processing unit of other automatic player piano checks the random access memory to see whether or not the corresponding key arrives at the end position as by step S 80 A. If the answer at step S 80 A is given negative “no”, the central processing unit returns to the loop. On the other hand, when the corresponding key arrives at the end position, the answer at step S 80 A is given affirmative “yes”, and the central processing unit determines the mechanical time lag DrB through the subtraction as by step S 80 B. The central processing unit of other automatic player piano transmits a time code expressing the mechanical time lag DrB to the automatic player piano as by step S 81 . 
     When the time code arrives at the automatic player piano, the central processing unit of automatic player piano determines the total delay DD through the addition between the communication time lag and the mechanical time lag as by step S 82 . 
     The job sequence shown in  FIG. 18  forms a part of the music session shown in  FIG. 6 . Since not only the communication time lag but also mechanical time lag are taken into account for the control on the keys of the slave musical instrument, the keys of slave musical instrument are well synchronized with the keys of master musical instrument, and the music tune is concurrently performed on both of the master musical instrument and slave musical instrument. 
     Third Embodiment 
     System Configuration of Music Performance System 
     Turning to  FIG. 19  of the drawings, yet another music performance system embodying the present invention also comprises automatic player pianos PE and PF and the internet N. 
     The automatic player pianos PE and PF are similar to the automatic player pianos PC and PD except for music data producing systems  19 E and  19 F and key motion estimators  25 E and  25 F. The music data producing system  19 E and  19 F produces not only the pieces of music data but also pieces of raw key motion data on the basis of the pieces of key position data. In this instance, each of the pieces of raw key motion data expresses the lapse of time from the initiation of music session, key number and normalized key position. 
     The key motion estimators  25 E and  25 F are connected between the communication systems  15 A and  15 B and the controlling systems  18 A and  18 B, and the key motion estimators  25 F and  25 E presume the key motion on the loci at time later than the present time by a predetermined time period on the basis of the pieces of raw key motion data transmitted from the other automatic player pianos PE and PF. The predetermined time period is equal to the communication delay time D. 
     The other component parts of automatic player piano PE and the other component parts of automatic player piano PF are labeled with references designating the corresponding component parts of automatic player piano PA and the corresponding component parts of automatic player piano PB without detailed description for avoiding repetition. Furthermore, component parts of acoustic pianos of automatic player pianos PE and PF and the system components of controlling systems  18 A a  and  18 B a  are labeled with references designating the corresponding component parts of acoustic piano shown in  FIG. 2  and the corresponding system components of controlling system shown in  FIG. 3 . 
     Although the pieces of key motion data are prepared through the preliminary key data suppliers  25 A and  25 B of automatic player pianos PC and PD where the players A and B finger music tunes in the second embodiment, the automatic player pianos PE and PF of the third embodiment supply the pieces of raw key motion data to the other automatic player pianos PF and PE through the internet N, and a reference forward key trajectory and a reference backward key trajectory, which express the key position varied with time later than the time expressed in the piece of raw key motion data by the predetermined time period, are determined on the basis of the pieces of raw key motion data. The target key position and target key velocity, which are found on the reference forward key trajectory and reference backward key trajectory, are supplied to the servo controller  12 . Thus, the communication delay D is cancelled in the presumption of reference forward key trajectory and reference backward key trajectory. As a result, the corresponding key is moved synchronously with the depressed key. 
     Computer Program 
     A computer program, which is installed in the controlling system  18   a , is also broken down into a main routine program and several subroutine programs. The main routine program, subroutine program for communication and subroutine program for music data generation are similar to those of the computer programs installed in the controlling systems  18   a  of automatic player pianos PA and PB. 
     The subroutine program for automatic playing is simpler than the subroutine programs for automatic playing installed in the automatic player pianos PA and PB. Although the reference forward silent trajectory and reference backward silent trajectory are determined in the music session for the silent key movements in the automatic player pianos PA and PB, the reference forward key trajectory and reference backward key trajectory are not produced in the music session through the music performance system implementing the second embodiment. In other words, the automatic playing systems  18 A and  18 B of automatic player pianos PC and PD drive the keys  1 A a  and  1 B a  to generate the acoustic piano tones in the music session. The subroutine program for music data generation is different from that in the automatic player pianos PA and PB. The pieces of raw key motion data are produced through the execution of subroutine program for music data generation. The subroutine program for music session is different from that of the first embodiment and second embodiment, and will be hereinafter described. 
     Behavior in Music Session 
       FIG. 20  shows a behavior of the music performance system in the music session. The players A and B instruct the automatic player pianos PE and PF to start the music session, respectively, and the instruction is transferred from the automatic player piano PE to the automatic player piano PF and vice versa. 
     The player A depresses a key  1 A a , and the associated key sensor  6 A starts to vary the magnitude of key position signal S 1 . The discrete values of key position signals S 1  are accumulated in the random access memory  22 A after the analog-to-digital conversion, and the music data producing system  19 E notices the key  1 A a  being depressed as by step S 112 . The music data producing system  19 F normalizes the current key position, and determines the key number assigned to the depressed key  1 A a  and lapse of time. The music data producing system  19 F produces the piece of raw key motion data expressing the normalized key position, lapse of time and key number as by step S 113 . The piece of raw key position data is loaded in a packet, and the communication system  15 A transmits the packet to the other automatic player piano PF through the internet N. 
     The music data producing system  19 E and communication system  15 A repeat the jobs at steps S 113  and S 114  at regular intervals, and the pieces of raw key motion data are periodically transmitted to the other automatic player piano PF through the internet N. 
     The packet arrives at the communication system  15 B of automatic player piano PF as by step S 115 . The communication time lag D is unavoidably introduced during the propagation of each packet through the internet N. 
     The piece of raw key motion data is unloaded from the packet, and is transferred from the communication system  15 B to the key motion estimator  25 E. The piece of raw key motion data is individualized, and is accumulated in the random access memory  22 B. Thus, the pieces of raw key motion data are periodically accumulated in the random access memory  22 B. 
     The key motion estimator  25 E analyzes the pieces of raw key motion data so as to determine the reference key trajectory. The key motion estimator  25 E determines the reference key trajectory in a similar matter to that of the preliminary key data suppliers  25 A and  25 B of the second embodiment, and the job sequence is illustrated in  FIG. 21 . In the following description on the flowchart shown in  FIG. 21 , a value of normalized key position and the time at which the value of normalized key position is determined are expressed as yxA and t[n], respectively. The time advanced from the time t[n] by the regular interval is expressed as t[n+1], and the pervious time is expressed as t[n−1]. 
     The central processing unit  20 B stores the normalized value of key position yxA at time t[n] in the memory location assigned to the depressed key  1 A a  as by step S 127 . 
     Subsequently, the central processing unit  20 A or  20 B reads out the normalized value yxA[n] at time t[n] and the previous normalized value yxA[n−1] from the random access memory  22 A or  22 B, and calculates the key velocity yv[n] by using the equation yv[n]=(yx[n]−yx[n−1])/T as by step S 128 . 
     Subsequently, the central processing unit  20 B checks the key position yx[n] and key velocity yx[n] to see whether or not the key  1 A a  is found at the phase boundary as by step S 129 . The criteria for the phase boundary are same as those used in the second embodiment. 
     If the current status of key  1 A a  is matched with one of the criteria, the answer at step S 129  is given affirmative “yes”, and the central processing unit  20 B proceeds to the next step S 130 . On the other hand, if the current status of key  1 A a  is not matched with all of the criterion, the answer at step S 129  is given negative “no”, and the central processing unit  20 B proceeds to step S 131  without any execution at step S 130 . 
     The key  1 A a  is assumed to be found at the phrase boundary. The central processing unit  20 B gives the initial values to the number n of reference cycle times T, key position yx[n], key velocity yv[n] and acceleration ya[n] at step S 130 . The initial values are same as those described in conjunction with the second embodiment. Thus, the number n of reference cycles T, key position yx[n], key velocity yv[n] and key acceleration ya[n] are reset to the initial values at the phase boundary. 
     Upon completion of the job at step S 130  or with the negative answer “no” at step S 129 , the central processing unit  20 B determines the acceleration ya[n] at time t[n] by using the equation expressed as ya[n]=(yv[n]−yv[n−1])/T at step S 131 . 
     The central processing unit  20 B estimates the initial key velocity Vv[n] as by step S 132 . The central processing unit  20 B estimates the reference key trajectory passing through the current key position yx(n) and previous key positions yx[n−1] and yx[n−2] as by step S 133 , and determines the initial key velocity Vv[n] from the estimated key trajectory by using the equation expressed as Vv[n]={(2×n−1)×yv[n−1]−(2×n−3)×yv[n]}/2. 
     The key acceleration ya[n] and initial key velocity Vv[n] are stored in the certain memory location of random access memory  22 B assigned to the key  1 A a.    
     Finally, the central processing unit  20 B determines the key trajectory in the present phase, and presumes the target key position and target key velocity at the time t[n+D] later than the present time t[n] by the communication time lag D as by step S 134 . 
     Turning back to  FIG. 20 , the target key position and target key velocity are supplied to the servo controller  12 B, and the key  1 B a , which is corresponding to the key  1 A a , is driven for producing the acoustic tone as by step S 117 . 
     On the other hand, when the player B depresses a key  1 B a , the music data producing system  19 F and communication system  15 B prepare and transmit the piece of raw key motion data to the other automatic player piano PE as by steps S 118 , S 119  and S 120 , the jobs of which are similar to those of steps S 112 , S 13  and S 114 , and the key motion estimator  25 E and automatic playing system  18 A drive the corresponding key  1 A a  to produce the acoustic tone as by steps S 121 , S 122  and S 123 , the jobs of which are similar to those of steps S 115 , S 116  and S 117 . 
     When the player A depresses another key  1 A a , the music d at a producing system  19 E and communication system  15 A prepare and transmit the piece of raw key motion data to the automatic player piano PF as by step S 124 , S 125  and S 126 . 
     As will be understood from the foregoing description, the key motion estimators  25 E and  25 F determine the target key position and target key velocity at the time later than the present time by the communication time lag D. As a result, the players A and B perform a music tune in music session as if they perform the music tune through four hands on each of the acoustic pianos  1 A and  1 B. 
     Fourth Embodiment 
     Turning to  FIG. 22  of the drawings, still another performance system embodying the present invention comprises automatic player pianos PG and PH and the internet N. 
     The automatic player pianos PG and PH are similar to the automatic player pianos PA and PB except for music data producing systems  19 G and  19 H. For this reason, the other components of automatic player pianos PG and PH are labeled with references designating corresponding components of automatic player pianos PA and PB without detailed description for the sake of simplicity. Furthermore, component parts of acoustic pianos of automatic player pianos PG and PH and the system components of controlling systems  18 A a  and  18 B a  are labeled with references designating the corresponding component parts of acoustic piano shown in  FIG. 2  and the corresponding system components of controlling system shown in  FIG. 3 . 
     In the music data producing systems  19 G and  19 H include preliminary event data suppliers  29 A and  29 B, respectively, and the preliminary event data suppliers  29 A and  29 B feature the automatic player pianos PG and PH. Description is hereinafter focused on the preliminary event data suppliers  29 A and  29 B. 
     The automatic player pianos PG and PH are assumed to be assigned to users A and B. The user A is assumed to perform a piece of music on the keys  1 A a  of acoustic piano  1 A of the automatic player piano PG. When the music data processing system  19 G finds a moved key  1 A a , the music data producing system  19 G produces a presumed event data code evBB on the basis of the piece of key position data. The presumed event data code evBB is produced through the function of preliminary event data supplier  29 A. The presumed event data code evBB is loaded in a packet, and the packet is transmitted from the communication system  15 A to the communication system  15 B through the internet N. 
     When the packet arrives at the communication system  15 B, the presumed event data code evBB is unloaded from the packet. The presumed event data code evBB is supplied to the electronic tone generating system  16 B, and the electronic tone is generated through the sound system of electronic tone generating system  16 B. The presumed event data code evBB is further supplied to the controlling system  18 B a , and the controlling system  18 B a  determines the reference forward silent trajectory on the basis of the presumed event data code. The controlling system  18 B a  forces the corresponding key  1 B a  to travel on the reference forward silent trajectory and reference backward silent trajectory. Since the communication time lag is taken into the account in the preparation work for the presumed event data code evBB, the corresponding key  1 B a  is moved in synchronism with the key  1 A a . Thus, the music tune is concurrently performed on both of the automatic player pianos PG and PH. 
       FIG. 23  shows a job sequence for a depressed key  1 A a  and the corresponding key  1 B a . When the depressed key  1 A a  is released, a presumed event data code evBB is produced for the released key  1 A a , and the corresponding key  1 B a  is forced to travel on the reference backward silent trajectory. The job sequence for the released key is similar to the job sequence shown in  FIG. 23 . Description is hereinafter made on the job sequence only for the depressed key. 
     When the user A depresses the key  1 A a , the associated key sensor  6 A finds the depressed key  1 A a  as by step S 83 , and the piece of key position data is supplied from the associated key sensor  6 A to the signal interface. The central processing unit  20 A of controlling system  18 A a  periodically fetches the piece of key position data from the signal interface so as to accumulate values of the piece of key position data in the random access memory  22 A. 
     The central processing unit  20 A analyzes the piece of key position data as by step S 84 , and produces the presumed event data code evBB expressing a presumed key event as by step S 85 . The presumed key event is indicative of the note-on key event or note-off key event at a time later than the present time by the communication time lag D. Thus, the note-on key event and note-off key event are preliminarily informed prior to an actual note-on event and an actual note-off event. Description is hereinafter made on how the event data code is produced. 
     The presumed key event code evBB is loaded in a packet, and the packet is transmitted to the automatic player piano PH through the internet N as by step S 86 . The packet is received by the automatic player piano PG as by step S 87 . 
     The piece of presumed key event data is unloaded from the packet, and is transferred to the automatic playing system  18 B. The automatic playing system  18 B forces the corresponding key  1 B a  to travel on the reference forward silent trajectory as by step S 88 . Although the communication time lag D is unavoidably introduced between the packet transmission and the packet reception, the presumed key event data was produced in advance of the actual note-on key event so that the corresponding key  1 B a  is moved in synchronism with the depressed key  1 A a.    
     The piece of presumed key event data is further transferred to the electronic tone generating system  16 B, and an electronic tone is produced through the electronic tone generating system  16 B as by step S 89 . 
     When the user B depresses a key  1 B a , the above-described jobs are repeated as by steps S 90 , S 91 , S 92 , S 93 , S 94 , S 95  and S 96 . The presumed key event data code for the automatic player piano PG is labeled with “evA” in  FIG. 22 . The corresponding key  1 A a  is forced to travel on the reference forward silent trajectory, and the electronic tone is generated. 
     When the user A depresses another key  1 A a , the preliminary event data supplier  29 A executes the jobs, which are same as those at steps S 83  to  86 , as by step S 97 , S 98 , S 99  and S 100 . 
     Though not shown in  FIG. 23 , when the user A or B releases the depressed key  1 A a  or  1 B a , the preliminary event data supplier  29 A or  29 B produces the presumed event data code evBB or evA for the note-off event, and transmits the piece of presumed event data to the other automatic player piano PH or PG. The controlling system  18 B a  or  18 A a  determines the reference backward key trajectory on the basis of the piece of presumed event data, and forces the corresponding key  1 B a  or  1 A a  to travel on the reference backward silent trajectory. As a result, the damper  8  is brought into contact with the vibrating string  4 , and makes the acoustic piano tone decayed. 
     Though not shown in the drawings, the central processing unit  20 A executes the job sequences similar to the job sequences shown in figures  7  and  8  in the music session, and the communication time lag D is determined. However, the data processing for key is different from the corresponding step S 31 . 
     Assuming now that the user A depresses one of the keys  1 A a  in the music session, the central processing unit  20 A produces the presumed key event data code evBB through the job sequence shown in  FIG. 24 . The number of reference cycle time T is expressed as “n”, and the reference cycle time is assumed to be counted from the departure of rest position. The key velocity V is expressed as V[n], and the final hammer velocity vv is assumed to be proportional to the key velocity V. In other words, the final hammer velocity vv is expressed as vv=m×V[n] where m is a coefficient. 
     When the central processing unit  20 A enters the job sequence, the central processing unit  20 A fetches the piece of key position data expressing the current key position yx[n] of the key  1 A a , and accumulates the piece of key position data yx[n] in the random access memory  22 A after the analog-to-digital conversion and normalization as by step S 101 . 
     Subsequently, the central processing unit  20 A determines the present key velocity yv[n] as by step S 102 . The present key velocity yv[n] is given by equation 2, i.e., yv[n]=(yx[n]−yx[n−1])/T. The central processing unit  20 A averages the values of present key velocity as by step S 103 . The average V[n] is given as V[n]=(yv1+, . . . , +yv[n])/n. 
     Subsequently, the central processing unit  20 A presumes the key position rx[n+D] at a time later than the present time [n] by the communication time lag D as by step S 104 . The presumed key position rx[n+D] is given as equation 7.
 
 rx[n+D]=yx[n]+V[n ]×( D×T )  Equation 7
 
where T is a time period equal to the reference cycle time T. Thus, the distance from the present time and the time for the presumed key position rx[n+D] is expressed by using the absolute time (D×T).
 
     The data processing at steps S 101  to S 104  is illustrated in  FIG. 25 . The present time is expressed as [n], and yv[n] is indicative of the present key velocity between time [n−1] and time [n]. The averaged key velocity V[n] is appropriate from time  0  to time [n]. Since the key  1 A a  is expected to move at the averaged key velocity V[n], the key position rx[n+D] is determinable on the basis of plots expressing the averaged key velocity V[n]. Thus, the central processing unit  20 A presumes the key position at the time [n+D] later than the present time t[n] by the communication time lag D as by step S 104 . 
     Subsequently, the central processing unit  20 A compares the presumed key position rx[n+D] with the end position to see whether or not the key  1 A a  is deemed to reach the end position at the time t[n+D] as by step S 105 . In this instance, the end position is spaced from the reset position by 10 millimeters. 
     While the presumed key position rx[n+D] is being found on the way to the rest position, the answer at step S 105  is given negative “no”, and the central processing unit  20 A immediately returns to the loop S 30  to S 34 B. However, when the presumed key position rx[n+D] is found at the end position, the answer at step S 105  is changed to affirmative “yes”. Then, the central processing unit  20 A a  produces the presumed key event data code evBB. The presumed key event data code evBB/evA for the tone generation is same in format as the music data code expressing the note-on key event. The note-on message, note number, which is identical with the key number, and velocity, which is equivalent to the final hammer velocity vv, are stored in the presumed key event data code evBB. Finally, the central processing unit  20 A transmits the presumed key event data evBB to the automatic player piano PF as by step S 106 . 
     The automatic playing system  18 B forces the corresponding key  1 B a  to travel on the reference forward silent key trajectory, and the electronic tone generating system  16 B produces the electronic tone instead of the acoustic piano tone. The behavior of automatic playing system  18 B is similar to that illustrated in  FIG. 9B . Although the communication time lag D is unavoidably introduced between the transmission of presumed key event data code evBB/evA and the reception, the presumed event data code evBB/evA is transmitted to the other automatic player piano in advance of the arrival of the depressed key at the end position so that the communication time lag is canceled. For this reason, the corresponding keys are moved in synchronism with the depressed keys. 
     When the depressed key  1 A a  is released, the preliminary event data supplier  29 A produces the presumed key event data code evBB expressing the note-off key event as similar to the key event data code expressing the note-on key event, and transmits the presumed key event data code evBB to the other automatic player piano PF. 
     While the user B is fingering a music tune on the automatic player piano PH the preliminary event data supplier  29 B produces the presumed key event data codes evA through the data processing shown in  FIG. 24  and the communication system  15 B transmits the presumed key event data codes evA to the communication system  15 A of automatic player piano PG. The corresponding key  1 A a  is moved, and the electronic tone is generated as described in conjunction with the automatic player piano PH. 
     As will be understood from the foregoing description, the automatic player piano PG or PH produce the presumed key event data codes evBB/evA in advance of the occurrence of key events, and transmit the presumed key event data codes evBB/evA from one of the automatic player pianos PG and PH to the other of the automatic player pianos PH or PG. The presumed key event data codes evBB/evA make the key events occur in both of the automatic player pianos PG and PH. Thus, the keys and corresponding keys are synchronously driven in both of the automatic player pianos PG and PH. 
     In the fourth embodiment, the key trajectory is assumed to be expressed by the linear line as shown in  FIG. 25 . However, the key trajectory may be expressed as a non-linear line such as the curve of second order. The communication time lag D may be determined through the job sequence shown in  FIG. 15  or  FIG. 16 . 
     The preliminary event data suppliers  29 A and  29 B may produce presumed event data codes expressing presumed key events at a time later than the present time by a total delay time, i.e., the total of communication time lag and mechanical time lag. The total delay time is determined as follows. 
       FIG. 26  shows a job sequence for measuring the total time lag, i.e., the total of the communication time lag and mechanical time lag. The job sequence shown in  FIG. 26  is prepared on the basis of the job sequence shown in  FIG. 18 . The job sequence shown in  FIG. 26  is employable in the other embodiments. The presumed event data codes evBB are assumed to be transmitted from the automatic player piano PG to the other automatic player piano PH. 
     The central processing unit  20  of automatic player piano PG periodically checks the signal interface assigned to the hammer sensors  7 A to see whether or not any one of the hammers  3  is brought into collision with the associated string  4  as by step S 107 A. While the answer is being given negative “no”, the central processing unit  20  immediately returns to the loop S 30  to S 34 B. 
     The user is assumed to depress one of the keys  1 A a . The central processing unit  20  of automatic player piano PG carries out the data processing on the piece of key position data so as to produce the presumed key event data as described hereinbefore. The depressed key  1 A a  gives rise to the actuation of associated action unit  2 , which in turn gives rise to the rotation of associated hammer  3 . While the hammer  3  is rotating toward the associated string  4 , the hammer sensor  7 A varies the hammer position signal S 2 , and the values of hammer position signal S 2  are periodically fetched, and are accumulated in the random access memory  22 . When the hammer  3  is brought into collision with the string  4 , the central processing unit  20  acknowledges the collision with the string  4 , and the answer at step S 107 A is changed to affirmative “yes”. Then, the central processing unit  20  determines the time tEA at which the hammer  3  is brought into collision with the string  4 . 
     The central processing unit  20  memorizes the time tEA in the random access memory  22 , and transmits a packet where an event code and time data code expressing the time tEA to the other automatic player piano PF through the internet N as by step S 107 B. 
     When the packet arrives at the communication system  15 B, the central processing unit  20  determines the time at which the packet arrives at the communication system  15 B, and the piece of time data trEB is memorized in the random access memory  22  as by step S 108 . 
     The central processing unit  20  of automatic player piano PH periodically checks the random access memory  22  to see whether or not the hammer  3  is deemed to be brought into collision with the associated string  4  as by step S 109 A. The hammer sensor  7 B monitors the hammer  3  associated with the corresponding key  1 B a , and the piece of hammer position data is accumulated in the random access memory  22 . Since the associated key  1 B a  travels on the reference forward silent trajectory, the hammer  3  does not reach the associated string  4 . When the hammer  3  starts the rotation through the escape, the central processing unit  20  presumes the time tEB at which the hammer  3  is brought into collision with the string  4  on the assumption that the action unit  2  transmits standard force to the hammer  3  through the escape. The central processing unit  20  subtracts the arrival time trEB from the time tEB so as to determine the mechanical time lag DrB as by step S 109 B. 
     The central processing unit  20  produces a packet where the pieces of time data expressing the arrival time trEB and mechanical time lag DrB are loaded, and transmits the packet to the automatic player piano PE through the internet N as by step S 110 . 
     When the packet arrives at the communication system  15 A, the pieces of time data are unloaded from the packet. The central processing unit  20  of automatic player piano PE subtracts the time tEA from the arrival time trEB so as to determine the communication time lag. The central processing unit adds the communication time lag to the mechanical time lag DrB, and determines the total delay time DD as by step S 11 . 
     Fifth Embodiment 
     System Configuration of Music Performance System 
     Turning to  FIG. 27  of the drawings, yet another music performance system embodying the present invention also comprises automatic player pianos PJ and PK and the internet N. 
     The automatic player pianos PJ and PK are similar to the automatic player pianos PG and PH except for key music data producing systems  19 J and  19 K and key event estimators  29 J and  29 K. For this reason, the other system components of automatic player pianos PG and PK are labeled with references designating the corresponding system components of automatic player pianos PG and PH without detailed description. Furthermore, component parts of acoustic pianos  1 A and  1 B and the system components of controlling systems  18 A a  and  18 B a  are labeled with references designating the corresponding component parts of acoustic piano shown in  FIG. 2  and the corresponding system components of controlling system shown in  FIG. 3 . 
     Although the music data producing systems  19 G and  19 H produces the pieces of presumed event data, i.e., presumed event data codes from the pieces of key position data, the music data producing systems  19 J and  19 K prepare pieces of raw key motion data from the pieces of key position data, and supply the pieces of raw key motion data to the communication systems  15 A and  15 B. Each of the pieces of raw key motion data expresses the normalized key position, lapse of time from the initiation of music session and key number. 
     The key event estimators  29 K and  29   j  individualize the normalized key position, and, thereafter, accumulate the value of key position together with the lapse of time and key number in the random access memories  22 B and  22 A. The key event estimators  29 K and  29   j  analyze the pieces of raw key motion data, and produce the presumed event data codes. The presumed event data codes are supplied to the tone generating systems  16 B and  16 A and the automatic playing systems  18 B and  18 A. Thus, the automatic player pianos PJ and PK transfer the pieces of raw key motion data to the other automatic player pianos PK and PJ, and the other automatic player piano PK and PJ produce the presumed event data codes on the basis of the pieces of raw key motion data. 
       FIG. 28  shows a job sequence in the music session. The players A and B firstly instruct the automatic player pianos PJ and PK to start the music session. When the player depresses a key  1 A a , the associated key sensor  6 A starts to vary the magnitude of key position signal S 1 . The discrete value of key position signal S 1  is converted to the digital key position signal, and the piece of key position data is stored in the random access memory  22 A. The music data producing system  19 J notices the key  1 A a  starting the travel on the basis of the piece of key position data accumulated in the random access memory  22 A as by step S 135 , and produces the piece of raw key position data as by step S 136 . 
     The piece of raw key motion data is supplied to the communication system  15 A. The piece of raw key motion data is loaded in a packet, and the packet is delivered to the internet N as by step S 137 . The jobs at steps S 136  and  137  are repeated at regular time intervals, and the piece of raw key event data is periodically delivered to the internet N. 
     The communication time lag D is unavoidably introduced during the propagation through the internet N, and the communication system  15 B receives the packet as by step S 138 . The piece of raw key motion data is unloaded from the packet, and is supplied to the key event estimator  29 K. 
     The key event estimator  29 K individualizes the piece of raw key event data, and, thereafter, stores it in the random access memory  22 B. Thus, the individualized values of raw key motion data are accumulated in the random access memory  22 B. 
     The key event estimator  29 K analyzes the piece of raw key motion data, and produces the presumed event data code as by step S 139 . The method of producing the preliminary event data code is illustrated in  FIG. 29 . 
     In detail, when the central processing unit  20 B enters the job sequence shown in  FIG. 29 , the central processing unit  20 B fetches the piece of raw key motion data expressing the current key position yx[n] of the key  1 A a , and accumulates the piece of key position data yx[n] in the random access memory  22 B after the analog-to-digital conversion and normalization as by step S 150 . 
     Subsequently, the central processing unit  20 B determines the present key velocity yv[n] as by step S 151 . The present key velocity yv[n] is given by equation 2, i.e., yv[n]=(yx[n]−yx[n−1])/T. The central processing unit  20 B averages the values of present key velocity as by step S 152 . The average V[n] is given as V[n]=(yv1+, . . . , +yv[n])/n. 
     Subsequently, the central processing unit  20 B presumes the key position rx[n+D] at a time later than the present time [n] by the communication time lag D as by step S 153 . The presumed key position rx[n+D] is given as rx[n+D]=yx[n]+V[n]×(D×T). Thus, the distance from the present time and the time for the presumed key position rx[n+D] is expressed by using the absolute time (D×T). 
     The present time is expressed as [n], and yv[n] is indicative of the present key velocity between time [n−1] and time [n]. The averaged key velocity V[n] is appropriate from time  0  to time [n]. Since the key  1 A a  is expected to move at the averaged key velocity V[n], the key position rx[n+D] is determinable on the basis of plots expressing the averaged key velocity V[n]. Thus, the central processing unit  20 B presumes the key position at the time [n+D] later than the present time t[n] by the communication time lag D as by step S 153 . 
     Subsequently, the central processing unit  20 B compares the presumed key position rx[n+D] with the end position to see whether or not the key  1 A a  is deemed to reach the end position at the time t[n+D] as by step S 154 . In this instance, the end position is spaced from the reset position by 10 millimeters. 
     While the presumed key position rx[n+D] is being found on the way to the rest position, the answer at step S 154  is given negative “no”, and the central processing unit  20 B immediately returns to the loop S 30  to S 34 B. However, when the presumed key position rx[n+D] is found at the end position, the answer at step S 154  is changed to affirmative “yes”. Then, the central processing unit  20 B produces the presumed key event data code. The presumed key event data code is same in format as the music data code expressing the note-on key event. The note-on message, note number, which is identical with the key number, and velocity, which is equivalent to the final hammer velocity vv, are stored in the presumed key event data code. Finally, the central processing unit  20 B transmits the presumed key event data to the automatic playing system  18 B and electronic tone generator  16 B as by step S 155 . 
     Turning back to  FIG. 28 , the electronic tone generating system  16 B produces the electronic tone, and the motion controller  11 B and servo controller  12 B forces the key  1 B a  to travel on the reference forward silent trajectory. As a result, the key  1 B a  moves without any acoustic tone, and the electronic tone is generated as by step S 140 . 
     When the player B depresses a key  1 B a , the music data producing system  19 K produces the piece of raw key motion data at steps S 141  and S 142 , which are same as the jobs at steps S 136  and S 137 . The pieces of raw key motion data is transferred to the automatic player piano PJ as by step S 143 , and is received as by step S 144 . The key event estimator  29 J produces the presumed event data code as by step S 145 , and is supplied to the electronic sound system  16 A and automatic playing system  18 A. Thus, the corresponding key  1 A a  is moved without any acoustic tone, and the electronic tone is produced as by step S 146 . 
     When the player A depresses another key  1 A a , the above-described jobs are repeated as by steps S 147 , S 148  and S 149 . Thus, the music session proceeds. 
     The presumed event data codes may be supplied to only the automatic playing systems  18 A and  18 B. In this instance, the automatic playing systems  18 A and  18 B force the keys  1 A a  and  1 B a  to travel on the reference forward key trajectory and reference backward key trajectory so that the acoustic tones are produced. 
     As will be understood from the foregoing description, event though the presumed event data codes are produced after the reception of pieces of raw key motion data, the movements of keys  1 B a  and  1 A a  are reproduced without any acoustic tones, and the players B and A hear the electronic tones corresponding to the acoustic tones produced through the acoustic pianos  1 A and  1 B. The presumed key events are advanced from the regular key events so that the communication time lag D is cancelled. 
     Although particular embodiments of the present invention have been shown and described, it will be apparent 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 MIDI protocols do not set any limit to the technical scope of the present invention. Other sorts of music data protocols are known, and are available for the music data codes used in the music performance system. 
     The pieces of presumed key motion data and pieces of presumed event data do not set any limit to the technical scope of the present invention. The sampled values of key position data may be transmitted from the master musical instrument to the slave musical instrument. In this instance, the key sensors have a detectable range as wide as or wider than the keystroke, and the controlling system of slave musical instrument presumes the key position or key event at the arrival time. 
     In the embodiments hereinbefore described, the automatic player pianos PA to PK serve as the master musical instrument and slave musical instrument in the music session. However, one of the automatic player pianos may always serve as the master musical instrument. In this instance, the pieces of presumed key motion data or pieces of presumed event data are unidirectionally transmitted from the master musical instrument to the slave musical instrument or slave musical instruments. 
     An automatic player piano of the music performance system may have either key sensors  6  or hammer sensors  7 . In other words, either key sensors  6  or hammer sensors  7  are dispensable. 
     Key velocity sensors or plunger velocity sensors may be installed in the automatic player pianos PA and PB. In this instance, the motion controller  12  directly determines the current key velocity from key velocity signals or plunger velocity signals. 
     The pulse width modulation does not set any limit to the technical scope of the present invention. Any sort of signal modulation is available for the servo control in so far as the strength of magnetic field is controllable. 
     The internet N does not set any limit to the technical scope of the present invention. The automatic player musical instruments PA and PB may be connected through a LAN (Local Area Network) or MAN (Metropolitan Area Network). The network may be based on the Ethernet (trademark). 
     The packet transmission does not set any limit to the technical scope of the present invention. The pieces of presumed key motion data and pieces of presumed event data may be transmitted from the master musical instrument to the slave musical instrument through a base band transmission through a cable. Otherwise, the pieces of presumed key motion data and pieces of presumed event data may be transmitted from the master musical instrument to the slave musical instrument through a radio channel. 
     The reference key velocity for the reference forward silent trajectory may be produced from the pieces of key trajectory data modified with pieces of control data stored in the read only memory  21 . In this instance, the reference forward key velocity is firstly determined on the basis of the pieces of individualized performance data, which are stored in the music data codes received from another automatic player piano PA or PB, and the pieces of key trajectory data, which express the reference forward key trajectory, are modified with the pieces of control data. 
     The key control technique, which is disclosed in Japan Patent Application laid-open No. 2006-235216, is available for the key driving at step S 5 . As described hereinbefore, the action units  2  give rise to the rotation of hammers  3  through the escape. It is possible to stop the depressed keys  1   a  immediately before the escape through the key control technique disclosed in the Japan Patent Application laid-open. In other words, the reference forward silent trajectory is terminated at a certain key position immediately before the escape so that the hammers  3  are not driven for rotation. This results in the movements of keys  1   a  without any acoustic piano tone. 
     Two automatic player pianos PA and PB do not set any limit to the technical scope of the present invention. More than two automatic player pianos may be connected through a communication system so as to carry out a music session thereamong. 
     The automatic player pianos do not set any limit to the technical scope of the present invention. An automatic player piano and another sort of musical instrument may be incorporated in a music performance system of the present invention in so far as the sort of musical instrument has a capability to produce pieces of music data. An electronic keyboard, an electronic piano and another sort of electronic musical instrument such as, for example, an electronic wind musical instrument may serve as the sort of musical instrument. 
     Another sort of automatic player musical instrument may participate in the music session. An automatic player wind instrument, an automatic percussion instrument and an automatic stringed instrument are examples of the sort of automatic player musical instrument. 
     The present invention may appertain to another sort of manipulators of a musical instrument. The automatic player piano has piano pedals driven by solenoid-operated actuators. Pieces of presumed pedal motion data or pieces of presumed pedal event data, which are corresponding to the pieces of presumed key motion data and pieces of presumed event data, may be produced in the master musical instrument, and are transmitted to the slave musical instrument. 
     The solenoid-operated key actuators  5  may be replaced with another sort of actuators such as, for example, a hydraulic actuator, a pneumatic actuator or an electric motor. 
     The steps S 35  to S 38  may be repeated. In this instance, the communication time lag D is determined as an average of the results. 
     The communication time lag D may be variable. In this instance, the preliminary key data suppliers  25 A and  25 B make the presumed key trajectory exactly overlapped with the actual key trajectory by optimizing a coefficient. In order to make the presumed key trajectory exactly overlapped with the actual key trajectory, the presumed key position rxB is multiplied with the coefficient, and the coefficient is periodically renewed. 
     Otherwise, the communication time lag D may be varied depending upon the gradient of estimated key trajectory. In this instance, when the preliminary key data suppliers  25 A and  25 B determine the estimated key trajectories at step S 66 , the preliminary key data suppliers  25 A and  25 B determines a coefficient on the basis of the gradient of estimated key trajectories, and multiply the coefficient to the communication time lag D so as to make the presumed key trajectory appropriately delayed. 
     The two sorts of fingering, i.e., the standard fingering and half-stroke fingering do not set any limit to the technical scope of the present invention. Sets of phases may be prepared for other sorts of fingering such as, for example, key movement without any tone, in which the key movement gives rise to the hammer rotation without collision with the string. 
     The phase boundaries PH 1  to PH 5 , PH 6  and PH 7  do not set any limit to the technical scope of the present invention. The standard key trajectory may be divided into less five phases or greater than five phases. The half stroke key trajectory may be divided into more than two phases PH 6  and PH 7 . 
     The mechanical time lag may be measured once the music session. In this instance, the total delay DD is introduced into all of the presumed key trajectories. Otherwise, the mechanical time lag may be measured upon arrival of each key at the end position. In this instance, the mechanical time lag is renewed during the performance on the master musical instrument. 
     In the job sequence shown in  FIG. 18 , the event code and time code trEB are transmitted to the slave musical instrument upon arrival of keys at the end position. However, the end position does not set any limit to the technical scope of the present invention. The central processing unit of master musical instrument may proceed to step S 78 B upon arrival of one of the phase boundaries or more than one phase boundaries. 
     The mechanical time lag may be multiply measured. In this instance, the mechanical time lag is given as the average of measured values of mechanical time lag. 
     The total delay DD may be shared between the master musical instrument and the slave musical instrument. Otherwise, the master musical instrument and slave musical instrument may independently determine the total delay DD. 
     In the fourth embodiment, the time tEA may be presumed on the basis of the reference forward silent trajectory. Otherwise, vibration sensors or microphones may be installed in the automatic player pianos PE and PF so as to convert the vibrations of strings  4  to the detecting signal. 
     Claim languages are correlated with the system components and component parts of musical instruments described in the embodiments as follows. 
     The automatic player pianos PC, PD, PE, PF, PG, PH, PJ and PK are “musical instruments”. When the automatic player piano PC, PE, PG or PJ is made correspond to “each of said plural musical instruments”, the automatic player piano PD, PF, PH or PK serves as “another of said plural musical instruments”. 
     The keys  1 A a  or  1 B a  are corresponding to “plural manipulators” of each of the plural musical instrument, and the electronic tone generating system  16 A or  16 B, action units  2 , hammers  3 , strings  4  and dampers  8  as a whole constitute a “tone generator”. The solenoid-operated key actuators  5 A or  5 B serve as “actuators”, and the driving pulse signals S 3  are corresponding to “driving signals”. The key sensors  6 A or  6 B is corresponding to “converters”, and the key position signals S 1  serves as “detecting signals”. 
     The communicating system  15 A or  15 B is corresponding to a “communicator”. The pieces of key motion data are corresponding to “pieces of performance data expressing real movements” and “other pieces of performance data expressing real movements, and the pieces of presumed event data evBB and evA are corresponding to “pieces of performance data expressing prospective movements” and “other pieces of performance data expressing prospective movements”. 
     The music data producing system  19 C or  19 D serves as a “data producer producing said pieces of performance data expressing said prospective movement”, and the music data producing system  19 E or  19 F serves as a “data producer producing said pieces of performance data expressing said real movements”. 
     The preliminary data processor  10 , motion controller  11 , servo controller  12  and pulse width modulators  24  form parts of a “signal producer”. The internet N provides a “communication channel” to the plural musical instruments. 
     The preliminary data supplier  19 C or the preliminary event data supplier  29 A serves as a “prospective data producer provided in association with said data producer of said each of said plural musical instruments”, and the preliminary data supplier  19 D or the preliminary event data supplier  29 B serves as a “prospective data producer provided in association with said data processor of said another of said plural musical instruments”. The key motion estimator  25 E or key event estimator  29 J serves as a “prospective data producer provided . . . in association with said signal producer of said each of said plural musical instruments”, and the key motion estimator  25 F or key event estimator  29 K serves as a “prospective data producer provided . . . in association with the signal producer of said another of said plural musical instruments”. 
     The controlling system  10   a  and jobs at steps S 35  to S 38  serve as a “delay measuring module”, and the jobs at steps S 35  to S 38  are replaceable with the jobs at steps S 68  to S 73 , jobs at steps S 74 A to S 77  or jobs at steps S 78 A to S 82 . 
     The controlling system  18   a  and jobs at steps S 60  to S 66  serve as an “actual trajectory estimator” in case where the prospective data producer is provided in association with the data producer of “said each of said plural musical instruments”. The controlling system  18   a  and jobs at step S 67  serve as a “physical quantity estimator” also in case where the prospective data producer is provided in association with the data producer of “said each of said plural musical instruments”. 
     The controlling system  18   a  and jobs at steps S 127  to S 133  serve as an “actual trajectory estimator in case where the prospective data producer is provided in association with the signal producer of “said each of said plural musical instruments”. The controlling system  18   a  and jobs at step S 134  serve as a “physical quantity estimator” also in case where the prospective data producer is provided in association with the signal producer of “said each of said plural musical instruments”. 
     In case where the prospective data producer is provided in association with the data producer of “each of said plural musical instruments”, the controlling system  10   a  and jobs at steps S 101  to S 104  serve as a “position estimator”, the controlling system  10   a  and part of job at step S 106  serve as an “event data producer”, and the controlling system  10   a  and jobs at steps  105  and  106  serve as an “event data supplier”. 
     In case where the prospective data producer is provided in association with the signal producer of “said each of said plural musical instruments”, the controlling system  10   a  and jobs at steps S 150  to S 153  serve as a “position estimator”, the controlling system  10   a  and part of job at step S 155  serve as an “event data producer”, and the controlling system  10   a  and jobs at steps  154  and  155  serve as an “event data supplier”.