А я не понял, почему у тебя звукогенерацию-то в отдельный поток нельзя вынести? Там-же нет привязок никаких к таймингам.