Очень хотелось написать несколько статей о AudioUnit в iOS. Я уж было написал большую часть о том, как можно применять эффекты к звуку с помощью Audio Unit (далее я буду писать просто юнит). Но в процессе понял, что непосвященному читателю будет тяжело понять написанное и поэтому решил начать с малого.
Для начала разберемся, что такое Audio Unit. Как гласит Wikipedia, AudioUnit — этой некий плагин в OS X (iOS) для генерации, обработки либо другого управления звуком с минимальной задержкой. В коде юнит выступает указателем на struct.
Каждый юнит выполняет свою конкретную задачу, они делятся на типы и подтипы. Юниты можно использовать по одиночке, либо связывать их в граф. Юниты, связанные графом обрабатывают звук в определенной последовательности, звук от одного юнита переходит к другому. Например, при помощи графа достаточно легко сделать приложение-караоке, в котором будет воспроизводиться музыка и в тот же момент будет идти запись звука с микрофона в файл.
Набор юнитов в iOS достаточно ограничен по сравнению с OS X, но с каждой версией iOS их становиться все больше. Все написанное здесь нужно воспринимать в контексте iOS 6, т.к. на сегодняшний день она обладает наибольшим количеством юнитов среди всех версий iOS.
Читать далее