This version uses a latency value to shorten the snooze period in the output loop.

Then a tight loop busy waits until the right time to output a sound sample.

This results in better timing but uses more CPU power to operate.