the zener diode should protect the digital input from excess voltages (for 1N4730A, Vz =3.9v)
Being a Zener diode, D1 (1N4730A) acts to protect the arduino's digital input from voltages above Vz = 3.9v and below -Vf = -1.2v
R1 limits the current from the piezo. I've read piezos can generate upto 100v
I've removed the capacitor across the piezo. It was there to act as low pass filter (in conjunction with R1) but on reflection I don't think there is any point.