Author Topic: Piano Playing machince  (Read 1415 times)

0 Members and 1 Guest are viewing this topic.

Offline MrOmnos

  • Regular Contributor
  • *
  • Posts: 240
  • Country: np
  • BE in Electronics and Communication
Piano Playing machince
« on: August 13, 2016, 03:49:38 pm »
Hi, folks. I have decided to build a piano playing machine. Instead of human fingers pressing the keys, this machine would use 5V solenoids (solenoids are noisy any other options?) to press the keys. First I would like to try with 16 solenoids. Solenoids would be placed over the keys that are going to be used in the piano piece. This idea came to me when one of my friend lost his left hand in an accident. He was a good piano player. So, I wanted to gift him this machine which would play notes played by left hand. (I knew nothing about pianos back then) But after doing some research I kinda gave up on the idea because it seemed unimaginably complex and it would require enormous amount of time and research to build something even closer to what I had in mind. But still I would like to build something that can play piano. May be later in my life I could use machine learning tools to feed it thousands of musical pieces and train it be my own person Beethoven which would create and play fresh music every evening when I come back home from a tiring day at work.

So here's my approach.
Take midi files of the musical pieces send it to a controller which then converts that digital data in to electrical signals and use those signals to turn on and off the solenoids.

midifile -----> controller(microcontroller/FPGA) ------> custom solenoid driver----->solenoids

It make require multiplexing for large no of keys.

I would like Ideas from you guys. How should I do it? What are the tools that are already out there that can be used in this project? How would you do it?
 

Offline CM800

  • Frequent Contributor
  • **
  • Posts: 880
  • Country: 00
Re: Piano Playing machince
« Reply #1 on: August 13, 2016, 03:57:45 pm »
Hi, folks. I have decided to build a piano playing machine. Instead of human fingers pressing the keys, this machine would use 5V solenoids (solenoids are noisy any other options?) to press the keys. First I would like to try with 16 solenoids. Solenoids would be placed over the keys that are going to be used in the piano piece. This idea came to me when one of my friend lost his left hand in an accident. He was a good piano player. So, I wanted to gift him this machine which would play notes played by left hand. (I knew nothing about pianos back then) But after doing some research I kinda gave up on the idea because it seemed unimaginably complex and it would require enormous amount of time and research to build something even closer to what I had in mind. But still I would like to build something that can play piano. May be later in my life I could use machine learning tools to feed it thousands of musical pieces and train it be my own person Beethoven which would create and play fresh music every evening when I come back home from a tiring day at work.

So here's my approach.
Take midi files of the musical pieces send it to a controller which then converts that digital data in to electrical signals and use those signals to turn on and off the solenoids.

midifile -----> controller(microcontroller/FPGA) ------> custom solenoid driver----->solenoids

It make require multiplexing for large no of keys.

I would like Ideas from you guys. How should I do it? What are the tools that are already out there that can be used in this project? How would you do it?

Solenoids arn't necessarily noisy... just off the shelf ones are!

You could quieten them down significantly if you put some felt pad on the inner and outer ends of the actuating bar, add proper springs etc.
 

Offline kc8apf

  • Regular Contributor
  • *
  • Posts: 103
  • Country: us
Re: Piano Playing machince
« Reply #2 on: August 13, 2016, 03:59:41 pm »
Traditional player pianos used bellows mounted underneath the keys to pull them down with vacuum. This matched well to the punched paper rolls. Vacuum was fed up to the paper. If there was a hole, it would collapse a primary bellow that would trigger the secondary which pulled the key.

My grandfather retrofitted an upright player piano with solenoids under the keys. That let him tie it into the 12v system used on his theatre organ so it could be played from the organ's keyboards as another instrument.

Sent from my Nexus 5X using Tapatalk

 

Offline C

  • Super Contributor
  • ***
  • Posts: 1345
  • Country: us
Re: Piano Playing machince
« Reply #3 on: August 13, 2016, 04:15:31 pm »
Good Piano player uses more than just press a key.

Most Solenoids are designed for on/off.
Think of the Solenoid used for a speaker where you have more control.
Next step up is the Solenoid as used in a hard disk drive.

What is missing from above is the feedback that lets you have better control.

EDIT
  Note that a speaker can also act like a microphone. So in addition to moving the keys you might have record the keys.
« Last Edit: August 13, 2016, 04:33:43 pm by C »
 

Offline Fungus

  • Super Contributor
  • ***
  • Posts: 9877
  • Country: 00
Re: Piano Playing machince
« Reply #4 on: August 13, 2016, 05:07:55 pm »
You can use solenoids, no problem. The main problem will be that you need a lot of them.

I don't think it's a good idea to put them on top, pressing the keys. That would be ugly/cumbersome. I'd hide them away underneath and make them pull strings or something like that.

You also need to be able to play expressively. You need to think about PWM driving the solenoids to pull the strings with different force.

(...and does he really want a big box of solenoids that needs a lot of work to program. Is it really better than, say, doing it all electronically via a MIDI piano? Maybe you should ask him before you start building)

 

Offline Kilrah

  • Supporter
  • ****
  • Posts: 1707
  • Country: ch
Re: Piano Playing machince
« Reply #5 on: August 13, 2016, 05:35:10 pm »
There are systems/kits for that, e.g. http://www.qrsmusic.com/PNO.asp where you can see  some of the components/solenoids on the slideshow on top.

Would be quite an involved project to DIY.
 

Offline helius

  • Super Contributor
  • ***
  • Posts: 2843
  • Country: us
Re: Piano Playing machince
« Reply #6 on: August 13, 2016, 05:38:36 pm »
The best known electronic player piano is the Disklavier. http://yamahaden.com/anatomy-of-a-disklavier

It uses 88 solenoids, which strike the rear corner of the keys from underneath. There are also separate solenoids to move the pedals.
Pianos do not have aftertouch, so only the velocity of the initial strike is important. The breakaway mechanism will change the volume and tone of strikes that repeat quickly. This among other factors makes it necessary to calibrate the controller to the mechanical regulation.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf