The basic idea is to attach one piezo disc to the heel and one to the tip of each shoe (4 piezos total).
The only real info needed to be transmitted wirelessly is the force of each tap. A computer would receive that info and translate it to actual note-on messages and forward them to a sampler. At this point I'd say around 4-6 levels of velocity resolution would be satisfactory.
After some googling around I've found a quite simple circuit desing to filter the piezo signal into a suitable form.
I'm guessing the main problem I'm about to face is latency. Foot tapping is just as sensitive to latency as percussion playing in general so the overall delay from one tap to the corresponding audio event in the speaker should not exceed 20ms, ideally it would be below 10ms. I might be able to squeeze the computer's output latency down to 5ms which would leave around 10ms to 15ms for the transmission.
So..
does this even seem possible?
what would be the best way to transmit the data? wlan? bluetooth? something else?
50 meters is not an insignificant distance. It is far outside the range of the 433 MHz radios. It is in scope for XBees and for the Nrf radios. I'm going to recommend the XBees because I'm familiar with them. You can connect some sensors directly to them, eliminating the need for an Arduino on the sending end, saving some money. The XBees then send in API mode. An API packet contains the address of the sender, so you could have multiple senders and the receiver can keep track of which is which.
Sending a byte is the smallest logical unit to send. That byte can contain 0 to 255. Trimming the value from 0 to 127 to 0 to 8 is not going to reduce the amount of data sent. It will still be one byte. Actually, the value will still be two bytes per piezo, since the XBee also uses a 10 bit ADC, resulting in a value of 0 to 1023, which won't fit in a byte.
This seems the way to go. I'm sure I could dig this up myself but since you know the
deal, here's couple more questions:
what kind of signal voltage ranges can XBees handle (the current system would produce peaks between 0 to +5V)
do I need an XBee for each piezo or can I hook up several sensors to one so that they could still be sorted out in the receiving end.
..oh and come to think of it, If I can do the wireless transmission and input to my pc with these things and program the signal processing from there on, is there anything I really even need an Arduino for?
what kind of signal voltage ranges can XBees handle (the current system would produce peaks between 0 to +5V)
Actually, the current system would produce peaks of 0 to the nominal voltage. For a 3.3V Arduino, the voltage range would be 0 to 3.3V.
The XBee is a 3.3V device. If it is powering the senors as well as reading them, then the values from 0 to 1023 represent 0 to 3.3V.
do I need an XBee for each piezo or can I hook up several sensors to one so that they could still be sorted out in the receiving end.
You can connect one per analog pin. You'd need to look up how many analog pins the XBee has.
oh and come to think of it, If I can do the wireless transmission and input to my pc with these things and program the signal processing from there on, is there anything I really even need an Arduino for?
No, not really. That's why I mentioned you could have money using the XBees instead of Arduinos and cheaper radios.