Я бы начал с чтения недавней кандидатской диссертации Кжетила Фалькенберга Хансена: Акустика и производительность DJ Scratching , чтобы понять природу проблемы. Это должно предоставить вам некоторые эффективные параметры для вашей программы.
Я предполагаю, что вы захотите буферизовать определенное количество аудио, которое нужно «поцарапать», и просто продвигаться через указанный буфер с различными скоростями как вперед, так и назад.
Рассмотрим эту ссылку (и аналогичные) о том, как создать буфер.
Если API-интерфейс iphone не обеспечивает полезного способа перемещения по буферу на разных скоростях, вы можете подумать о создании собственного временного буфера, а затем использовать его для заполнения буфера, используемого iPhone, на основе некоторой интерполяционной функции.
Кстати - первая ссылка, которую вы разместили, действительно выглядит очень полезной! Чего не хватает?