Изменение голоса во время телефонного звонка

Я хочу сделать приложение для Android, которое позволяет пользователю изменять голос во время телефонного звонка. Например: вы мужчина, вы можете изменить голос женщины или робота, когда разговариваете по телефону. Это как забавная шутка.

Я работаю над API Android и Google в течение нескольких дней, но до сих пор не знаю. Кто-то сказал это невозможно, но я вижу, что какое-то приложение в Google Play может делать: https://play.google.com/store/apps/details?id=com.gridmob.android.funnycall Поэтому я думаю, что есть некоторые способы сделать это.

Я думаю о записи и воспроизведении с помощью AudioTracker, но у меня есть 2 проблемы: 1. Я не могу отключить голос от телефонного звонка, поэтому телефон воспроизводит только звук после обработки 2. Запись и обработка сделают длинную задержку (медленное время реального времени)

Может ли кто-нибудь поделиться некоторым решением для этого?

Ответ 1

Приложение, с которым вы связаны, не меняет голоса на телефоне: он использует SIP (или аналогичный), чтобы поместить вызов через серверы авторов, и там происходит изменение голоса. Вот почему вы получаете только небольшое количество бесплатных минут использования, прежде чем вы их будете платить.

Ответ 2

Да, для этого процесса используется сервер sip. Причина, по которой вы не можете создать приложение, которое делает это на телефоне, объясняется двумя вещами. Первое, что нужно сделать, - обработка звука для телефона заблокирована. Вы не можете разблокировать это, потому что его строго спроектировано через аппаратное обеспечение, а не программное обеспечение. Компьютер может сделать это, потому что он использует стандартную звуковую карту, в которой программное обеспечение может изменять свои частоты. Во-вторых, производители телефонов должны разрабатывать свои телефоны в стандартном формате. Существуют законы, которые заставляют эти компании сделать невозможным преобразование голоса. Это против закона выдавать себя за кого-то, кого нет, по любой телефонной сети.

Ответ 3

Жесткий путь

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

Меньше трудный путь

Обработка звука: изменение частот, амплитуды и т.д.