Я создаю приложение для iPhone, в котором, когда я звоню кому-либо, я могу изменять высоту голоса в режиме реального времени.
Так для чего какую фреймворк или какую-либо стороннюю библиотеку я должен использовать?
Спасибо, Сунил.
Если мы хотим изменить сердцевину звука, наиболее естественным выглядит преобразование небольших звуковых сегментов в частотную область с использованием БПФ, затем смещение частотного распределения и возврат во временную область с использованием обратного БПФ. Да, это работает, но, к сожалению, алгоритмы такого рода слишком много времени для iPhone. Но есть и другая группа SOLA-подобных алгоритмов, их самые простые версии могут быть реализованы на iPhone. Перейдите по ссылкам для библиотек и дополнительной информации:
http://www.dspdimension.com/admin/time-pitch-overview http://www.surina.net/soundtouch/index.html#download http://www.guitarpitchshifter.com/algorithm.html
Для речи ваш лучший выбор, вероятно, это реализация PSOLA . Это позволяет сдвигать высоту тона и / или сжимать / расширять время. Вы можете реализовать его самостоятельно (это довольно просто, если вы знакомы с DSP и т. Д.) Или Google для реализации с открытым исходным кодом.