When I use a USB cord to power my Arduino, the connected piezo buzzer provides a consistant noise.
However, when I use a 9V battery to power my Arduino (both using battery jack, and VIN), the buzzer is extremely inconsistent, making the buzzer sound like a geiger counter.
Piezo wiring is just a digital pin connected to the + end, and a resistor connected to the - end.
Also, the buzzer sounds normal when it it connected directly to 5V, instead of a digital pin.
The code just sets the pin to output, then uses tone() to play a noise.
If you have NiMH rechargeable AA batteries and a charger for them, you can use 4 of these in a holder like those shown by @LarryD above. This will provide around 5V and so can be connected to the 5V pin on the Arduino.
Rechargeable AA batteries would be useful. However, be mindful of the run-time of the arduino. Different AA batteries have different capacities (measured in mAh).