Arduino keyboard with "authentic" sounds.

I am learning by doing and so far I have managed to make a keyboard on a arduino mega. The arduino outputs square notes as you would expect.

These square notes are all well and fine but I would really like to have this project output something that sounded closer to a real piano. I was thinking off connecting the arduino with a separate board that contains a library of real recordings of piano tones that can be cross referenced with the notes that the arduino is generating The separate board would be used to compensates for the arduino shortcomings in regards to space etc.

I assume this project has been done before, but I don't know what it would be called, so I am having a hard time finding guides or similar projects. Any help to how this could be accomplished or if there is an easier way to archive real piano sound without the use of an external PC would be highly appreciated.

You could turn the Arduino into a MIDI device (really easy, there's lots of information available online, I wrote this guide some time ago) and connect it to a sampler or a sythesiser. This could also be a Raspberry Pi, for example: SamplerBox - drop-and-play sampler - Raspberry Pi.

Hope this helps!
Pieter

Thanks PieterP those are some good guides! Hadn't seen them before, very informative I need to read up on them more closely.

After I posted the original topic I continued my research and stumbled upon the widely available shields for arduino. More specifically some of the music shields that are out there which actually allows playback of audio files when a button is pressed. I think I will do more research in that direction and see if I can make my code applicable to some sort of arduino mega music shield.