This invention relates to a musical instrument and, more particularly, to a musical instrument automatically performing a piece of music through feed-back control loops.
An automatic player piano is a typical example of the musical instrument automatically performing a piece of music. The automatic player piano is broken down into an acoustic piano and an automatic playing system. A recording system may be further incorporated in the automatic player piano.
The prior art automatic playing system includes solenoid-operated key actuators, feedback sensors and a controller. The solenoid-operated key actuators are respectively provided under the rear portions of the black/white keys, which are made of wood, and the rear portions of the black/white keys are selectively pushed upwardly with the plungers of the associated solenoid-operated key actuators in the playback. The controller is connected between the feedback sensors and the solenoid-operated key actuators, and renders the black/white keys respectively travelling along reference trajectories at appropriate timing.
While the black/white keys are being driven by means of the associated solenoid-operated key actuators, the feedback sensors directly or indirectly monitor the black/white keys so as to report current key positions to the controller. The controller compares the current key positions with the target key positions on the reference trajectories to see whether or not the black/white keys exactly travel along the reference trajectories. When the answer is given affirmative, the controller continuously keeps the duty ratio of the driving signals. However, if the controller finds a black/white key to be ahead of or late for the target position, the controller decreases or increases the duty ratio of the driving signal in order to make the black/white key captures the target position. Thus, the controller, each solenoid-operated key actuator and associated feedback sensor form in a feedback control loop for the associated black/white key.
The prior art automatic player piano is, by way of example, disclosed in Japanese Patent Application laid-open No. Hei 7-175471, which is corresponding to Japanese Patent Application No. Hei 5-344242, and the Japanese Patent Application offered the convention priority right to the U.S. patent application already assigned U.S. Pat. No. 5,652,399. Another prior art automatic player piano is disclosed in Japanese Patent Application laid-open No. 2000-276134, which is corresponding to Japanese Patent Application No. Hei 11-284135, and the Japanese Patent Application offered the convention priority right to the U.S. patent application already assigned U.S. Pat. No. 6,271,447B1.
The feedback sensors are respectively provided inside of the solenoid-operated key actuators incorporated in both prior art automatic player pianos disclosed in the Japanese Patent Application laid-open. Namely, only one sort of feedback sensors forms parts of the feedback control loops. The prior art automatic player pianos were designed on the assumption that the plunger motion is same as the key motion. However, the solenoid-operated key actuator and black/white key are independent of each other.
The plungers are rigid, and the solenoids are electromagnetically coupled with the associated plungers so as to exert thrust on the plunger in the magnetic field. On the other hand, the woody black/white key is deformable, and is loosely coupled with the balance pin on the balance rail. While the plunger is projecting from the solenoid, the plunger continuously exerts the force on the rear portion of the woody black/white key. However, the force is partially consumed in the deformation of the black/white key. Moreover, the plunger motion is partially converted to the slip of the black/white key on the balance rail. This means that the black/white keys do not faithfully follow the plungers. When the plunger gives rise to slow key motion between the rest position to the end position, the difference between the plunger motion and the key motion may be ignoreable. However, quick repetition such as trill makes the difference serious.
To make the matter worse, the difference between the plunger motion and the key motion is irregular. If the difference were regular, the controller would make the key motion consistent with the plunger motion by modifying the driving signal. However, the irregularity makes it impossible to do so. As a result, the array of solenoid-operated key actuators merely gives rise to pseudo key motion in the playback. This is the reason why the listeners feel the performance in the playback inaccurate.
It is therefore an important object of the present invention to provide a musical instrument, which exactly reenacts a performance.
To accomplish the object, the present invention proposes to properly weight a physical quantity of component members such as the keys and another physical quantity of movable members such as the plungers.
In accordance with one aspect of the present invention, there is provided an automatic player musical instrument for producing music sound comprising a sound generator actuated for producing the music sound at different pitches, plural link works making a motion so as to actuate the sound generator and having respective component parts and a control loop associated with the component parts, and the control loop includes a data generator outputting pieces of control data representative of reference trajectories on which the component parts are expected to travel, plural actuators provided in association with the component parts, respectively, having respective movable members for exerting force on the component parts and responsive to driving signals so as to give rise to the motion through the movable members, sensors respectively monitoring the component parts and producing detecting signals representative of a physical quantity of the component parts, other sensors respectively monitoring the movable members and producing other detecting signals representative of another physical quantity of the movable members, a servo controller connected to the data generator, the sensors and the other sensors, determining pieces of target data representative of a target physical quantity and another target physical quantity, respectively weighting the physical quantity and the aforesaid another physical quantity by a weighting factor and another weighting factor for producing pieces of status data representative of a weighted physical quantity and another weighted physical quantity and comparing the target physical quantity and the aforesaid another target physical quantity with the weighted physical quantity and the aforesaid another weighted physical quantity for determining a piece of instruction data representative of a proper magnitude of the driving signals and a modulator connected between the servo controller and the plural actuators and responsive to the piece of instruction data for adjusting the driving signals to the proper magnitude.
The features and advantages of the musical instrument will be more clearly understood from the following description taken in conjunction with the accompanying drawings, in which
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, which is drawn between a front position and a corresponding rear position, extends in a fore-and-aft direction, and a lateral direction crosses the fore-and-aft direction at right angle.
An automatic player musical instrument according to the present invention largely comprises an acoustic musical instrument and a control loop. The acoustic musical instrument includes a sound generator and plural link works. The sound generator is operative to generate music sound at different pitches, and a human player or the control loop gives rise to motion in the plural link works so as to activate the sound generator.
The control loop includes a data generator, plural actuators, sensors, other sensors, servo controller and a modulator. The plural actuators have respective movable members, and the movable members exert force on component parts of the link works. The sensors respectively monitor the component parts for producing detecting signals representative of a physical quantity of the component parts, and the other sensors respectively monitor the movable members for producing other detecting signals representative of another physical quantity of the movable members. The detecting signals and other detecting signals are supplied to the servo controller, and the servo controller processes the magnitude of physical quantity and the magnitude of another physical quantity for regulating driving signals, which are supplied to the actuators, to a proper magnitude.
When a user instructs the automatic player musical instrument to reproduce a music passage, music data codes are supplied to the data generator so as to determine reference trajectories for the component parts, and the servo controller starts to supply the driving signals to selected ones of the component parts. The actuators are responsive to the driving signals so as to sequentially exert the force on selected ones of the component parts. The force gives rise to the motion of the link works, and the link works activate the sound generator for producing the music sound at different pitches.
While the control loop is selectively moving the component parts, the data generator gives the pieces of control data representative of the reference trajectories to the servo controller, and the sensors and other sensors report the current physical quantity of the component parts and another physical quantity of the movable members to the servo controller. When a reference trajectory reaches the servo controller, the servo controller determines the target physical quantity and another target physical quantity for the component part and movable member, respectively, and weights the current physical quantity and another current physical quantity by multiplying them by a weighting factor and another weighting factor. The weighted physical quantity and another weighted physical quantity are compared with the target physical quantity and another target physical quantity to see whether or not the component part travels on the reference trajectory.
When the answer is given affirmative, the servo controller requests the modulator to keep the driving signal. If, on the other hand, the component part is ahead or delayed, the answer is given negative, and the servo controller supplies a piece of instruction data representative of a proper magnitude of the driving signal to the modulator. Thus, the control loop forces the component parts to travel on the reference trajectories. This results in that the music sound same as that in the original performance.
The weighting job is carried out from at least three aspects. First, the servo controller determines another physical quantity of the component part on the basis of the physical quantity reported from the sensor, and the physical quantity of the movable member on the basis of another physical quantity reported from the other sensor. The physical quantity of the component part and physical quantity of the movable member are appropriately weighed so as to produce the weighted physical quantity, and another physical quantity of the component part and another physical quantity of the movable member are also appropriately weighted so as to produce another weighted physical quantity. In other words, the weighting job is carried out on the same sort of the physical quantity. Thus, the servo controller makes the motion of the component parts correspond to the motion of the component parts through the comparison repeated more than once in the same sort of the physical quantity.
Second, when another physical quantity is a different sort from the physical quantity, the physical quantity of the component part is appropriately weighted so as to produce the weighted physical quantity, and another physical quantity of the movable member is appropriately weighted so as to produce another weighted physical quantity. In other words, the weighting job is carried on the different sorts of physical quantity. Thus, the servo controller makes the motion of the component parts correspond to the motion of the component parts through the simple comparison between the different sorts of the physical quantity.
Third, if both the sensors report a certain sort of physical quantity, i.e., the physical quantity and another physical quantity belong to the certain sort of physical quantity, the servo controller makes the motion of the component parts correspond to the motion of the component parts through the simple comparison in the same sort of the physical quantity.
Referring to
When a user wishes to record his or her performance, he or she instructs the recording system 200 to produce music data codes representative of the performance, and starts to play a piece of music on the acoustic piano 100. While the user is fingering on the acoustic piano 100, the recording system 200 monitors the key motion and hammer motion, and produces music data codes representative of the tones produced and, thereafter, decayed. The music data codes are supplied to a destination in a real time manner, or are stored in a suitable memory upon completion of the performance. Thus, the recording system 200 cooperates with the acoustic piano so as to record user's performance.
When the user wishes to reenact the performance without any fingering on the acoustic piano, he or she instructs the automatic playing system 300 to reproduce the tones on the basis of the music data codes. The automatic playing system 300 sequentially processes the music data codes, and determines tones to be reproduced at proper loudness and the timing to reproduce the tones. The automatic playing system 300 drives the acoustic piano 100 to produce the tones at the timing so that the original performance is reenacted by the automatic playing system 300. Thus, the automatic playing system 300 cooperates with the acoustic piano so as to reenact the performance.
The acoustic piano 100 is of the grand type, and includes a keyboard 1, action units 2, hammers 3, strings 4 and dampers 5. Black keys 1a and white keys 1b are laid on the well-known pattern, and are laterally arranged on a balance rail 1c. The black/white keys 1a/1b are made of wood, and are deformable.
Balance pins P project over the balance rail 1c, and offer the fulcrums of the key motion to the associated black/white keys 1a/1b. Holes are vertically formed in the middle portions of the black/white keys 1a/1b, and the balance key pins P loosely pass through the holes. For this reason, while the black/white key 1a/1b is rotating from a rest position to an end position, the contact area between the black/white key 1a/1b and the balance rail 1c is varied in the fore-and-aft direction, and the front portions of the black/white keys 1a/1b are brought into contact with front pin cloth punchings 1d at the end position. When the black/white key 1a/1b is released at the end position, the black/white key 1a/1b rotates in the opposite direction, and the rear portion is brought into contact with a back rail felt 1e. Since the front pin cloth punchings 1d and back rail felt 1e are not rigid, the black/white key 1a/1b is slightly moved at the end position and rest position. Thus, the key motion is complicated, and is not uniform.
The keyboard 1 is linked with the action units 2 and dampers 4, and the hammers 3 are further linked with the associated action units 2 under the strings 4. A human player or the automatic playing system 300 gives rise to the key motion, and makes the black/white keys 1a/1b selectively activate the dampers 4 and associated action units 2. The dampers 4 are provided over the rearmost portions of the black/white keys 1a/1b, and are spaced from and brought into contact with the associated strings 4. The action units 2 are provided over the rear halves of the black/white keys 1a/1b, and drive the associated hammers 3 for rotation toward the strings 4.
A user is assumed to depress the front portion of a black/white key 1a/1b. The depressed key 1a/1b upwardly pushes the associated damper 5 on the way to the end position, and makes the damper 5 spaced from the string 4. The damper 5 permits the string 4 to vibrate. Thereafter, the depressed key 1a/1b causes a jack 2a, which forms a part of the action unit 2, to escape from the hammer 3. In other words, the depressed key 1a/1b causes the action unit 2 to give rise to the free rotation of the hammer 3. The hammer 3 is brought into collision with the string 4, and gives rise to the vibrations of the string 4. The hammer 3 rebounds on the string 4, and is received on the action unit 2. When the user releases the depressed key 1a/1b, the action unit 2 starts to return to the rest position, and the damper 5 is brought into contact with the string 4 on the way of the released key 1a/1b toward the rest position.
The recording system 200 includes a data generator 28, a post processor 29, key sensors 25, i.e., combinations of optical modulators 26 and photo-couplers 25a, and hammer sensors 27. The optical modulators 26 are respectively attached to the lower surfaces of the black/white keys 1a/1b, and the photo-couplers 25a radiate optical beams across the trajectories of the optical modulators 26. The optical beam has a cross section wide enough to monitor the keystroke from the rest position to the end position. Thus, the key sensors 25 are respectively associated with the black/white keys 1a/1b, and monitor the key motion. While a black/white key 1a/1b is traveling from the rest position to the end position, the optical modulator 26 gradually varies the amount of light incident on the photo-detecting element of the photo-coupler so as to change the magnitude of the key position signal.
The hammer sensors 27 are similar to the key sensors 25. The hammer sensors 27 are respectively associated with the hammers 150, and monitors the hammer motion. The key sensors 25 and hammer sensors 27 are connected to the data generator 28, and supply key position signals representative of current key positions of the associated black/white keys 1a/1b and hammer position signals representative of current hammer positions of the associated hammers 3 to the data generator 28.
The data generator 28 and post processor 29 stand for particular functions of a controller 30, which will be hereinlater described in conjunction with
The pieces of music data are transferred from the data generator 28 to the post processor 29. The post processor 29 eliminates individualities of the key sensors 25 from the pieces of music data. Namely, the post processor 29 normalizes the pieces of music data. The pieces of music data thus normalized are coded in predetermined formats, and the music data codes are supplied to a suitable memory. Otherwise, the music data codes are supplied to another musical instrument in a real time fashion. The formats may be defined in certain music data protocols such as, for example, the MIDI protocols.
The automatic playing system 300 includes solenoid-operated key actuators 6, a preliminary processor 10, a motion controller 11, a servo controller 12, plunger sensors 35, plunger sensors 35 and the key sensors 25. The preliminary processor 10, motion controller 11 and servo controller 12 represent different functions of the controller 30. Each solenoid-operated key actuator 6 includes a solenoid and a plunger 6a, and the tips of the plungers 6a are in close proximity with or slightly held in contact with the lower surfaces of the associated black/white keys 1a/1b at the rest positions. The servo controller 12 supplies driving signals to the solenoids of the solenoid-operated key actuators 6, and gives rise to plunger motion.
The plunger sensors 25 are of a moving-magnet type, and detect the plunger velocity of the associated plungers 6a. The key sensors 25 and plunger sensors 35 are connected to the servo controller 12, and plunger velocity signals and the key position signals are supplied from the plunger sensors 35 and key sensors 25 to the servo-controller 12. Thus, the key sensors 25 and controller 30 are shared between the recording system 200 and the automatic playing system 300.
The preliminary processor 10 determines reference trajectories on the basis of the music data codes. The reference trajectory is a target position of the black/white key 1a/1b varied with time. The music data codes are supplied from the memory to the preliminary processor 10. Sets of music data codes may be supplied from a provider through a communication network such as, for example, the internet.
The motion controller 11 is supplied with the data codes representative of the reference trajectories, and determines the target amount of mean current of the driving signals or the duty ratio of the driving signals at intervals on the basis of the data codes.
Data codes representative of the target amount or duty ratio are supplied to the servo controller 12. The servo controller 12 regulates the duty ratio of the driving signals to the target values, and supplies the driving signals to the solenoids of the key actuators 6. While the solenoid-operated key actuators 6 are driving the black/white keys 1a/1b for rotation, the plunger sensors 35 and key sensors 25 supplies the plunger velocity signals and key position signals to the servo controller 12, and the servo controller 12 modifies the duty ratio of the driving signals with the pieces of control data supplied through the plunger velocity signals and key position signals as will be hereinlater described in detail.
System Configuration of Recorder
Turning to
The central processing unit 40, random access memory 42, read only memory 41, the external memory 43, pulse width modulator 45 and interface 44 are connected to the shared bus system 46 so that the central processing unit 40 can communicate with the other components 40/41/42/43/44/45 through the shared bus system 46.
Computer programs, i.e., a main routine program and subroutine programs, and tables of parameters are stored in the read only memory 41, and the random access memory 42 serves as a working memory. The central processing unit 40 runs on the main routine program, and conditionally enters the subroutine programs so as to accomplish given tasks. The central processing unit 40 acknowledges user's instructions and increments software timers during the execution of the main routine program. The central processing unit 40 selectively starts and stops the software timers, and measures lapses of time from the previous event to the present event. The central processing unit 40 produces music data codes representative of MIDI messages in the execution of the subroutine program assigned to the recording system 200. The central processing unit 40 further produces control data codes representative of the suitable driving signals on the basis of the music data codes in the execution of the subroutine program assigned to the automatic playing system 300.
Sets of music data codes representative of the MIDI messages, i.e., MIDI music data codes are stored in the external memory 43. In other words, the performance is recorded in the external memory 43. The set of music data codes representative of the performance on the acoustic piano 100 is supplied from the random access memory 42 to the external memory 43 upon completion of the performance. Otherwise, the set of music data codes may be supplied to a suitable data storage through a communication network.
The pulse width modulator 45 adjusts the mean current of the driving signals i.e., the duty ratio to a value given from the central processing unit 40. The larger the duty ratio, the stronger the magnetic field, i.e., the thrust exerted on the plungers 6a. In other words, the central processing unit 40 controls the key motion by changing the duty ratio of the driving signals through the pulse width modulator 45.
The manipulating panel (not shown) is a man-machine interface. Various switches, levers, indicators and a display window are provided on the manipulating panel, and a user gives instructions to the central processing unit 40 by manipulating these switches and levers.
While a pianist is performing a piece of music on the acoustic piano 100, the central processing unit 40 runs on the computer program so as to produce the MIDI music data codes. In detail, the central processing unit 40 periodically fetches the current key positions and current hammer positions from the analog-to-digital converters in the interface 44, and adds pieces of positional data representative of the current key positions and pieces of positional data representative of current hammer positions to the queues assigned to the black/white keys 1a/1b and hammers 3. The queues are created in the random access memory 42. The pieces of positional data in the queues are reset at the time when the central processing unit 40 acknowledges events, i.e., note-on events and note-off events to occur. The central processing unit 40 checks the queues to see whether or not any key 130 is moved.
When the central processing unit 40 finds a black/white key 1a/1b to exceed a point for the note-on event or note-off event, the central processing unit 40 determines the key motion, i.e. the note number assigned to the black/white key 1a/1b, hammer velocity representative of the loudness, depressing velocity, releasing velocity etc., and produces the MIDI voice message for the tone to be produced or decayed. The central processing units 40 further starts the timer at the occurrence of the MIDI voice message, and stops the timer at the occurrence of the next MIDI voice message. The central processing unit 40 measures the lapse of time between the MIDI events, and produces a duration data code representative of the lapse of time. Thus, the central processing unit 40 intermittently produces the pieces of music data representative of the MIDI voice messages and pieces of duration data representative of the lapse of time. The data generator 28 is representative of this function.
Subsequently, the central processing unit 40 normalizes the pieces of music data codes. The acoustic piano 100 exhibits individuality due to the key/hammer sensors 25/27 offset from the target positions, instrumental errors, dimensional tolerance of the component parts of the acoustic piano 100 and so forth. The individuality makes the automatic player piano show a tendency. The central processing unit 40 finds the tendency, and eliminates the noise components due to the individuality from the pieces of music data. Thus, the pieces of music data are normalized to those of a standard automatic player piano. This function is represented by the post processor 29.
The pieces of music data, which have been already normalized, are coded in the formats defined in the MIDI protocols. The set of music data codes, which represents the performance on the acoustic piano 100, is transferred to the external memory 43, and are stored therein. The set of music data codes may be put in a standard MIDI file. Otherwise, the music data codes are transmitted through the communication network to another MIDI musical instrument in the real time fashion.
The user is assumed to instruct the automatic playing system 300 to reenact the performance. Then, the main routine program periodically branches into the subroutine program for the playback. The central processing unit 40 requests the external memory 43 to transfer the set of music data codes to the random access memory 42, and reads out the music data codes in sequence of time.
When the music data code representative of the note-on event is read out from the random access memory 42, the central processing unit 40 analyzes the piece of music data, and determines the reference trajectory for the black/white key 1a/1b to be moved. The target key position on the reference trajectory is varied together with time. The target key position is, by way of example, determined at intervals of 1 millisecond. This function is represented by the preliminary processor 10.
When the timing, which is specified by the associated duration code, comes, the central processing unit 40 calculates a target plunger velocity and a target plunger acceleration, and determines the duty ratio, which is expected to make the plunger 6a get the target plunger velocity and the black/white key 1a/1b reach the target key position, of the driving signal, and supplies the control data code representative of the duty ratio to the pulse width modulator 45. This function is represented by the motion controller 11.
The pulse width modulator 45 adjusts the driving signal to the duty ratio, and supplies the driving signal to the solenoid of the associated solenoid-operated key actuator 6. The plunger 6a starts to project, and gives rise to the key motion. The key sensor 25 and plunger sensor 35 report the current key position and current plunger velocity to the controller 30.
The central processing unit 40 periodically fetches the piece of positional data representative of the current key position and the piece of velocity data representative of the current plunger velocity from the interface 44, and calculates the current key velocity and current plunger position/current plunger acceleration on the basis of the current key position and current plunger velocity, respectively. The central processing unit 40 normalizes the pieces of positional data, and weights the current key position, current plunger position, the current key velocity and current plunger velocity, and determines a current weighted position and a current weighted velocity.
The central processing unit 40 compares the current weighted position, current weighted velocity and current plunger acceleration with the target key position, target plunger velocity and target plunger acceleration to see whether or not the black/white key 1a/1b properly travels on the reference trajectory. When the answer is given affirmative, the central processing unit 40 requests the pulse width modulator 45 to keep the duty ratio. However, if the answer is given negative, the central processing unit 40 respectively multiplies the difference between the current weighted position and the target position, a difference between the current weighted velocity and the target velocity and a difference between the current plunger acceleration and the target plunger acceleration by predetermined gains, and adds the constant bias to the differences so as to determine a proper duty ratio. The central processing unit 40 notifies the pulse width modulator 45 of the proper duty ratio.
The pulse width modulator 45 adjusts the driving signal to the proper duty ratio, and supplies the driving signal to the solenoid so that the solenoid increases or decreases the thrust exerted on the plunger 6a. This function is represented by the servo controller 12.
As will be understood, the controller 30, solenoid-operated key actuators 6, black/white keys 1a/1b and key sensors/plunger sensors 25/35 form a hybrid feedback control loop 310, and the key motion is controlled through the hybrid feedback control loop 310. The solenoids directly give rise to the linear motion of the plungers 6a, and indirectly exert the force through the plungers 6a on the black/white keys 1a/1b so as to give rise to the angular motion. In other words, the solenoid-operated key actuators 6 and black/white keys 1a/1b are independent of one another. This means that the current key position is not always consistent with the current plunger position. For this reason, both of the plungers 6a and black/white keys 1a/1b are directly monitored with the plunger sensors 35 and key sensors 25, and the servo controller 12 takes both pieces of positional data into account for the precise feedback control.
Boxes 50/54a/54b/55/56/57/58/59/60a/60b/60c and circles 51/52/53/61 stand for functions of the motion controller/servo controller 11/12 in more detail. The analog-to-digital converters 44a/44b are incorporated in the interface 44.
The piece of control data representative of the reference trajectory is supplied to the box 50. The box 50 determines pieces of control data representative of the target position, target velocity and target acceleration on the basis of the piece of control data representative of the reference trajectory at the intervals of 1 millisecond, and outputs a target position signal rx representative of the target position, a target velocity signal rv representative of the target velocity, a target acceleration signal ra representative of the target acceleration and a constant bias ru. The constant bias ru expresses a part of the duty ratio, and the part of the duty ratio adds a component to the thrust exerted on the plunger 6a. The component thus added to the thrust is equivalent to the resistance against the plunger motion, and is determined through an experiment. The constant bias ru is desirable, because the plunger is sharply raised. The target position signal rx, target velocity signal rv, target acceleration signal ra and constant bias ru are respectively supplied to the circles 61/51/52/53, which express the addition as will be described hereinlater in detail.
While the solenoid of the associated solenoid-operated key actuator 6 is exerting the thrust on the plunger 6a in the magnetic field, the plunger 6a projects from the solenoid, and gives rise to the key motion. The current plunger velocity ym is transformed to the analog plunger velocity signal yvma by means of the plunger sensor 35, and the current key position is transformed to the analog key position signal yk by means of the key sensor 25.
The analog key position signal yxka and analog plunger velocity signal yvma are respectively converted to a digital key position signal yxkd representative of the current key position and a digital plunger velocity signal yvmd representative of the current plunger position through the analog-to-digital converters 44a/44b, respectively, and are supplied to the boxes 54a/54b, respectively.
The boxes 54a/54b stand for the normalization. Since the current key position and current plunger velocity are expressed in different units, the boxes 54a/54b carry out a linear transformation, and produce a digital normalized key position signal yxk and a digital normalized plunger velocity signal yvm. The digital normalized key position signal yxk and digital normalized plunger velocity signal yvm are supplied to the boxes 55/59 and boxes 56/57/58, respectively.
The box 55 stands for a differentiation on the pieces of normalized key position data expressed by the digital normalized key position signal yxk. A polynomial approximation is available for the differentiation. For example, previous seven pieces of normalized key positions and the next seven pieces of normalized key positions are read out from the queue, and the fourteen pieces of normalized key positions are approximated to a curve of the second order. The box 55 determines a current key velocity on the basis of the curve of the second order, and produces a digital normalized key velocity signal yvk representative of a current key velocity.
The box 56 stands for an integration on the pieces of normalized plunger velocity data expressed by the digital normalized plunger velocity signal, and produces a digital normalized plunger position signal yvk representative of a current plunger position.
The box 57 stands for a differentiation on the pieces of normalized plunger velocity data expressed by the digital normalized plunger velocity signal, and produces a digital normalized plunger acceleration signal yvm. The polynomial approximation is also used for the differentiation.
The box 58 stands for the determination of the weighted current velocity. The function of the box 58 is broken down into multipliers 58a/58b and an adder 58c. The digital normalized plunger velocity signal yvm is supplied to the multiplier 58a, and the piece of normalized plunger velocity data is weighted by “Kvm”. Similarly, the digital normalized key velocity signal yvk is supplied to the multiplier 58b, and the piece of normalized key velocity data is weighted by “Kvk”. After the multiplication, the digital normalized plunger velocity signal yvm expresses a piece of weighted plunger velocity data, and the digital normalized key velocity signal yvk expresses a piece of weighted key velocity data. The piece of weighted plunger velocity data is added to the piece of weighted key velocity data so that the box 58 outputs the composite current velocity signal yv representative of the current weighted velocity.
The box 59 stands for the determination of the current weighted position. The function of the box 59 is broken down into multipliers 59a/59b and an adder 59c. The digital normalized key position signal yxk is supplied to the multiplier 59a, and the piece of normalized key position data is weighted by weighting factor “Kxk”. The digital normalized plunger position signal yxm is supplied to the multiplier 59b, and the piece of normalized plunger positional data is weighted by weighting factor “Kxm”. After the multiplication, the digital normalized plunger position signal yxm expresses a piece of weighted plunger positional data, and the digital normalized key position signal al yxk expresses a piece of weighted key positional data. The piece of weighted plunger positional data is added to the piece of weighted key positional data so that the box 59 outputs the composite current positional signal yx representative of the current weighted position.
The weighting factors Kvm and Kvk are determined through an experiment, and always satisfy the following equation Kvm+Kvk=1. Which weighting factor Kvm or Kvk is to be influential is depending upon the structure of the acoustic piano 100, characteristics of the sensors 25/35 and so forth. Using a certain model of the automatic player piano, the present inventors determined proper values of the weighting factors Kvm and Kvk for the automatic player piano through the experiment. The proper values of the weighting factors Kvm and Kvk were 0.7 and 0.3, respectively.
Similarly, the weighting factors Kxm and Kxk are determined through an experiment, and always satisfy the following equation Kxm+Kxk=1. Which weighting factor Kxm or Kxk is to be influential is also depending upon the structure of the acoustic piano 100, characteristics of the sensors 25/35 and so forth. Using the certain model of the automatic player piano, the present inventors determined proper values of the weighting factors Kxm and Kxk for the automatic player piano through the experiment. The proper values of the weighting factors Kxk and Kxm were 0.9 and 0.1, respectively.
In this instance, any current weighted acceleration is not determined. Of course, it is possible to prepare another box similar to the boxes 58/59 for the current weighted acceleration. However, the current key acceleration is less accurate. This is because of the fact that the differentiation is to be carried out twice for the current key acceleration. The inaccurate weighted acceleration makes the duty ratio unreliable. For this reason, the digital plunger acceleration signal yam is directly compared with the target acceleration as will be hereinafter described in conjunction with the circle 53.
The circles 51/52/53 stand for subtraction. The target position rx is subtracted from the current weighted position through the circle 51, and the difference ex is output from the circle 51. The target velocity rv is subtracted from the current weighted velocity through the circle 52, and the difference ev is output from the circle 52. The target acceleration ra is subtracted from the current plunger acceleration through the circle 53, and the difference ea is output from the circle 53.
The boxes 60a/60b/60c stands for multiplication. The difference ex is multiplied by a servo gain kx through the box 60a, and the product ux is output from the box 60a. The difference ev is multiplied by a servo gain kv through the box 60b, and the product uv is output from the box 60b. The difference ea is multiplied by a servo gain ka through the box 60c, and the product ua is output from the box 60c.
The servo gains kx/kv/ka are determined through an experiment. Using a certain model of the automatic player piano, the present inventors carried out the experiment, and determined proper values of the servo gains kx/kv/ka. The proper values for the certain model were 1.7, 3.5 and 0.5, respectively. Thus, the velocity control was weighted in the hybrid feedback control loop of the certain model of the automatic player piano.
The circles 61 and 62 stand for the addition. The products ux/uv/ua are added to one another through the circle 61, and the constant bias ru is further added to the sum, i.e., (ux+uv+ua) through the other circle 62. The sum “u”, i.e., (ux+uv+ua+ru) is representative of the proper duty ratio, and is supplied to the pulse width modulator 45.
The pulse width modulator 45 adjusts the driving signal ui to the proper duty ratio, and supplies the driving signal to the solenoid of the associated solenoid-operated key actuator 6.
In the first embodiment, the position and velocity are corresponding to the physical quantity. The servo position control, servo velocity control and servo acceleration control are achieved through the hybrid feedback control loop 310. The servo velocity control serves as a differential compensator from the aspect of the servo position control, and the servo position control and servo acceleration control respectively serve as an integral compensator and a differential compensator.
The present inventors evaluated the hybrid feedback control loop 310. The present inventors plotted the target position rx, target velocity rv and target acceleration ra in
The present inventors plotted the target position rx′, target velocity rv′ and target acceleration ra′ in
As will be understood from the foregoing description, the hybrid feedback control loop 310 contains two sorts of sensors, i.e., the key sensors 25 and plunger sensors 35, and the pieces of current physical quantity data are appropriately weighted by the respective weighting factors for determining the current weighted physical quantity. The current weighted physical quantity is compared with the target physical quantity on the reference trajectory so as to determine the proper magnitude of the driving signal, and the key actuator 6 is controlled with the driving signal. Although the plunger motion is not exactly corresponding to the key motion, the weighting factors make the composite current physical quantity well correspond to the target physical quantity so that the black/white keys 1a/1b are well controlled through the hybrid feedback control loop 310. As a result, the key motion is exactly reproduced in the playback, and the automatic playing system 300 faithfully reenacts the performance.
Turning to
Several functions are deleted from the controller 30A so that the hybrid feedback control loop 310A is simpler than the hybrid feedback control loop 310. The remaining functions of the controller 30A are labeled with the references designating the corresponding functions of the controller 30.
The digital plunger velocity signal yvdm is normalized, and the digital normalized plunger velocity signal yvm is weighted by a weighting factor Kvm. The digital weighted plunger velocity signal yv is compared with the target velocity rv without producing any composite current velocity signal. Similarly, the digital key position signal yxkd is normalized, and the digital normalized key position signal yxk is weighted by a weighting factor Kxk. The digital weighted key position signal yx is compared with the target position rx without producing any composite current positional signal. Neither acceleration nor constant bias ru is taken into account.
Using a standard model of the automatic player piano, the present inventors evaluated the hybrid feedback loop 310A. The present inventors confirmed that the keys faithfully traveled on the reference trajectories on the condition that the weighting factors Kvm and Kxk were fallen within the numerical range between 0.1 and 2 and the numerical range between 0.1 and 2, respectively.
When the weighting factors kvm and Kxk were adjusted to respective values equal to 0.1 and less than 1, the target key tended to overspeed, i.e., move over the target speed rv. On the other hand, when the weighting factors Kvm and Kxk were adjusted to 1, the target key were liable to follow the target speed rv. When the weighting factors Kvm and Kxk were adjusted to respective values greater than 1 and equal to 2, the target key tends to be damped.
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.
For example, the moving-magnet type velocity sensors 35 do not set any limit to the technical scope of the present invention. Any sort of velocity sensor is available for the plunger 6a.
The computer programs may be downloaded from a suitable source through a communication network such as, for example, the internet to the random access memory 42. Similarly, the parameters may be supplied from the suitable source together with the computer programs.
The boxes 57/60c and circle 53 may be deleted from the hybrid feedback control loop 310. The boxes 55/58 may be added to the hybrid feedback control loop 310A. Thus, the hybrid feedback control loops 310/310A have various modifications.
The hybrid feedback control loop 310/310A may be provided in association with pedals of the acoustic piano. The actuators 6 may give rise to motion of the action units 2. Thus, the black/whit keys 1a/1b do not set any limit to the technical scope of the present invention.
The proper values of the weighting factors Kvm/Kvk/Kxk/Kxm are varied depending upon the model of the automatic player piano, and do not set any limit to the technical scope of the present invention.
The plunger sensor 35 and key sensor 25 may be respectively replaced with a plunger sensor for detecting the current plunger position and a key sensor for detecting a key velocity. In this instance, the current plunger velocity is calculated through differentiation, and the current key position and current key acceleration are calculated through integration and differentiation, respectively. Otherwise, both of the key sensor and plunger sensor may detect the key velocity and plunger velocity, respectively, or the key position and plunger position, respectively. Thus, the combination of the sensors 25/35 does not set any limit to the technical scope of the present invention.
The acoustic piano 100/100A may be replaced with another sort of keyboard musical instrument such as, for example, an upright piano, a mute piano and a harpsichord. The keyboard musical instrument does not set any limit to the technical scope of the present invention. The hybrid feedback control loop 310/310A may be incorporated in a suitable percussion instrument such as, for example, a celesta or a drum set.
The solenoid-operated actuators 6 do not set any limit to the technical scope of the present invention. Pneumatic actuators or micro-motors may drive the black/white keys 1a/1b. Moreover, the key actuators 6 may be provided over the keyboard 1 so as to exert the force on the front portions of the black/white keys 1a/1b. Thus, the location of the solenoid-operated key actuators 6 does not set any limit to the technical scope of the present invention.
If the key sensors 25 and plunger velocity sensors are well tuned, the normalization is not required for the digital key position signals and digital plunger velocity signals. Thus, the boxes 54a and 54b are not indispensable elements of the present invention. Similarly, the key sensors 25 and plunger velocity sensors 35 may be replaced with digital key sensors and digital plunger velocity sensors so as to delete the analog-to-digital converters 44a/44b.
The component parts of the automatic player pianos are correlated with claim languages as follows. The strings 4 as a whole constitute a “sound generator”, and the tones, which are generated from the vibrating strings 4, are corresponding to “different sorts of music sound”. The black/white key 1a/1b, action unit 2 and hammer 3 form in combination each link work, and the black/white key 1a/1b serves as a “component part”. The hybrid feedback control loops 310/310A are corresponding to a “control loop”. The preliminary processor 10 and motion controller 11 form in combination a “data generator”. The solenoid-operated key actuators 6 serve as “plural actuators”, respectively, and the plungers 6a are corresponding to “movable members”. The key sensors 25 and plunger velocity sensors 35 serve as “sensors” and “other sensors”, and the current key position and current plunger velocity are corresponding to “a physical quantity” and “another physical quantity”, respectively.
The key position signal and plunger velocity signal serve as “detecting signals” and “other detecting signals”, and the current key position and current plunger velocity are respectively corresponding to “a physical quantity” and “another physical quantity”. The target position rx and target velocity rv are equivalent to “a target physical quantity” and “another target physical quantity”, respectively. The weighting factors Kxk and Kxm serve as “a first parameter” and “a second parameter” of “a weighting factor”, and the weighting factor Kvm and Kvk serve as “a first parameter” and “a second parameter” of “another weighting factor” in the first embodiment. The weighting factor Kxk and weighting factor Kvm serve as “a weighting factor” and “another weighting factor” in the second embodiment.
“Pieces of status data representative of a weighted physical quantity and another weighted physical quantity” are carried on the composite current positional signal/current positional signal yx and composite current velocity signal/current velocity signal yv. Thus, the current weighted position and current weighted velocity serve as the “weighted physical quantity” and “another weighted physical quantity”, respectively. The sum u is corresponding to “a piece of instruction data”.
The boxes 56 and 55 serve as “an integrator” and “a differentiator”, respectively, and the boxes 59a, 59b, 58a and 58b and circles 59c and 58c are corresponding to “a multiplier”, “another multiplier”, “yet another multiplier”, “still another multiplier”, “an adder” and “another adder”, respectively. The boxes 50, 60a, 60b, 60c and circles 51, 52, 53, 61, 62 as a whole constitute “a comparator”. The boxes 60a, 60b and 60c are corresponding to “an amplifier”, “another amplifier” and “yet another amplifier”, respectively, and the box 57 serves as “another differentiator”.
Number | Date | Country | Kind |
---|---|---|---|
2004-000869 | Jan 2004 | JP | national |
Number | Name | Date | Kind |
---|---|---|---|
5627333 | Stahnke et al. | May 1997 | A |
5648621 | Sasaki | Jul 1997 | A |
5652399 | Fujiwara et al. | Jul 1997 | A |
6051762 | Fujiwara et al. | Apr 2000 | A |
6245985 | Sasaki et al. | Jun 2001 | B1 |
6271447 | Fujiwara et al. | Aug 2001 | B1 |
6359207 | Oba et al. | Mar 2002 | B1 |
20060016325 | Fujiwara et al. | Jan 2006 | A1 |
20060053999 | Sasaki | Mar 2006 | A1 |
Number | Date | Country |
---|---|---|
06-236177 | Aug 1994 | JP |
7-175471 | Jul 1995 | JP |
2000-276134 | Oct 2000 | JP |
Number | Date | Country | |
---|---|---|---|
20060016325 A1 | Jan 2006 | US |