Я столкнулся с той же проблемой, что и в следующем вопросе: Запись миди с помощью Audiokit
Проблема в том, что паузы в записи отличаются реальными паузами.
Проблема была в исходном коде связанного вопроса:
track.add(noteNumber: b, velocity: c, position: startPosition, duration: currentPosition - startPosition, channel: 0)
Передано значение currentPosition, а не startPosition.