impact event sensor digital or analog?

hi guys!

I need help with a little project of mine. Basically what I need is a way to count audible impacts with the arduino against background noise. The impact events might happen up to 20 Hz, so that leaves me 50 ms between readings.

Since I've got access to the metal chassis of the element which is being hit, I thought a piezo would do nicely. A simple 'knock sensor' approach doesn't seem to work, since the analog reads need the analog input to stabilize AND the piezo to be in a specific state at the exact time of the reading. The best I could do with this approach was ~1/2 Hz.
Might a delay circuit made up of a series diode and a parallel pF-range capacitor do the trick? Is there a way to interrupt the arduino state and read a pin (digital or analog) at a specific interval regardless of the machine state?

The arduino will be doing a simple 2 digit 7s via MAX display, would that disrupt the timing?

Another approach would be to use some circuit to digitize the input and read it with a digital pin on the arduino.. though I'm not sure I can design a circuit like that myself

Any ideas?