Arduino robot playing keyboard (music device)?

Hello everybody, I'm on 3rd year of production engineering, so I'm starting about making projects. I also play on keyboard, so... One of them is, as stated in subject, is robot with 61 arms playing music from MIDI files (which would be on SD card for example). I was thinking about using electromagnets on every arm, so robot will be able to punch keys-chords. There would be only robot - no PC, no laptop. Would it be possible? Robot punching keys from MIDI files - it would look like real-life Synthesia robot, playing music not on PC, but on my keyboard. Could you please tell me, if it'd be possible and what I need. I know that arduino board and sparkfun midi shield are needed + 61 arms with electromagnets. I've seen many similar ideas, but they used toy-piano as Synthesia keyboard :(

In embedded videos is how it could look like - but with visible arms of robot.

https://www.youtube.com/watch?v=mAAsKEB3q_I

Analog charastics

Do you need to control the amount force being delivered? Rate of change? Not a musician so please forgive the lack of proper terminology. Simple I/O expanders can be made from shift registers or I2C chips. The more difficult part, IMO, will be the power wiring.

The problem comes from
The problem comes from controlling all those arms.

Do you want the arms to look more human, or just be able to punch a single key (one key per arm)?

It’s possible to do this, but more difficult because you have multiple arms to control.

Do you have to hit the keys with variable force?

It sounds like a cool project.

One problem is that Arduinos have a finite amount of pins for controlling things, usually about 20-30. You can use circuits to increase this amount, and you can have multiple microcontrollers working together, and other ways of expanding the different outputs.

And yes, this be done without a PC. You would need a shield that allows the Arduino to read an SD card.

I know you can get simple solenoids for around $10 in the automotive section. These are used for locking and unlocking car locks. This is the Amazon price, you may be able to find a source that will sell them to you in a larger quantity for a better price. However, you don’t have much choice about changing the key pressure with these. Hobby servos are another choice, and you can control them in more detail.

Please let us know how the project goes.

And welcome to LMR.

The force is not an

The force is not an important thing for me, just one single punch would be enough (I know that longer punch needs more work). And if it’s not easy to controll every 60 keys, then 2 octaves are enough (26 keys).

So it’s not possible to make this robot read MIDI files like Synthesia does? (Synthesia is a program, which hits even multiple keys at one time - it reads and plays music). Eventually, if here is not possiblity with MIDI then just I’d like to use programmed sequence of chords (e.g G E E C F F C F G) - on sdcard I guess?

Well, thanks very much for

Well, thanks very much for all those replies - I will try to create one piece from all things you posted. Then I’ll think about programming that robot, which might be harder thing for me, especially when I know only a bit HTML, and no other programming languages :frowning: I have a lot of time anyway.