Реверберация с OpenAL на iOS

#iphone #ios #openal

#iPhone #iOS #openal

Вопрос:

Есть ли какой-либо возможный способ выполнить реверберацию с использованием OpenAL на iOS? У кого-нибудь есть какие-либо фрагменты кода для достижения этого эффекта? Я знаю, что это не включено в библиотеку OpenAL для iOS, но я думаю, что все еще есть способ запрограммировать это.

Спасибо.

Ответ №1:

Реверберация теперь поддерживается в OpenAL (начиная с iOS 5.0). Вы можете просмотреть пример реализации в проекте ObjectAL:

https://github.com/kstenerud/ObjectAL-for-iPhone

Просто возьмите самый последний исходный код из этого репозитория, загрузите «ObjectAL.xcodeproj» и запустите цель ObjectALDemo на любом устройстве iOS 5.0 (также должно работать на симуляторе).

Фактическая реализация заключается в двух местах:

Найдите слово «реверберация» в этих файлах (и соответствующих файлах заголовков), чтобы найти название свойств и констант OpenAL, используемых для установки эффекта реверберации и управления им.

Удачи!

Ответ №2:

Вы могли бы использовать предварительно обработанный звук, если ситуация позволяет. Если вы хотите сделать это в режиме реального времени, посмотрите на DSP. Насколько мне известно, нет способа сделать это из коробки.

Дополнительные настольные API, такие как EFX и EAX, используют аппаратную обработку сигналов. Возможно, в будущем в этих портативных устройствах будут реализованы полные API OpenAL и OpenGL, но пока у нас есть урезанные версии по практическим соображениям, таким как стоимость и время автономной работы и т.д.

Я уверен, что есть способ, но это будет нелегко.