When I press the button the pizo makes a crackling sound.
Sounds about right.
To make that sort make a sound you have to press that button 2000 times a second, which of course you can't. Therefore when you attach it to an arduino pin you should make that toggle at that speed. Use the tone function. Connect a 100R resistor in seriese with it.
Weren't you using the tone() function on the arduino? If so you are turning the pin on and off very rapidly to cause sound to come out of the piezo speaker.