На каком языке заговорит ваш компьютер?

На каком языке заговорит ваш компьютер? На рынке программных синтезаторов человеческой речи за последний год произошли значительные перестановки — определился новый лидер, появились версии с очень качественным звучанием голоса для ряда западных языков, изменилась ценовая политика позиционирования подобных систем для конечных пользователей и пользователей SDK. Ситуация осталась прежней лишь в одном — не увеличилось число разработчиков синтеза русской речи и, соответственно, качество синтеза именно русского языка сильных изменений не претерпело. Дабы не быть голословным, хочу предложить вашему вниманию сравнительную характеристику двух наиболее популярных у нас систем синтеза речи, поддерживающих русский язык, — Elan Speech Cube версии 3.100 и Sakrament Text-to-Speech v.2.0.

Получить данные версии для тестирования оказалось не совсем просто, поскольку французская компания Elan Informatique предоставила ссылку на скачиваемый инсталляционный файл лишь после того, как я под видом потенциального клиента отправил им официальный запрос на тестирование их синтеза. С белорусской компанией Sakrament оказалось договориться еще сложнее — демо-версии синтеза на сайте не оказалось и мне пришлось потратить немало времени на email-переписку, прежде чем удалось получить Sakrament TTS v.2.0.
Для проверки систем синтеза речи компаний Elan и "Сакрамент" использовалась программа TTSApp из комплекта SAPI 5.1. Тестирование проводилось на компьютере с процессором Celeron 1 GHz, 256 Mb оперативной памяти, звуковой картой Creative Sound Blaster Live! 5.1 и с установленной операционной системой Win2000 SP2.
При установке Elan Speech Cube был выбран наиболее полный вариант — Custom Server Installation. Сразу хочу заметить, что документация, поставляемая в комплекте Elan Speech Cube, весьма скудная, и даже поход на сайт www.elan.fr новых сведений о движке не прибавил. В ходе тестирования и кропотливого сбора информации из всевозможных источников было выяснено, что внутренняя архитектура движка построена на основе SAPI 3.0 и собственных разработок Elan. Судя по тому, что о совместимости с SAPI 3.0 ни на сайте, ни в документации не заявлено, то, скорее всего, он и не поддерживается. Проверить это не получилось, так как SAPI 3.0 устарел, да и инструментария для работы с ним уже нет.
Поддержка SAPI 4 и SAPI 5 делалась не на уровне ядра движка, а в виде дополнительного промежуточного уровня обработки, на котором вызовы SAPI преобразовываются в вызовы функций внутреннего API и наоборот.
Из-за этого большую часть функциональности SAPI разработчикам из Elan Informatique пришлось делать вручную. SAPI 5.1 поддерживается не полностью — по результатам Microsoft Compliance Tool только 15 тестов из 25 были пройдены, а дополнительная проверка показала, что и среди этих 15-ти не все выполнены честно.
После инсталляции Elan Speech Cube выяснилось, что поддержки русского языка нет, хотя в документации он упоминается, поэтому пришлось взяться за тестирование английского языка. На 8 КГц, по сравнению с аналогичным движком от компании Microsoft, речь звучит более ровно и гладко, но все равно достаточно трудно уловить границы слов и нечетко выговариваются окончания. На 22 КГц картина радикально меняется — речь Microsoft'овского движка звучит более разборчиво и естественнее, а у Elan на 22 КГц звучание искажается за счет призвуков и фонового звона.
Sakrament text-to-speech engine v.2.0 построен по модульному принципу: каждый модуль независим от других и может использоваться в других системах синтеза речи или программах лингвистической обработки текстов. Он полностью соответствует стандарту построения модулей синтеза речи Microsoft Speech API (SAPI) 5.1, поэтому совместим со всеми приложениями, использующими этот протокол.
По утверждению разработчиков синтеза речи Sakrament text-to-speech engine v.2.0, его программный код независим как от синтезируемого языка, так и от синтезируемого голоса.
Рабочий язык задается посредством правил в конфигурационных файлах, а голос определяется текущей аллофонной базой, которая может быть создана по образцам голоса заказчика. В базовой комплектации 3 голоса: два мужских и женский, а также предусмотрена возможность создания акцентов — совместное использование лингвистического модуля для одного языка и аллофонной базы для другого языка.
Очень сильно порадовал Sakrament text-to-speech engine v.2.0 возможностью поддержки работы с телефонными линиями (TAPI 3) и широкими возможностями управления синтезируемой речью (позволяет задавать просодические контуры интонации, громкости, темпа и высоты тона голоса). При тестировании система синтеза речи от компании "Сакрамент", кроме обычного текста, правильно обрабатывала числа, время, даты, цифровые комбинации, URL, e-mail, индексы, адреса, телефоны, сокращения и аббревиатуры.
Результаты тестирования вынесены в отдельную таблицу, и они еще раз подтвердили лично мое убеждение в том, что при подборе синтезатора речи следует отталкиваться прежде всего от того, какой язык планируется к использованию. Если нужен синтез русского языка, следует обращать внимание именно на отечественных разработчиков. Если вам нужен английский язык, обращайтесь к западным разработчикам (компания AT&T Labs, например, выпустила совсем недавно очень качественный синтез для английского и ряда европейских языков).




Elan Speech Cube

Sakrament TTS engine

ОС

NT4, Win2000, WinXP,

Linux, Solaris

Win98, NT4, Win2000, WinXP

Потребление ресурсов (на Celeron 1000, Win2000)

< 10%, 9..10 Mb

< 10%, 22 Mb

Поддерживаемые API

ELAN NSC API (не проверялся)

Microsoft SAPI 4.0 (не проверялся)

Microsoft SAPI 5.0 (неполное соответствие — работает только базовая функциональность. Отдельные функции реализованы не полностью или реализованы неверно.)

Microsoft SAPI 5.1


На данный момент еще не полное соответствие. В ближайшее время — полная совместимость. Но и сейчас функций реализовано больше и реализованы качественнее, чем у Elan.

Поддерживаемые языки

American English, British English, German, French, Castilian Spanish, Italian, Dutch, Polish, Brazilian, Portuguese, Spanish.

Русский не поддерживается. Nicolai — это старая версия. В новой (поддерживащей SAPI 5.1) версии его нет.

Русский

Языки, из которых можно вызывать функции движка

С, С++, VB, Delphi, Java (сведения из документации на Speech Cube)

Любые, в т.ч. С, С++, C#, VB, Delphi, Java, VBScript, JScript, Pascal, Small Talk, Ada и другие

Входной текст

Неограниченный словарь, неограниченный размер, простой текст, текст с фонетической и просодической разметкой.

Неограниченный словарь, неограниченный размер, простой текст, текст с фонетической и просодической разметкой. Текстовые файлы в win-1251 кодировке.

Нормализация текста

Дата, время, денежные единицы, единицы измерения, аббревиатуры и исключения.

Дата (8 форматов), время (2 формата), числа (5 форматов), телефонные номера, денежные единицы, URL, e-mail, почтовые адреса.

Принцип работы

Конкатенация дифонов.

Смешанный дифонно-аллофонный (более естественное звучание)

Родная частота дискретизации

8 КГц

22 КГц

Работа с телефонными линиями

Поддерживается (не проверялось)

Полностью прозрачная поддержка — работают все функции.

Масштабируемость на многопроцессорных системах

За счет организации собственного управляющего сервера. Ограниченная многопоточность.

Линейная. За счет средств системы. Полная многопоточность.

Поддержка визем

Заявлена только для американского английского. Тесты не прошли.

Есть.

Сообщение о читаемой в данный момент фонеме

Не поддерживается.

Есть.

Работа с лексиконом

Заявлена, но тесты не прошли.

Нет.

Фонемное задание текста

Заявлено, но тесты не прошли.

Есть.

Произнесение текста в режиме телеграммы. Тэг <Spell>

Не поддерживается.

Есть.

Изменение скорости чтения

Реализована частично. Не работает задание скорости чтения через тэг <Rate>

Есть. Реализована полностью.

Перемотка по читаемому тексту (функция skip)

Не поддерживается.

Есть.

Функция bookmark

Реализована частично. Не поддерживаются текстовые закладки.

Есть. Реализована полностью.

Функция интонационного выделения текста (emph)

Не поддерживается.

Нет.

Функция задания языка (lang)

Не поддерживается.

Есть.

Функция выбора активного голоса для синтеза речи (voice)

Не поддерживается

Есть.

Функция изменения громкости (volume)

Не поддерживается.

Есть. Реализовано полностью.

Автоматическое определение языка читаемого текста

Заявлено. Средствами SAPI не реализуется. Чтобы использовать эту возможность в своей программе, пользователю нужно общаться с Elan Speech Cube в обход SAPI.

Нет.
Станислав Трошкин forfavor@mail.ru


Компьютерная газета. Статья была опубликована в номере 23 за 2002 год в рубрике hard :: мультимедиа

©1997-2024 Компьютерная газета