Project: Electric Hupfeld phonoliszt violina - Page 1
Forum section: electronics / projects

author: niwatori1
author_rank: Newbie
timestamp: October 14, 2018, 02:40:15 am
content: Hi all, young player here and I’ve started a new project.I want to get this out of the way first.I know this is going to not be easy or cheap.I know this it going to take a long time.I know that there are probably products on the market that do this.I know I’m going to say “I never thought of that...” a LOT!This is as much for the learning experience as it is the finished product.Now with that out of the wayEffectively I want to build an electric version of this:Now to do it I have a rough idea of how this Orchestrion worksBasically it’s a regular player piano with a sophisticated violin attachment on top.The way the violin player works is you have 3 violins each playing the notes on one stringthe rightmost violin is the high notes, middle is middle notes and left is low notes.It has a custom arm extending up from the strings that allows them to have vibrato. (I think its called anyway.)The bow is (obviously) a gigantic wooden and cast iron circle with tensioned horsehair that varies its speed in order to adjust the intensity of the sound from the violins.The violins are pulled into the bow by a bellows actuator at the top of it.(as opposed to a violinist resting the bow on the violin as is normal.)The notes are actuated by an array of bellows actuators that move rods that press a piece cork onto the strings of the violin, which changes the note.Side note: This thing was built in Germany in 1912 and 13, right before the outbreak of WWI, I wish the engineer that designed this thing and the craftsman that built it were still alive because I would happily shake there hand, and chat with them over a beer, but anyway.Obviously, I cant build it all, I know I can’t build the piano or the violin so I have to buy those and engineer a way to interface with them electronically.The way I see it we have three separate devices here, one that plays the piano, one that plays the violin(s) and one that controls and synchronizes bothFor communication and control of them I want to use MIDI because its an established standard that allows a whole lot of modularity and compatibility with other musical devices and has a lot of software and documentation( I can quickly determine if its a problem with a player or the control)First I Want to build an arduino based automatic piano player that I can just set on the keys of a regular mechanical piano and turn it into a player piano. (Regular pianos are fairly affordable and common compared to player pianos.)I have seen this guy with his player piano conversionhttps://medium.com/@hackmancoltaire/adventures-in-piano-building-c3fe5fa0b56band there are companies that make out of the box conversion kitshttp://www.virtualroll.com/A far as the electronics for my system I took design ideas from Ramon’s build and designed a simple solenoid circuit derived from general logic level solenoid driver circuitsMy thought is to simply have one solenoid over each key driven buy a SOT-223 N-Channel MosfetThe mosfet is driven by a 74HC595 Shift register receiving inputs from an arduino.Ignore the large SMD inductors labeled JS on the 3d view I needed them there to have a footprint to solder the solenoid leads to in kicad, they will be unpopulated in reality.I have also made a cad drawing of the frame that holds the solenoids in place above the keys. It’s designed to be one octave on a piano.But of course nothing is easy and pianos don't have completely even octaves. On a standard 88 key piano it has 7 full octaves with 12 total keys per octave, then it has one extra key to the right and three extra keys to the left.So what my plan is, is to have 5 identical octaves in the middle,(With boards with only 12 of the 16 circuits populated to save money) and to have a custom left and right octave frame and board with 15 and 13 circuits populated respectively.The solenoids are a stickier issue, Perhaps I'm just too new to know where to find them or they really don't exist for my application, but I'm having trouble finding small, low voltage solenoids.What I want are small 12v or so, 8 to 12mm total Diameter, 10mm of push, with long extensions of the enameled wire to solder directly to the driver board. Its to the point that I think I may have to custom make them. I’m not opposed to doing that though and have a few ideas on how to.I’m thinking milled and bored Teflon rod for the bodies of them to lower the friction of the actuator, Mild steel rod for the plunger and as thin a wire as possible to maximize the number of turns(and in turn the potential power).That said I experimented with a basic test solenoid( a spool of wire connected to a psu and a bolt in the middle) and discovered quite a few interesting things:1: the Center of your magnetic mass(bolt) will go to the center of the magnetic field and stop, not go all the way through as I thought it did.2: Basic electronics equations are a good thing and passing more voltage through something also increases current and therefore heat3: They are not that powerful, at least not the inefficient abomination I made.In all fairness I haven't messed with this stuff in ernest since high school and that was 9 long years ago.I think ill finish up with what I have and don’t haveI have a basic working knowledge of electronics.I have a Shapeoko 3 XXL, so I have the ability to make basic 3d parts in everything up to aluminuma basic multimeter(one hung low brand)Basic soldering gearA modified atx PSU as a bench PSUbreadboard, jumpers, basic resistors etcA lathe for solenoidsa basic 49 key electric piano I can use for testing.and a “3D Printer” I put that in quotes because its a bit of a turd and difficult to get to work right, I’d rather not use it if I didn’t have to.What I don’t have:An understanding of music theoryAn advanced understanding of electronic theoryan oscilloscopeMany Many more thingsand so it begins...

author: IDEngineer
author_rank: Super Contributor
timestamp: October 14, 2018, 03:25:13 pm
content: If by "I want to build an electric version" you mean you want to get rid of the mechanical aspects: Buy an inexpensive Casio synthesizer keyboard. $200 and you're done. Or even a top-end professional synthesizer with anywhere from 60 to a full 88 key keyboard for a few thousand dollars.On the other hand, if what you meant is you want to drive electrically what is, in the original, driven mechanically, then settle in for a nice long project. Nothing wrong with doing it but as she said in the movie "The 300", "This won't be over soon. You will not enjoy it."

author: Kalvin
author_rank: Super Contributor
timestamp: October 14, 2018, 05:26:47 pm
content: Here is one modern implementation:Robot that can play violin - interview of the creator and examples:

author: DaJMasta
author_rank: Super Contributor
timestamp: October 14, 2018, 06:01:05 pm
content: While it's certainly interesting, I'd see this more as a mechanical and less as an electronic project. Something akin to a modern organ, which uses an electronic console for all the playing controls and then a mechanical/acoustic system for actually producing the tones. Almost all of the work is going to go into generating the sound correctly on the instruments, whereas the electronic aspects could be as simple as a midi keyboard (or stored file) and an arduino and driver board to decode/drive the mechanics.A huge project, and a neat one, but I'd be hesitant to call it an electronics project because so much of the work will go elsewhere. It's amazing what they could do with the technology available a hundred years ago!

author: MT
author_rank: Super Contributor
timestamp: October 14, 2018, 06:06:57 pm
content: These compressorhead boys are much more fun!

author: niwatori1
author_rank: Newbie
timestamp: October 18, 2018, 12:37:19 am
content: Those builds are really cool and I didn't find them before!I will send the guy in the BBC Video an email to see if I can get more info on his build it will defiantly help when I get to that part.I haven’t given much thought to the violin playing part of the project because I'm trying to focus on the piano player, but I can see a couple of problems with those builds that I want to take note of.1: The bow cannot be removed from the strings at all, even when rotating the violin to change notes.2: the pressure the bow puts on the strings with this mechanism cannot easily be adjusted and I’d imagine falls out of tune constantly.3: It looks like the linear servos they use to drive the bows are quite slow in both raw speed and responsiveness, although they were quiet so I don’t think they were stepper motors or anything like that.4: there didn't seem to be any provisions for vibrato at all, but Seth did say it could be added in the future so perhaps he added it after that was recorded?While I haven't given much thought to the violin portion at all I think I will wind up copying the Hupfeld mechanism to a large extent, but I think the rotating bow is going to be by far the biggest challenge with it.And I agree it isn't 100 percent an electronics engineering project, but my argument is almost all electronics projects have some sort of mechanical aspect to them (even if it’s just a case, buttons and a speaker).Even if this isn't the perfect forum for the mechanical aspect, hopefully someone can learn from my techniques and mistakes.Now moving on to my progress since the last post.I have bought an analog discovery 2 so I have all the equipment this thing has, But no BNC adapter or probes.I bought a 6 pack of different gauge epoxy magnet wire to start experimenting with solenoid construction techniques and to get an idea what size wire, how many turns, how large of diameter, length, etc so I can build themI joined the MIDI association and downloaded the documentation for MIDI and I downloaded all the MIDI arduino libraries.I’ve started the schematic for the arduino mega shield that I plan on building to control this thing.and I've started programming the arduino sketch for the piano player.I’ll post more detail about the software and hardware once it’s more finalizedTill next time!