2010-12-16 3 views
9

Я разрабатываю приложение iphone, которое записывает голос пользователя и меняет его на женский голос like (TALKING TOM и iHOBO). Я новичок в манипуляции с аудио. Пожалуйста, скажите мне, какой api требуется для этого? Могу ли я реализовать эту функцию с помощью iphone sdk apis? Есть ли какой-либо открытый источник для реализации этой функции? Есть ли какой-нибудь учебник, регулирующий это?iPhone voice changer

Спасибо Advace

ответ

10

Нет встроенных API iOS, которые будут выполнять независимую модификацию времени.

Существует открытый код, который реализует растяжение по времени в Audacity, но я не знаю, был ли этот код перенесен на iOS. То же самое с SoundTouch.

На сайте DSP Dimensions имеется T ime-Pitch Stretch Tutorial.

Обновление: В конце 2012 года аудиоканал kAudioUnitSubType_NewTimePitch был включен и выпущен в релиз iOS 6, поэтому теперь вы можете реализовать (независимую модификацию изменения времени) с помощью iOS API. Подробнее см. Apple's developer documentation.

+0

Большое спасибо за руководство мной. – rat 2010-12-17 04:21:17

5

Посмотрите на Dirac. Это бесплатно, хотя и не бесплатное программное обеспечение.

4

отличная ссылка для скачивания образца кода, который предоставляет все ваши потребности, here также ссылается на here, чтобы получить больше знаний о вашем вопросе.

В методе инициализации Образца кода из HelloWorldLayer.mm, и можно увидеть три значения с плавающей точкой, как

time  = 0.7; 
pitch  = 0.8; 
formant = pow(2., 0./12.); 

просто изменить значение шага до 1,9, это было бы действительно хороший звук кота !!!

+1

, но он лишь фиксирует голос в течение нескольких секунд, если пользователь говорит за 15 минут ....... или более – 2012-05-29 11:18:30

+2

@aloksinha Определите свои значения в #define AUDIOMONITOR_THRESHOLD 0.01 #define MAX_SILENCETIME 0.8 и удалите "[stop audioonitor" в "if (audioMonitorResults> AUDIOMONITOR_THRESHOLD)" loop on "- (void) monitorAudioController: (ccTime) dt" метод ... Он будет работать ... :) теперь вы можете записывать в течение долгого времени n воспроизводить его .. – 2012-05-29 20:16:21