playTone() upgrade