Изменение высоты тона в режиме реального времени на iPhone

StackOverflow https://stackoverflow.com/questions/1100495

Вопрос

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

Это было полезно?

Решение

вы можете использовать дирак-2 из dsp dimension для изменения высоты тона на iPhone.Цитата:-

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

Другие советы

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

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

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

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

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

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

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

Видишь: Связанный с этим вопрос

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top