У меня есть приложение для iPhone для детей, которое я пишу, и мне нужно иметь возможность сдвигать высоту звука с помощью Core Audio. У кого-нибудь есть какой-либо пример кода, я мог бы посмотреть, где это делается. В магазине приложений есть много музыкальных и игровых приложений, поэтому я знаю, что я не первый. Однако я не могу найти примеров того, как это делается.В режиме реального времени Pitch Shifting на iPhone
ответ
вы можете использовать dirac-2 от измерения dsp для изменения высоты тона на iphone. цитата: -
«DIRAC2 доступен как библиотека коммерческих объектов, предлагающая неограниченные частоты дискретизации и многоканальную поддержку с фазовой синхронизацией, а также как бесплатный одноканальный вариант с частотой 44,1/48 кГц».
См: Related question
Сколько контроля за шагом вам нужно ... не могли бы вы предвычислять все различные звуки? Если да, то вы можете просто выбрать правильные звуки и сыграть их.
Вы также можете использовать Службы аудио конвертера в сочетании с AVAudioPlayer, что позволит вам переконвертировать звук (который будет эффективно выполнять их ретрансляцию, хотя они изменят продолжительность).
Альтернативно, как связанный с ним вопрос указывает, вы могли бы использовать OpenAL и AL_PITCH
Не помогло. Спасибо! –
@ Leachy просто интересно ... как мог openAL не помочь вам и DIRAC? Для меня это была полная противоположность, и Дирак оказался бесполезным! : o – cregox
использовать проект SoundTouch с открытым исходным кодом для изменения высоты тона
Вот ссылка: http://www.surina.net/soundtouch/
После добавления SoundTouch к вашему проекту, вы должны указать входной путь звукового файла, выходный путь звукового файла и изменение высоты тона в качестве входного сигнала.
Поскольку для обработки звука требуется больше времени, лучше изменить саундтрек, чтобы при записи голоса непосредственно передавайте данные для обработки. Это сделает ваше приложение лучше.
Попробуйте Dirac - это лучшая технология, и она доступна на Win, Linux, MacOS X и iOS. Мы используем его во всех наших продуктах (и еще несколько других - ищем «Capo» в App Store). Сейчас они находятся в версии 3, которая с огромным увеличением производительности с предыдущих версий. Надеюсь это поможет.
Я знаю, что слишком поздно для человека, который спросил, но это действительно ценная ссылка (как я нашла) для любого другого, кто ищет решение той же проблемы.
Так вот мы имеем последнюю DIRAC3 с собственным audio player классов, которые будут заботиться о во время выполнения шага и скорости (для изучения бог знает что еще) сдвигая. Запустите образец и получите огромные аплодисменты.
У меня было плохое опыт работы с dirac3 из-за его 'libDIRAC_iOS4-fat.a', который, вероятно, не сильно отличается от dirac2.Я просто не мог его использовать - было слишком много ошибок в части соединения процесса сборки. Скорее, [я использовал openAL] (http://stackoverflow.com/questions/2035975/how-do-you-completely-remove-and-release-memory-of-an-openal-sound-file/4647692# 4647692) с огромным успехом. – cregox
Прекрасно работает для меня. Вероятно, вы забыли добавить ракурс ускорения в свой проект (он находится в файле readme). – tahome
DIRAC - это прекрасно, но OpenAL с AL_PITCH также изменяет длину звука, который не идеален. DIRAC теперь является версией 3. В его библиотеку включен iPhone Demo. – Tibidabo