do audio in one big callback per frame instead of several tiny callbacks