|
Если ваш родной язык не английский и вы не пишете приложения только для iPhone, то вам придётся достаточно трудно, если вы захотите найти подходящий инструментарий для разработки т.н. мобильных «voice-enabled» приложений. В данном обзоре приведена классификация и описаны самые достойные из рода mobile TTS engine[1]. Я занимаюсь исследованиями в области проектирования интерфейсов мобильных устройств для людей с ограниченными возможностями зрения. Для реализации одного из моих проектов мне потребовался движок генерации голоса с мультиязыковой поддержкой (как минимум два языка – английский и русский). Это и послужило причиной поиска синтезатора речи. Для удобства разделим движки TTS на три класса:
Коммерческие движкиSVOX Mobile TTS (http://www.svox.com/)
Компания SVOX имеет наиболее «вкусный» с технической точки зрения продукт —SVOX Mobile TTS. Однако, поскольку компания работает в основном в B2B сегменте, на мои два письма с запросом цены они так и не ответили. Acapela TTS (http://www.acapela-group.com/)
Сотрудники Acapela Group оказались намного более общительными и ответили буквально через полчаса после заполнения вотсоответствующей заявки. Цена, указанная в шапке, относится к таким операционным системам как Windows Mobile и Symbian, однако бизнес-модель Acapela разнится в зависимости от выбранной ОС. К примеру, наиболее сильно они продвигают направление iOS, для которого сделан отдельный сайтhttp://www.acapela-for-iphone.com/. Там можно зарегистрироваться и бесплатно получить evaluation версию их движка. Цена голого SDK для бывшей iPhone OS составляет 250€. Также с каждого проданного Вами в App Store приложения снимаются немалые проценты. Отмечу, что Acapela предоставляет «облачный» синтез речи, а также портирование SDK под любую платформу. Loquendo Embedded TTS (http://www.loquendo.com/)
Движок Loquendo обладает специальными тегами, позволяющими делать речь более естественной, подмешивая такие не совсем «речевые» фишки как кашель, смех и прочее. Их движок отвечает спецификацииSSML 1.0, рекомендованной W3C. Sakrament TTS (http://www.sakrament.com/)
Качества синтеза речи Sakrament TTS вполне достаточно, что бы озвучивать короткие фразы типа номеров телефонов или названий приложений.[2] Описание всех версий SDK можно получить по ссылке http://www.sakrament.com/main.php?TopId=30&Category=6. Свободные движкиFlite
В мире настольных систем хорошо известен синтезатор речи Festival. Он имеет порт под названиемFlite для мобильных устройств и встраиваемых систем, который распространяется под их собственной X11-like лицензией, позволяющей свободно распространять данное ПО кому угодно, а так же строить на его основе как коммерческие, так и свободные приложения. Существуютпорты для Windows CE / Windows Mobile,PalmOS, AndroidиiOS. eSpeak (http://espeak.sourceforge.net/)
Инструкция для компиляции движка под WM включена в дистрибутив, однако на этой платформе eSpeak имеет одно существенное ограничение – генерация голоса возможна только в WAV файл. Собранный TTS engine для Windows Mobile можно получить по ссылкеhttp://www.efficasoft.com/download/eSpeak-1.29-wm.cab). eSpeakпортирован на Android. Самый простой способ его попробовать — это установить из Android Market’а приложение TTS Service Extended, которое позволяет переключаться между встроенным движком и eSpeak. Данный TTS движок распространяется на условиях GNU GPL. Встроенные решенияВстроенные решения присутствуют только в Symbian и Android.[4]. По какой-то неизвестной причине Microsoft лишила свою мобильную ОС соответствующего программного интерфейса (MS SAPI). Symbian (http://www.symbian.org/)
Встроенный TTS от Symbian Foundation скрывается в классе CMdaAudioPlayerUtility. Хотяв его документации ничего об этом не сказано, он все же позволяет синтезировать речь (см.http://wiki.forum.nokia.com/index.php/Text_to_speech_in_Symbian_2nd_and_3rd_edition_phones. К сожалению, русский язык не поддерживается.[5]. Качество генерации английской речи очень низкое. Без подготовки довольно трудно понять, что именно он произнес. Дополнительные языковые пакеты можно загрузить по ссылке http://europe.nokia.com/support/download-software/text-to-speech, однако список поддерживаемых телефонов крайне мал. Установка пакетов для русского языка на устройство под управлением Symbian OS S60 5th не дала ожидаемых результатов, встроенный TTS так и не заговорил по-русски. Отмечу, что имеется достаточно удобное расширение API под названием NSS TTS Utility API, описание которого можно найти по ссылкеhttp://wiki.forum.nokia.com/index.php/CS001031_-_NSSTTS_Utility_API. Android (http://www.android.com/)
Встроенная функциональность синтеза речи в Android доступна с версии 1.6. Прекрасное введение в тему можно найтив блоге разработчиков. Android TTS API является не чем иным, как оберткой над SVOX Pico, русский язык, которым, к сожалению, не поддерживается. ЗаключениеВыводы каждому придется делать в зависимости от требований к разрабатываемому продукту. Для коммерческих решений крайне важно качество синтеза речи, поэтому выбирать стоит из двух движков – Acapela TTS и Loquendo Embedded TTS. При выборе движка для open source проекта крайне важную роль будет играть список целевых ОС. Лично для себя я выбрал eSpeak, поскольку мой проект академического толка и я могу себе позволить использование продукта лицензированного по GNU GPL. ПримечанияПриводимые ниже примечания не являются составной частью статьи. Мы сочли необходимым опубликовать их здесь, чтобы дополнить отдельные утверждения автора.
|
||||||||||
Распространение материалов сайта означает, что распространитель принял условия лицензионного соглашения. Идея и реализация: © Владимир Довыденков и Анатолий Камынин, 2004-2024 |
Социальные сети