Изменить высоту звука во время воспроизведения на iPhone

Каков наилучший способ сделать это?

Из того, что я прочитал до сих пор, кажется, вам нужно настроить IO Remote (что само по себе является болью). Вам нужно сделать БПФ? Есть ли там примеры?

Могу ли я просто ускорить / замедлить воспроизведение?

Спасибо

2 ответа

OpenAL позволяет сдвигать высоту тона с помощью свойства источника AL_PITCH. Может быть, вы можете запустить аудио через OpenAL и использовать это.

Я никогда не разрабатывал iPhone, но если у вас есть достаточный контроль над буфером, отправляемым на аудиоустройство, вы можете сделать следующее:

Допустим, у вас есть буфер чтения из аудиофайла, если вы отправляете на аудиоустройство только каждый четный сэмпл (возможно, поместите в какой-то другой буфер, который передается какой-либо функции), то он удвоит частоту и увеличит половину времени воспроизведения файла.

Если вы хотите что-то промежуточное, вам нужно вычислить между выборками или заново сэмплировать аудиофайл = интерполировать значения между последовательными выборками.

Другие вопросы по тегам