У меня есть приложение для iPhone для детей, которое я пишу, и мне нужно иметь возможность сдвигать высоту звука с помощью Core Audio. У кого-нибудь есть какой-либо пример кода, я мог бы посмотреть, где это делается. В магазине приложений есть много музыкальных и игровых приложений, поэтому я знаю, что я не первый. Однако я не могу найти примеров того, как это делается.
В реальном времени Pitch Shifting на iPhone
Ответ 1
вы можете использовать dirac-2 из измерения dsp для изменения высоты тона на iphone. цитата: -
"DIRAC2 доступен как библиотека коммерческих объектов, предлагающая неограниченные частоты дискретизации и многоканальную поддержку с фазовой синхронизацией, а также как бесплатную одноканальную версию LE/44,1/48 кГц".
Ответ 2
используйте проект open source с открытым исходным кодом для изменения высоты тона
Вот ссылка: http://www.surina.net/soundtouch/
Как только вы добавите саундтрек к своему проекту, вы должны указать путь входного звукового файла, указать путь к звуковому файлу и изменение высоты тона в качестве входа.
Так как для обработки вашего звука требуется больше времени, лучше изменить саундтрек, чтобы при записи голоса прямо передавайте данные для обработки. Это сделает ваше приложение лучше.
Ответ 3
Я знаю, что слишком поздно для человека, который спросил, но это действительно ценная ссылка (как я нашел) для любого другого, кто ищет решение той же проблемы.
Итак, у нас есть последний DIRAC3 с его собственными аудиоплеер, который позаботится о времени и скорости выполнения времени (исследуйте для бог знает, что еще), сдвигая. Запустите образец и получите огромные аплодисменты.
Ответ 4
Попробуйте Dirac - это лучшая технология, доступная на Win, Linux, MacOS X и iOS. Мы используем его во всех наших продуктах (и еще несколько других - ищем "Capo" в App Store). Сейчас они находятся в версии 3, которая с огромным увеличением производительности с предыдущих версий. Надеюсь, это поможет.
Ответ 5
Смотрите: Связанный с нами вопрос
Сколько контроля над шагом вам нужно... можете ли вы предугадать все разные звуки? Если да, то вы можете просто выбрать правильные звуки и воспроизвести их.
Вы также можете использовать Audio Converter Services в сочетании с AVAudioPlayer, что позволит вам перепрограммировать звук (который будет эффективно выполнять их ретрансляцию, хотя они изменят продолжительность).
В качестве альтернативы, как указывает соответствующий вопрос, вы можете использовать OpenAL и AL_PITCH