Hi ArcLightSA
Your project is exactly what I'm wanting to build as well.
I'm currently learning the steel drum with a local group.
I'm already sufficiently proficient that I can join in when they do public performances.
However I don't own one - so practice is impossible unless I can borrow one - like I did over the summer.
There's also a a family of pans in a steel bans - soprano, tenor, double guitar pans, tripple cello pans, and the bass which is either 4 or 6 pans in a semi-circle.
I'd like to become good on all of the instruments - but there's absolutely no way I could afford to buy one of each.
Hence the project to create an interface that lets me practice at home.
I've been looking at what's available and to me it looks like the Arduino Mega with its 16 analogue inputs would be a good base module.
The faster processing power of the Ardunino 'DUE' might reduce latency though?
Then linking directly to a Sparkfun WAV Trigger looks perfect - particularly as it can output up to 8 sampled sounds at once.
There's also the 'WAV Trigger Serial library'
Which looks tailor made for the project.
For piezo transducers I'm looking at these from the local component shop 'Maplin'
http://www.maplin.co.uk/p/3v-ceramic-piezo-transducer-2718-yu87u
They do around 8 different types though and I'm not sure how to choose the best one.
I reckon that its important that there's low latency - ie ideally no noticeable delay between striking the 'note' and hearing the sound.
The system needs to be able to play two notes struck at once - and really needs to be able to have a struck note continue to sound even after the next note is struck - at least until the sound sample has decayed away.
One idea I've had is that if the WAV Trigger board has 8 channels then the serial message from the Arduino could cycle through the channel numbers so that the sampled sound could keep playing.
In other words - assuming there's two beaters (drumsticks) in use.
The first note played (stick 1) would be coded to play on channel one on the Trigger board,
The second note played (stick 2) would be directed to channel 2
The third note played (stick 1 again) would be sent to channel 3
So the first note would still be playing when the third note is triggered,
When the system has got to channel 8 it starts again at channel 1.
Provided the sound sample has decayed to zero before the 9th note is played then there's be no abrupt cut off of the note.
It should mean that some rather beautiful chords can be formed using the 'sustain' of the samples.
An unintentional effect would be that a single note played repeatedly would create an overlapping cascade of tones - even though on the real instrument the same tone would simply be reformed with each hit of the stick.
For initial testing I'd though that maybe the Sparkfun MIDI shield could be driven by the Arduino and the MIDI stream simply connected to a MIDI player or computer for testing.
Would you like to swap design ideas and see if we can create a beautiful instrument working together?
Andy