I & II
<Player Piano 1>
The player piano is one of the oldest musical robots build and further developed at the Logos Foundation. We spent many years of research into automating pianos. Our designs started with the already very elaborate design by our friend and colleague Trimpin, who worked on his design whilst in Holland at the conservatory with Floris Van Manen. Improvements we realized in our first design are mostly related to sturdiness and reliability. All technical details with regard to building and design of player pianos can be found in our course on experimental music at http://www.logosfoundation.org/kursus/2115.html (dutch) and 2116.html (English, all circuit details for the first versions).
In 2004 we started the design and construction of a completely new type of piano Vorsetzer (Player Piano II) , of course building further on the experience gained in the first designs. The new model makes use of 9 PIC microcontrollers, one controller for every group of 10 piano keys. It has an even better dynamic resolution and can be adapted via uploadable lookup tables to many different types of grand pianos. Because of the very fast PIC controllers, polyphony is even better than in the previous design, although that also was 88-note polyphonic, but suffered a bit from the serial design bottleneck problem. The only element limiting polyphony in the new design is the capacity of the power supply. A full fff cluster on all keys together requires some 150 Amps of current... The newly designed player piano was finished in July 2005 and baptized <pp2>.
In 2006 we improved the PCB's for player pianos by increasing the density. A single board of the new type can take care of 14 notes. So for a complete piano, only 7 boards are required. These boards use a Microchip PIC type 18F4620. Assembled boards with programmed PIC's for player piano are available from the Logos Foundation. Cost is approximately 800 Euro's a piece. The special rubber feet required to fit on the anchors of the solenoids and designed by us in 2006 are available as well. A set of 88 feet costing 200 Euro.
In 2014, a new board as well as new firmware -covering an octave- was designed. These boards are quite a bit cheaper in production. In 2016 we modified the design of the power supply such that the minimum hold voltage can be adjusted such as to make silent depressing of keys possible for any given piano. Also, with the new power supply there are no longer any limits to the number of notes pressed together.
Technical Description Player Piano I
This instrument requires a normal 230Volts / 1300Watt mains connection. The control computer should always be setup centrally in front of the keyboard and connects to the playing mechanism with four thick bundles of flatcables. The module accepts normal midi input, but files considered for playing should always be passed to our staff prior to being played. There should be no unsupported controllers in the files and any note-on command should be strictly followed by a corresponding note-off command. The instrument is fully polyphonic (88 notes) and has a 7-bit velocity control for each individual key. The resolution, internally however is 16 bits. Velocity scaling is not linear and depends both on the type of piano and on the hammer weigth for the notes to be played.
Note for organizers:
the player pianos I and II will always and only be operated by a qualified technician or musician from the Logos Foundation. So, the instruments will not be rented out on their own. (Don't even ask). The insurance value for these instruments is 17.000 €. The grand piano itself has always to be provided by the organizer. No modification on the piano itself is required. Placement of the instrument on the piano is absolutely harmless to the instrument. Note that the music requires the piano to be in top condition and well tuned.
Transportation of the robot is possible with any normal sized car. The case of the mechanism measures 1400mm x 200mm x 200mm for <Player piano 1>, and 1320mm x 150mm x 150mm for <PP2>. The control computer for player piano I is build into a 6 unit 19" rack. For <pp2> it is a much smaller module containing only the hefty power supply. The Vorsetzer case is very heavy (47kg) and requires 2 people to be lifted up and carried. Installation on the piano takes less than five minutes.
Please note the technical requirements with regard to the piano: 88 keys grand piano and a free flat space on the left and on the right side of the keyboard of at least 31 mm.
|Player Piano 1||Player piano 2 ( <PP2> )|
|Weight with case||47kg||49kg + power supply|
1310mm x 155mm x 150mm
1320mm x 155mm x 160mm
|Power Supply/ control unit||6 unit 19" Rack in flight case||370mm x 250 x 70mm, no case (version 2005)|
12.000€ + 500€ (flight case)
13.000€ + 1.000€ (flight case) + 4.500€ (pedal) + 500€
(flight case pedal)
Although it is possible to place the Vorzetzer on an upright piano (provided it has 88 keys), we strongly advize not to do this. Upright piano's have much lower repetition speeds than grands and very many of the music files and compositions we have for the player piano are unplayable on an upright model.
Technical Description <Player Piano II>
In this model, <pp2>, the key controlling electronics could find a place in and on the Vorsetzer chassis itself, on the backside of the solenoid assembly. Therefore, the mechanism is slightly heavier than the first model. Only the hefty power supplies remain in a separate box to be placed under or inside the piano. Automated note repetition is an extra feature, added in 2016, of this model. Two different power supplies were designed and build for this mechanism:
Model 2005: Rated 24V (velocity voltage) and 12V (hold voltage) , in total 1200 Watt. This power supply is a lot lighter (ca. 5 kg) than the control computer used for player piano 1. This power supply fits in a normal attaché case. The voltages cannot be controlled externally. This PS neither delivers the required 5 V voltage required for the operation of the microprocessors on the mechanism. At first, we derived the 5V from the 12V hold voltage. This was not such a good solution as it caused processor resets on overloads on the 12 V hold voltage. To overcome this we redesigned the power supply in 2016. The advantage of this power supply is that it operates in complete silence, as we disabled all fans.
Model 2016: This power supply offers a lot more features and possibilities. First of all, it's a lot more powerfull and allows for all 88 notes to be depressed simultaneously. Furthermore the operating voltages for hold and velocities can be controlled with MIDI commands. Thus it becomes easier to adapt the characteritics to different brands of pianos. An inconvenience of this power supply is that, due to the high power it can deliver, we could not go without fans. These will startup under higher load conditions and thus cause some noise. A mechanism to operate the right pedal is available as well and is conceived as a separate robot. (Insurance value: 1.500€, weight 35kg) For detailed specs, click on the link above). This pedal can only be used with the last model as the microprocessor for it now found a place inside the new (2016) power supply.
The circuit for the control of 10 piano keys came out like this:
A single vorsetzer mechanism needs nine of these circuit boards. The midi input board, with 9 TTL midi output signals to feed the boards above and incorporating a simple +5V dc supply for them look like
The 5V dc voltage was in our 2004 model derived from the positive hold power supply. This introduced a small risk: in case of power supply overload due to a too large amount of keys pressed together, this power supply may go in safety shut down, leading to a reset cycle on all the PIC controllers. The new model power supply designed in 2016 circumvents this problem. However, it requires a 5-conductor cable for the midi input, as this cable is also used to transport the +5V voltage for the microcontrollers. This is the wiring: The rightmost midi-thru connector on the pedal module is wired for +5V power delivery to the vorsetzer.
A separate pedal robot was designed between 1994 and 2016 to be used in combination with both models of player piano. It is documented on a dedicated webpage: Piano Pedal Robot.
Collaborators on the design and realization of player piano II:
Midi implementation table for our player piano's:
|Player Piano 1||Player Piano 2||range|
|Note OFF||x||x||21-108||note off= note on with velo=0|
|-||x||120||white light underneath the solenoid assembly off.|
|-||x||121||red LED strip on the front of the vorsetzer off|
|x||122||red LED strip on the front of the power supply module version 2016|
|x||123||frontal light on the power supply module|
|x||124||back light on the power supply module|
|x||x||126||amber light under pedal off|
|x||x||127||blue light under pedal off|
|Note ON||x||x||21-108||velo= 0 to 127|
|-||x||120||white LED lite under the solenoid assembly.|
|-||x||121||red LED strip on the front of the Vorsetzer on.|
|x||122||red LED strip on the front of the power supply module version 2016|
|x||123||frontal light on the power supply module|
|x||124||frontal light on the power supply module|
|x||x||126||amber `light under pedal (on/off)|
|x||x||127||blue light under pedal (on/off)|
|Key Pressure||-||x||21-108||controls the repetition speed for the key pressed. With value 0, repetition is off.|
|x||x||126||amber light flashing speed 0-127|
|x||x||127||blue light flashing speed 0-127|
|Prog.Change||-||x||0||default mapping, rough.
On pp2 same as 8,16,24,32,40,48,56,64,72,80,88,96,104,112,120
Same as 9,17,25,33,41,49,57,65,73,81,89,97,105,113,121
|-||x||2 or 122||
scaling for Steinway grand piano's
|-||x||3 or 123||scaling for Kawai (softer trebble)
Same as 11,19,27,35,43,51,59,67,75,83,91,99,107,115,123
|-||x||4||Range as for prog.2, but with a logarithmic scaling|
|-||x||5||Range as for prog.3, but with a logarithmic scaling|
|-||x||6||optimised linear range for use with note repetitions|
|-||x||7||optimised logarithmic range for use with note repetitions|
Sets the repetition rate for all notes to the same value. Value 0 turns
Pedal controller, attack pulse length (continuous!)
force of the pedal attack (continous)
|66||66||0 or anything||power on/off switch for the piano, value zero resets controllers. At start-up the power supply is set to the default values.|
|67||67||0-127||holding force for the pedal (continuous)|
|68||68||0-127||slow release time for the pedal (range 11ms to 1400ms). With value 0, soft release is disabled.|
hold voltage for the piano solenoids. Default value:
|-||91||0-127||velo voltage for the piano solenoids (only with power supply version 2016). Default value = 127. Midi control will only work if the toggle switch on the front pedal points away from the manual voltage potentiometer.|
|-||123||0||all notes off / all lights off / pedal release|
|Sysex||-||x||reserved for velo scaling lookup tables (since 2016 no longer implemented on pp2)|
x = implemented
- = not implemented
details on the functioning and the implementation of the pedal module can be found on the webpage on the pedal.
The mapping of the key-pressure values on actual repetition frequencies is:
' durations for note repetition on pp2 ' the dur values are for a half period expressed in 10.5 microsecond units. ' the frequencies are for the full period and correspond to the repetition rate. Dur= 23674 ' freq= 2.01144916866806 Dur= 22917 ' freq= 2.07789185404056 Dur= 22548 ' freq= 2.11189673669716 Dur= 22185 ' freq= 2.14645245071208 Dur= 21827 ' freq= 2.18165792912666 Dur= 21475 ' freq= 2.21741781695216 Dur= 21129 ' freq= 2.25372935865624 Dur= 20789 ' freq= 2.29058865837932 Dur= 20454 ' freq= 2.32810441082662 Dur= 20124 ' freq= 2.36628143604888 Dur= 19800 ' freq= 2.4050024050024 Dur= 19481 ' freq= 2.44438414963542 Dur= 19167 ' freq= 2.48442884223132 Dur= 18858 ' freq= 2.52513774626406 Dur= 18554 ' freq= 2.56651113609182 Dur= 18255 ' freq= 2.60854821249234 Dur= 17961 ' freq= 2.65124701403305 Dur= 17672 ' freq= 2.69460432430102 Dur= 17387 ' freq= 2.73877308443364 Dur= 17107 ' freq= 2.78360014140689 Dur= 16831 ' freq= 2.82924648678318 Dur= 16560 ' freq= 2.87554635380722 Dur= 16293 ' freq= 2.92266909832736 Dur= 16030 ' freq= 2.97062056263553 Dur= 15772 ' freq= 3.01921427967586 Dur= 15518 ' freq= 3.06863304672301 Dur= 15268 ' freq= 3.11887919957084 Dur= 15022 ' freq= 3.16995390887016 Dur= 14780 ' freq= 3.22185707842 Dur= 14542 ' freq= 3.27458723827862 Dur= 14307 ' freq= 3.32837405598991 Dur= 14077 ' freq= 3.38275538957502 Dur= 13850 ' freq= 3.43819838404676 Dur= 13627 ' freq= 3.49446302333952 Dur= 13407 ' freq= 3.55180484963434 Dur= 13191 ' freq= 3.60996494724036 Dur= 12978 ' freq= 3.66921310055845 Dur= 12769 ' freq= 3.7292699208276 Dur= 12564 ' freq= 3.79011840329892 Dur= 12361 ' freq= 3.85236207580678 Dur= 12162 ' freq= 3.91539612062552 Dur= 11966 ' freq= 3.97952930127424 Dur= 11773 ' freq= 4.04476748654104 Dur= 11583 ' freq= 4.11111522222633 Dur= 11397 ' freq= 4.17820896894337 Dur= 11213 ' freq= 4.24677139204919 Dur= 11032 ' freq= 4.3164473911392 Dur= 10855 ' freq= 4.38683073413612 Dur= 10680 ' freq= 4.45871232388086 Dur= 10508 ' freq= 4.53169467253974 Dur= 10338 ' freq= 4.60621470487982 Dur= 10172 ' freq= 4.68138494092092 Dur= 10008 ' freq= 4.75809828327814 Dur= 9846 ' freq= 4.83638509232659 Dur= 9688 ' freq= 4.91526090204868 Dur= 9532 ' freq= 4.99570369482245 Dur= 9378 ' freq= 5.07774020250028 Dur= 9227 ' freq= 5.16083750070962 Dur= 9078 ' freq= 5.24554391044807 Dur= 8932 ' freq= 5.33128611946346 Dur= 8788 ' freq= 5.41864447189891 Dur= 8646 ' freq= 5.50763909542536 Dur= 8507 ' freq= 5.59763108252588 Dur= 8370 ' freq= 5.68925300108096 Dur= 8235 ' freq= 5.78251944372163 Dur= 8102 ' freq= 5.87744354715473 Dur= 7972 ' freq= 5.97328745848565 Dur= 7843 ' freq= 6.07153482328798 Dur= 7717 ' freq= 6.17066834508846 Dur= 7593 ' freq= 6.2714404871655 Dur= 7470 ' freq= 6.37470516988589 Dur= 7350 ' freq= 6.47878198898607 Dur= 7231 ' freq= 6.58540279616203 Dur= 7115 ' freq= 6.692768463675 Dur= 7000 ' freq= 6.80272108843537 Dur= 6888 ' freq= 6.91333443946684 Dur= 6777 ' freq= 7.02656745153425 Dur= 6667 ' freq= 7.14250001785625 Dur= 6560 ' freq= 7.25900116144019 Dur= 6454 ' freq= 7.37822243865008 Dur= 6350 ' freq= 7.49906261717285 Dur= 6248 ' freq= 7.62148649472593 Dur= 6147 ' freq= 7.74671345681595 Dur= 6048 ' freq= 7.87351977828168 Dur= 5951 ' freq= 8.00185643069192 Dur= 5855 ' freq= 8.13305680940181 Dur= 5760 ' freq= 8.26719576719577 Dur= 5668 ' freq= 8.40138454817354 Dur= 5576 ' freq= 8.54000136640022 Dur= 5486 ' freq= 8.68010346683332 Dur= 5398 ' freq= 8.82160941442157 Dur= 5311 ' freq= 8.96611704369189 Dur= 5225 ' freq= 9.11369332421964 Dur= 5141 ' freq= 9.26260408851344 Dur= 5058 ' freq= 9.41460016193112 Dur= 4977 ' freq= 9.56782150272204 Dur= 4897 ' freq= 9.72412653033441 Dur= 4818 ' freq= 9.88357152740714 Dur= 4740 ' freq= 10.0462125778581 Dur= 4664 ' freq= 10.2099158702932 Dur= 4589 ' freq= 10.3767809150245 Dur= 4515 ' freq= 10.546854400675 Dur= 4442 ' freq= 10.7201818142836 Dur= 4370 ' freq= 10.89680723548 Dur= 4300 ' freq= 11.0741971207087 Dur= 4231 ' freq= 11.2547973573736 Dur= 4162 ' freq= 11.4413857806458 Dur= 4095 ' freq= 11.6285830571545 Dur= 4029 ' freq= 11.8190736210096 Dur= 3964 ' freq= 12.012877805007 Dur= 3901 ' freq= 12.206882240207 Dur= 3838 ' freq= 12.4072557631703 Dur= 3776 ' freq= 12.6109765940274 Dur= 3715 ' freq= 12.8180478113183 Dur= 3655 ' freq= 13.0284672008338 Dur= 3596 ' freq= 13.2422268128608 Dur= 3538 ' freq= 13.4593124983176 Dur= 3481 ' freq= 13.6797034240298 Dur= 3425 ' freq= 13.9033715676051 Dur= 3370 ' freq= 14.1302811925957 Dur= 3316 ' freq= 14.3603883048998 Dur= 3262 ' freq= 14.5981139236811 Dur= 3210 ' freq= 14.8345942738466 Dur= 3158 ' freq= 15.0788624506167 Dur= 3107 ' freq= 15.3263751590111 Dur= 3057 ' freq= 15.5770518871598 Dur= 3008 ' freq= 15.8308004052685
Source code for the PIC firmware, version V3.1, 2016 by Godfried-Willem Raes. Compiler: Proton+
The lookup tables in the firmware for the repetition frequencies as well as for the non-linear velocity scalings that can be used with program change commands, were generated by our own simple untility software. This compiles under PowerBasic Console Compiler, version 10. Here is the source code. Here is the executable. Here is the output of the program. This software only runs on Windows PC's!
Construction log for Player Piano II:
Notes on the calculation of the power supply capacity:
If we take solenoids with a DC resistance of Rdc = 19.1 Ohm and we want full polyphonic (88 notes!) playing capability, the maximum current the hold-power supply (here nominal specified at Uh=12V) should be capable of delivering is: Imax = 88 Uh / Rdc = 55A, or in power terms: 660Watt.
If the automate should not be capable of surpassing human polyphony on the piano, we can content ourselves with 20 note polyphony, including fist and clusterplaying by humans. In that case the power supply requirements become Imax = 12.6A and Pmax = 151Watt.
In our practical design for pp2, we went for a Sunpower 12V/50A power supply and trimmed the output voltage down to 10.5V. This value should should ideally be chosen such that when a key is depressed with velo=1, we hear nothing. Unfortunately, this value is greatly dependent on the adjustment of the piano itself. On worn out pianos one would need a specific voltage for every single key in order to allow for reliable silent depressing of keys. With the abovementioned practical values, we can depress all keys together without going over the ratings of the power supply, since it will draw just 48.4A.
The calculation for the requirements on the velo-power supply are a little more complicated. A first limiting factor is due to the fact that data are transmitted to the player piano in a serial (midi) format. If the note-on messages flow in neck to neck at the full midi baud-rate of 31250b/s, the minimum time between the starts of any two note-on commands will be 952 microseconds. Thus a command to play all 88 notes at once will take a minimum time of 83 ms. We will hear this as a fast arpeggio. This is unavoidable although the effect can be greatly masked by sending all the notes in such clusters out of order.
If we scale the duration of the 1-127 velocity range from midi on pulse-times in the range 156 microseconds to 20 ms, the consequence is that given the limitations of midi, we can have a maximum of 20 ms / 952 µs = 21 overlapping velo-pulses. If we use a 24V power supply, the current required from it is thus reduced to: 21 . (24V / 19.1) = 26.4 A, or in power terms : 633Watt.
The total peak power required for the automaton becomes thus 660W + 633W = 1293W.
Practical SMPS selection (2005):
Both power supplies need modifications in order to make them silent. As they are, they are well enclosed (understandable for safety reasons...) and cooled with a small 'made in Taiwan' but strong and extremely noisy fan. Completely unacceptable for concert use of course. The fan is connected internally to the main PC board with a small 3-pin receptacle. The black wire connects to the negative power output, the red one feeds the 12 V rated (140 mA) fan motor and the yellow one seems to be some kind of sensor. In the way this operates, both power supplies are quite different. On the 12 V/50 A model, if you mechanically block the fan or unplug the connector, the power supply shuts down. It needs to see a voltage no smaller then 50 mV on the yellow connection. So we replaced the fan with a resistor of 100 Ohms / 2 Watt in series with 0.47 Ohm.
On the 24 V/25 A power supply, it seems one can disconnect the fan connector without replacing it by any kind of dummy. The voltage we found here on the yellow sense wire is 22.9 V. For cooling we removed the top covers of both power modules and constructed a new cover from perforated metal sheet, for natural convection cooling.
Power Supply, model 2016:
In this design a XP-Power HDS800 series SMPS power supply is used for the hold voltage. With its current capacity of 66 A, there are no longer limitations on the number of keys that can be held down simultaneously. Note that if this possibility is used, it is mandatory to clamp the Vorsetzer on the piano. Otherwise, the Vorsetzer will lift itself off the piano as the total force will be 686 N. The full type number for this power supply module is HDS800PS12. Here is a circuit overview of the new design:
And here is the PCB:
The soldered board looks like: and its backside:
The hold voltage is now controllable with midi controller #90. At startup the default setting will correspond to a hold-voltage of 10.5V. This guarantees compatibility with music software and midifiles using the previous version. On reception of a power down command, the controller will return to this default value. Also, after power down, both hold- en velo voltages will go to zero. A big advantage of the new circuit is that now it becomes possible to realize fully silent depressing of keys. However, the hold voltage required to obtain this is very dependent on the piano used. The exact value set with controller #90 can be read from the panel voltmeter on the power supply. A manual adjustment for the velocity voltage is provided as well. This makes it a lot easier to adapt the robot to the gamut of pianos it gets to play.
Controller #91 can be used to control the velo-pulse voltage. As the negative power supply has its positive output grounded, all control's for this module are floating with respect to ground. Hence an optor circuit (LED-LDR combination) is used in the circuit. The type number for this somewhat esoteric component is VTL5C1. Here is the datasheet. The current through the LED with the 220 Ohm series resistor is limited to 13.6 mA. The On-resistance of the LDR will then be in the order of 500 Ohms. The off-resistance is 50 MOhm. The enable input to this power supply is switched via an small reed-relay.
The firmware for the microcontroller on this board is here.
This power supply is mounted in a 19" rack chassis with an enclosure with four small wheels. The microcontroller for the piano pedal also found a place in this enclosure. Details on the realisation of the pedal can be found in the special webpage devoted to the development of the pedal mechanism. Here is the detail for the DIN connector to the pedal assembly:
Power Mosfet types used:
IRF540: for velo pulse: Specs: 27A/100V, Ron = 0.085 Ohm,k Ci=1.45nF, ton delay= 15ns, ton risetime = 70ns, toff = 50ns.
IRL640: for key hold: Specs: 17A/200V, logic level mosfet. (Ug=5V). No cooling applied. IRLZ44N can be used as an alternative.
Solenoid type used for <pp2>: Lucas Ledex (now distributed by Saia-Burgess) STA type 195207-228 (13.8V DC @ 100% duty), 10Watt, 7.8N @ 5mm with 60degree plungers. 26mm diameter, height 52mm. Cold resistance is 19.2 Ohm.
Contemporary Music Player Piano Repertoire available at Logos (non exhaustive list!)
Conlon NANCARROW (1912-1997)
Godfried-Willem RAES (1952-202x)
Kris DE BAERDEMACKER
James TENNEY (1934-2006)
Mauricio KAGEL (+)
Cornelius CARDEW (+)
Gyorgy LIGETI (+)
Robody Player Piano Picture:
|(Terug) naar logos-projekten:
Back to logos projects
|Terug naar Logos' index-pagina
back to main index
|Naar Godfried-Willem Raes personal homepage...
back to Godfried's page
|Naar katalogus instrumenten
gebouwd door Godfried-Willem Raes
back to catalogue of instruments by Godfried-Willem Raes
Last update: 2022-02-16 by Godfried-Willem Raes
The circuit boards, each controlling 10 piano keys, were designed by Johannes Taelman in 2005 and look like:
Port mapping for these nine boards:
|2||RA4||RA5||pull up on RA4 for 18F252||R104 removed on all boards|
|8||RC0||RC1||RC0 = lite 109 board9
RC1= trace cut
|D17, T25 removed on board 9|
RC2 = lite 110 board9
|D19, T28 removed on board 9|
Timing constraints for the note repetition feature implemented with the note pressure command (2016):
The newest boards use a more advanced PIC (an 18F4620) and can control 14 notes each. With this board, only 7 boards are required for a full 88 keys keyboard. The boards are available from the logos foundation. Detailed descriptions can be found on our page on <Qt>, since this 6-octave quartertone organ robot uses the same boards.
In august 2014 we designed new boards, each covering a full octave. These boards allow for a much wider supply voltage range and since we made them single sided, a lot cheaper to produce. Here is the PC-board layout: A new version of the firmware was developed as well, using the Proton+ compiler and the Microchip MPLAB environment.
The power connections are designed for mounting on 10 mm wide red copper rails. For a player piano, 7 boards are required and an aditional small board covering the top 4 notes. The firmware for the PIC controllers is available as well.
The white LED SMD light strip under the solenoid assembly consumes 4.5W and operates on 24V. Note that it has the positive pole connected to ground! Farnell order nr: 2214000
A similar red light strip is mounted on the inner side of the front of the solenoid assembly.
Red LED strip on the power supply 2016 module is produced by DMS, part nr. 1226695 (www.omc-uk.com) It operates on 12V and has 32 SMD led's.
The analog panel voltmeters are Voltcraft, order nr.10 30 75 (for the 15V meter) and 10 30 76 (for the 30V meter).
At Logos Foundation Labs we have a limited capacity for the production of robotic instruments. People interested in ordering a complete piano vorsetzer should know the cost will be in the order of 17.000 Euro's and delivery time maximum 6 months. We have also designed Vorsetzers for other keyboard instruments such as spinets, harpsichords, clavichords, Hohner pianet and pipe organs. Enquire for possibilities and details. Email to: firstname.lastname@example.org.