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