John, excuse my long silence. I am afraid I will have still less time in future, yet here goes for some further musings:
-) where you mention "homing circuits", do you mean limit switches as described at
https://en.wikipedia.org/wiki/Limit_switch ?
-) your mechanical setup seems over complicated to me. I think you could much simplify the project by having more than two hammers. My idea would be to have as many hammers as there are lateral positions, perhaps 4 or 5, so as to do away with need for lateral motion. But of course this is not what you asked for, I ought not really to give unrequested comments... And perhaps you want to give your creation a human appearance, like the 18th century fake chess automaton? (see
https://en.wikipedia.org/wiki/The_Turk ) ?
-) I still hold to my original idea: the easiest solution would be to convert your abc music to midi files, then have a PC program that further converts midi to the 16-bit words that your Arduino interprets to control the stepper motors. This should not be too hard, could certainly be done in C, likely also in one of them new-fangled scripting languages like perl or python, perhaps even in raw shell with some awk and sed thrown in. I think you could help a software developer by creating some tune, then create manually the SD-file that corresponds to it; the programmer could than adjust the code until the output matches your manual creation. Perhaps the most complicated part could be writing the "raw" data to the SD-card, an alternative might be to send out the data through a serial port and have the Arduino read that, and buffer for "playback".
It certainly seems like a great project! Bunch of friends of mine are learning to play the hammer dulcimer and I could surely poke some fun at them with this creation!