Изменение высоты звука в реальном времени на iPhone - PullRequest
23 голосов
/ 09 июля 2009

У меня есть детское приложение для iPhone, которое я пишу, и мне нужно иметь возможность изменять высоту звука с помощью Core Audio. У кого-нибудь есть пример кода, который я мог бы посмотреть, где это делается. В магазине приложений есть множество музыкальных и игровых приложений, поэтому я знаю, что я не первый. Однако я не могу найти никаких примеров того, как это делается.

Ответы [ 5 ]

14 голосов
/ 15 декабря 2009

вы можете использовать dirac-2 из измерения dsp для изменения высоты тона на iphone. цитата: -

«DIRAC2 доступен как библиотека коммерческих объектов, предлагающая неограниченную частоту дискретизации и многоканальная поддержка с фазовой синхронизацией, так и в виде бесплатного одноканального, версия 44,1 / 48 кГц LE».

9 голосов
/ 16 июля 2009

используйте проект с открытым исходным кодом soundtouch для изменения высоты тона

Вот ссылка: http://www.surina.net/soundtouch/

После добавления звукового прикосновения к своему проекту в качестве входных данных необходимо указать путь к входному звуковому файлу, путь к выходному звуковому файлу и изменение высоты тона.

Так как обработка звука занимает больше времени, лучше изменить soundtouch, чтобы при записи голоса непосредственно передавались данные для обработки. Это сделает ваше приложение лучше.

3 голосов
/ 21 февраля 2013

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

Итак, у нас есть последняя версия DIRAC3 с собственным аудиоплеером классов, которые позаботятся о высоте и скорости во время выполнения (исследовать, бог знает, что еще), смещении . Запустите образец и получите за это аплодисменты.

2 голосов
/ 12 января 2011

Попробуйте Dirac - это лучшая технология, доступная на Win, Linux, MacOS X и iOS. Мы используем его во всех наших продуктах (и еще несколько других используют поиск "Capo" в App Store). Сейчас они в версии 3, в которой значительно выросла производительность по сравнению с предыдущими версиями. Надеюсь, это поможет.

1 голос
/ 09 июля 2009

См .: Смежный вопрос

Какой контроль над высотой звука вам нужен ... не могли бы вы пересчитать все разные звуки? Если ответ «да», тогда вы можете просто выбрать нужные звуки и воспроизводить их.

Вы также можете использовать Audio Converter Services в сочетании с AVAudioPlayer, что позволит вам повторно сэмплировать звук (который будет эффективно воспроизводить их, хотя и изменит продолжительность).

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

...