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

Как лучше всего этого добиться?

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

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

Спасибо


person Corey Floyd    schedule 15.05.2009    source источник


Ответы (2)


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

person invalidname    schedule 06.07.2009
comment
этот работал для меня! - person cregox; 10.01.2011

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

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

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

person Emile Vrijdags    schedule 25.05.2009