Transmitting MIDI data from my upright piano?

Post here about your Arduino projects, get help - for Adafruit customers!

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
Locked
Hekomi
 
Posts: 4
Joined: Wed May 15, 2013 12:31 pm

Transmitting MIDI data from my upright piano?

Post by Hekomi »

Hi, my name is Hekomi and I am a musician based in Brooklyn. I recently started rebuilding an upright piano for an upcoming music project and wanted to incorporate arduino in order to transmit midi data from the keys. I am a bit of a beginner when it comes to arduino and would just like to know if A.) this is possible B.) could you point me in the direction of the parts I would need to make this possible? I assume I would need 88 pressure sensitive pads to determine which key is being pressed but I am unsure of the unit that would transmit this data to SuperCollider. I am sorry if this is a loaded question and appreciate any and all critique/feedback/answers! Thanks!

Hekomi

User avatar
adafruit_support_bill
 
Posts: 88096
Joined: Sat Feb 07, 2009 10:11 am

Re: Transmitting MIDI data from my upright piano?

Post by adafruit_support_bill »

The simplest sensor would be a simple mechanical or optical switch, but that only would sense that a key was pressed, and that wouldn't be very expressive. The next step up would be an FSR. http://www.adafruit.com/products/166
That will detect variations in pressure on the key. More advanced midi keyboards use still more sophisticated sensors that can sense key velocity also. One problem will be figuring out how to atttach all these sensors to your keys without adversely affecting the action of the keyboard.

There are some products out there that do this. This one is all optical: http://www.midi9.com/index.htm
I think they are in the $2-3K range.

Hekomi
 
Posts: 4
Joined: Wed May 15, 2013 12:31 pm

Re: Transmitting MIDI data from my upright piano?

Post by Hekomi »

I had looked into the FSR's and I am curious as to what unit the wiring from these would run to, that is, a unit that could take 88 inputs and then translate that data to a DAW.

User avatar
adafruit_support_bill
 
Posts: 88096
Joined: Sat Feb 07, 2009 10:11 am

Re: Transmitting MIDI data from my upright piano?

Post by adafruit_support_bill »

We have a tutorial that explains how to wire them up as a simple voltage divider: http://learn.adafruit.com/force-sensiti ... ing-an-fsr
There are some problems with scaling this up to an 88 key piano:
1) you will need 88 analog input channels.
2) you will need a processor fast enough to scan them all at a reasonable frequency.

A standard Arduino has 6 analog input pins. A Mega has 12.
We have i2c analog input breakouts that will let you add up to another 16 channels. http://www.adafruit.com/products/1083
There are also 16-channel analog multiplexer chips http://www.nxp.com/documents/data_sheet ... CT4067.pdf
All these extenders are going to add additional latency and slow down the scan rate.

To handle 88 keys with reasonable response time you are most likely going to need some custom circuitry between the keyboard and the Arduino (or other microprocessor).

Hekomi
 
Posts: 4
Joined: Wed May 15, 2013 12:31 pm

Re: Transmitting MIDI data from my upright piano?

Post by Hekomi »

perhaps it would be more efficient/effective to disassemble an existing 88 key midi keyboard and adapt it for my upright?

User avatar
adafruit_support_bill
 
Posts: 88096
Joined: Sat Feb 07, 2009 10:11 am

Re: Transmitting MIDI data from my upright piano?

Post by adafruit_support_bill »

perhaps it would be more efficient/effective to disassemble an existing 88 key midi keyboard and adapt it for my upright?
That is not a bad idea. Just looking at the internals of my Kurzweil, I couldn't replicate that for twice the cost of the PNOscan using discrete sensors.

Hekomi
 
Posts: 4
Joined: Wed May 15, 2013 12:31 pm

Re: Transmitting MIDI data from my upright piano?

Post by Hekomi »

i will have a go at it tomorrow, thanks for your advice!

Locked
Please be positive and constructive with your questions and comments.

Return to “Arduino”