From my experience, you will never get a 'nice' sound out of a piezo.
Lowering the drive amplitude will help.
Add low pass filtering, that will round the corners of the wave and reduce the harshness.http://sim.okawa-denshi.jp/en/CRlowkeisan.htm
I tried it. Not much change. I was using 1k resistor and 0.1uF cap. The volume decreased, but not much else
Any suggestions for circuits I could try?
I've tried several speakers on the circuit. Seems to be the circuit, not the piezo.Any suggestions for circuits I could try
Try creating sound with the Arduino "tone() function!
Try one of these chipsTone generator chips
what frequency are you trying to make sound better?