keep each voice in range