Как стать автором
Обновить

Speach Converter, или iPhone может говорить другим голосом

Время на прочтение2 мин
Количество просмотров551
Вообще-то официальное название этой разработки звучит так:

Realtime изменения и модуляция голоса в аппаратах iPhone 3G S



Предыстория — в нашей компании (iTec Group, www.itecgroup.by) есть отдел R&D (Research and Development), который занимается всякими исследованиями, изысканиями и даже временами получает интересные практические результаты.

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

iPhone – это, с точки зрения работы со звуком, устройство, на котором существуют три различные платформы для работы со звуком (Core Audio, Celestial и Audio Toolbox).

Core Audio из перечисленных является наиболее низкоуровневой, и в тоже время наименее доступной. Именно она предоставляет прямой интерфейс к звуковому устройству iPhone. Core Audio не позволяет никакому иному приложению, кроме демона mediaserverd получить доступ к устройству вывода звука.

Платформа Celestial – платформа, основной целью которой является запись и воспроизведение звуковых и музыкальных файлов, данная платформа ориентирована на предоставления данных в одном из форматов. Так, не возможно применение данной платформы для работы с цифровым потоком (не обработанный выходной канал звука ).

Платформа Audio Toolbox является весьма новой, кроме того данная платформа доступна не только в iPhone но и в настольных системах под управлением Mac OS Leopard. Казалось бы что данная низкоуровневая платформа – именно то что и необходимо для решения нашей задачи, однако не смотря на свою хорошую документацию доступную в SDK.

Решение задачи виделось в создании программы, содержащей два потока. Первый инициировал вызов, точнее говоря, запускал программу для вызова абонента, другой же должен был перехватывать данные, поступающие с микрофона, и обработывать их для изменения голосового потока. Но перхватить поток нельзя; его можно лишь получить, а после получения и обработки нет возможности подменить им исходный.
Если бы была возможность получить адрес буфера, в который программа вызова помещает данные для передачи, то была бы возможность их затереть новыми данными, но данный адрес не известен.

Изучение возможностей изменения акустических характеристик голоса



Непосредственные исследования не проводились, связанно это в первую очередь с тем, что исследования в предыдущем пункте зашли в тупик. Однако стоит отметить, что рынок программных продуктов изобилует программными решениями, которые в режиме реального времени позволяют изменять характеристики голоса. В качестве типичных представителей можно отметить следующие программные продукты Sonic Vox, Voice Changer и другие.

Вывод по результатам изучения



Несмотря на, казалось бы, такой пессимистический вывод о невозможности создания подобного программного продукта, следует сказать, что в случае взлома iPhone данная задача может быть теоретически перенесена в разряд решаемых.
Теги:
Хабы:
+1
Комментарии2

Публикации