Я работал над приложением для караоке, и то, как мы это делали, заключалось в том, чтобы читать тексты песен и их время из миди-файла, соответствующего аудио, и использовать AVAudioPlayer для воспроизведения звука, и написать собственный виджет, которыйUILabel с подклассами, который отображает текст с нужной подсветкой.Используйте значения времени из аудиопроигрывателя напрямую, а не пытайтесь синхронизировать отдельный таймер, иначе время может сместиться.