How do you shift a square wave down?
Just an RC will do it: -
If fed with a sine wave (for the convenience of the attached picture), it will reproduce the sine wave at the output but with the DC level removed thus maintaining the correct peak-to-peak amplitude. Here is what happens in the first few cycles as the DC level is removed: -
It will work in the same way as a square wave (DC or average value = 15 V will be removed) but, please ensure that 2\$\pi\$RC << than 40 us to ensure the following doesn't happen: -
If C = 10 uF and R = 1 kohm, the cut-off frequency will be 15.9 hertz and miles away from causing the droop problem seen above.
However, if you in fact have a non 50:50 duty cycle square wave you may need a more complex circuit because the DC level won't be at the midpoint of the waveform.
On the other hand, if you are driving a simple piezo transducer, why bother shifting it to equal positive and negative levels - it's purely capacitive and it won't care so, a really simple circuit becomes "a wire".