Говорящий компьютер

Как вы уже, наверное, знаете, этот номер «МБ» посвящён синтезу речи. О теоретических основах сего технического чуда и об его истории вы уже узнали. Пришло время практических занятий.

Надо пояснить, что темой синтеза речи я занимаюсь довольно давно. Началось всё с того, что в один прекрасный момент ко мне обратились мои друзья по несчастью — люди с ограниченными возможностями. Проблема была в том, что из-за сильных непроизвольных движений (например, при ДЦП) человек не мог сосредоточить взгляд на мониторе, и из-за этого полноценной работы на компьютере у него не получалось. Меня спросили: нельзя ли найти какой-то выход из ситуации? А поскольку мне были знакомы методы работы с компьютером слабовидящих людей, я очень быстро смог предложить друзьям несколько вариантов решения проблемы. Большинство из них оказалось вполне жизнеспособно.
Стоит добавить также, что в моих изысканиях на эту тему немалую роль сыграла известная поговорка: «Лень — двигатель прогресса». Всё дело в том, что я очень люблю читать. А где берёт книги истинный компьютерщик? Правильно — в Интернете. Читает он их, соответственно, с монитора. А вот этого я никогда не любил (с появлением ЖК-монитора ситуация, впрочем, несколько изменилась). Я вспомнил, как в глубоком детстве мне читала книги бабушка. Заманчивая перспектива просто сидеть и слушать книги заставила меня проработать все доступные варианты. Можно сказать, результатами я весьма доволен — и поделюсь с уважаемыми читателями «МБ» способами сделать жизнь чуточку комфортней.

Трудности общения
Наша всесильная и всезнающая наука утверждает, что 80–85% информации человек получает с помощью зрения, и лишь 15-20% — через слух, обоняние и осязание, вместе взятые. В самом деле, попробуйте хотя бы на час завязать глаза и проделать элементарную домашнюю работу. Уверяю, что у вас ничего не получится. Поэтому, когда в мире наступила компьютерная эпоха, были выбраны именно визуальные средства взаимодействия человека и машины. Вначале это были печатающие устройства, на которые выводились результаты вычислений, затем — различные типы мониторов. Появились текстовые и графические интерфейсы, упрощающие такое общение. Но разработчики вычислительной техники помнили, что вторым по важности способом получения информации для человека является слух. По мере развития технологий они делали (и делают) попытки реализации таких интерфейсов. Данную тему разделяют на две составные части: распознавание речи и её синтез. Они естественным образом дополняют друг друга, и для их реализации требуются усилия не только специалистов-компьютерщиков, но и математиков, лингвистов, биологов и даже психологов. Коротко замечу, что первые попытки создания голосовых интерфейсов были предприняты ещё в семидесятые годы прошлого столетия, когда на Западе и в СССР были написаны программы для больших ЭВМ, обеспечивающие некоторые голосовые функции. Но долгое время вопрос представлял больше академический интерес. Некий практический смысл таких возможностей в то время проявился при создании различных систем автопилотов и курсопрокладчиков. Но применяемые там технологии были далеки от современных методик. Развитие персональных компьютеров подогрело интерес к этой области кибернетики. Однако и тут разработчиков ждали неприятные сюрпризы. Слабая элементная база, маломощные процессоры «персоналок» не позволяли производить необходимые вычисления. И только когда наши PC обрели достаточную вычислительную мощь, дело пошло веселее.

Великий немой?
Вначале определимся, что же мы хотим получить. Во-первых — чтение произвольных текстов. Во-вторых, озвучивание веб-страниц. И в-третьих, озвучивание «аськи». Вы спросите: а можно ли озвучить весь интерфейс Windows? Теоретически можно. Но на практике это не совсем удобно и представляет интерес лишь в некоторых случаях. Заинтересовавшимся данной темой рекомендую ознакомиться в Интернете с системой JAWS, предназначенной в первую очередь для слабовидящих людей.
Для того чтобы наш «немой» компьютер заговорил, желательно наличие на нём Windows 2000/XP/Vista (у автора статьи установлена Windows XP SP3). Эти ОС выбраны потому, что в них имеется возможность использовать MS SAPI (Microsoft Speech API) — специальный голосовой интерфейс, некое подобие универсального драйвера синтеза речи. Интересно, что практически во всех материалах на данную тему утверждается, что SAPI уже входит в состав Windows XP, хотя это не совсем верно. В операционной системе находится лишь программная «заглушка», и реальной пользы от неё нет. Чтобы система могла использовать голосовой интерфейс, его надо установить. Замечу, что имеются две версии интерфейса — 4-я и 5-я. Их можно бесплатно скачать по адресу www.microsoft.com. Не вдаваясь в подробности, скажу, что установить стоит сразу обе — дабы меньше было проблем.
После установки этого необходимого компонента системы переходим к выбору голосового движка Text-to-speech engine (TTS) — собственно голоса нашего компьютера. От того, насколько качественным окажется этот движок, во многом будет зависеть, понравится вам вся эта затея или нет. И вот тут выбрать есть из чего. Рассмотрим основных кандидатов.

Птица Говорун отличается...
Первым в списке идёт достаточно широко известный движок L&H TTS 3000 Russian, разработанный Lernout&Hauspie. Он представлен двумя голосами — мужским (Boris) и женским (Svetlana). Качество синтеза русской речи весьма посредственное, с очень заметным «электронным» акцентом. Зато этот движок совместим со многими программами синтеза речи. C некоторых пор права на данный движок принадлежат компании Nuance Communications, известной по разработанной в её недрах программе распознавания речи Dragon Dictate. На сегодняшний день, однако, поддержка движка L&H TTS 3000 Russian прекращена.
Ещё один известный движок — ScanSoft RealSpeak Russian Voice (Katerina), разработанный компанией ScanSoft, также был куплен (и, естественно, тоже положен под сукно!) всё той же Nuance Communications. На мой взгляд, качество синтеза у него весьма неплохое. Правда, разработчики допустили странную недоработку (а может, это прикол такой): «голос по умолчанию» весьма похож на голос алкоголички со стажем. Для устранения данного эффекта существует специальный патч.
Следующий движок, который стоит вспомнить, — TTS Voice от компании ElecGeste, давно заброшенная разработка с мужским роботоподобным голосом. В настоящее время его создатели занимаются разработкой систем для незрячих людей, и на их сайте никаких данных о былом детище нет.
Переходим к вещам более актуальным. Среди таковых на первом месте (по порядку, но не по значимости), безусловно, стоит Sakrament TTS Engine от белорусской компании Sakrament — одного из лидеров на рынке ПО для озвучивания.
Русская версия Sakrament TalkerPro v. 3.0 — это не только движок, а целый набор продуктов, включая специальный текстовый просмотрщик, понимающий различные форматы и кодировки. С его помощью можно озвучивать различные документы, задавая разные параметры голосов, и записывать результат в аудиофайл. В комплект входит также фонетический редактор — можно самостоятельно составлять базу произношений и ударений. Стандартная поставка включает в себя мужской (Вячеслав) и два женских голоса (Ольга и Ирина), весьма приличного качества. Несомненно, это одна из лучших разработок в данной области. Обидно, что у продукта нет демо-версии и его нельзя предварительно оценить.
Один из самых популярных голосовых движков последних лет был выпущен первоначально под названием Digalo 2000 Nicolai TTS. А в 2006 году увидела свет улучшенная версия «Николая» — Acapela Elan Speech Cube Telecom RUS. Дело в том, что права на эту разработку принадлежат французской компании Digalo, но создана она была в 2003 году одной из старейших компаний, работающих в области обработки речи — Acapela.
За три года ядро движка существенно не изменилось. Качество произношения можно оценить как среднее. На длинных и составных словах движок может сбоить. Из достоинств отмечу широкий частотный диапазон: можно изобразить голоса как юноши, так и седовласого старца. Рекомендую к ограниченному применению.
А завершает наш беглый обзор Acapela HQ TTS RUS (Alyona) — новейший движок от Acapela, бьющий старичка «Николашку» по всем статьям. Полностью переработан алгоритм, по качеству синтеза напоминающий «Катерину» (но с более приятными интонациями) и лучше соблюдающий правила фонетики. Он был бы очень хорошим выбором, если бы не одно обстоятельство — как и в случае с Sacrament, на сайте нет демо-версии. Мне кажется, это большая ошибка разработчиков.

Коротко о главном
Что же выбрать? Во-первых, обратите внимание на движок «Алёна» от Acapela. Почти дикторский женский голос, синтезируемый этим качественным и профессиональным продуктом с широкими возможностями, понравится, я уверен, многим. Следующим кандидатом будет Sakrament TalkerPro. Замыкают хит-парад «Катерина» с «Николаем» — в плане эмоциональной окраски они уступают лидерам, но, возможно, кому-то и понравятся. По крайней мере, отвращения они у меня не вызвали.
В систему можно устанавливать сразу несколько голосовых движков и использовать с разными программами разные голоса.
Также стоит отметить, что совместно с голосовыми движками можно (и нужно!) использовать так называемые фонетические словари — специальные базы данных, где указано, по каким правилам (ударение, интонация) произносится то или иное слово. В этом случае синтезированная речь максимально приближается к живой. На сайте mytts.forum2x2.ru собрано огромное количество материалов по данной тематике.
Поздравляю! Теперь ваш компьютер имеет свой голос. Но сам по себе движок — это некое подобие драйвера, непосредственно воспроизводить речь он не может. Зато возможностями, которые он предоставляет, пользуются различные полезные программы. Некоторые из них мы сейчас рассмотрим.

Говорящая книга
Программа Cool Reader 2 от нашего соотечественника Вадима Лопатина (coolreader.org, Freeware) очень удобна для чтения электронных книг. Для тех, кому приходится читать большой объём текста с экрана, просто незаменима. Оптимизирована для чтения художественной литературы. Понимает форматы html, rtf, doc (MS Word), txt, fb2. Распознает кодировки Dos, Win, KOI-8, latin, utf-8, Unicode
автоматически и правильно. Распаковывает и читает книги из архивов ZIP, RAR, ARJ, HA, LZH, что позволяет значительно сэкономить место на носителях информации. Благодаря переформатированию текста под любой размер шрифта, сглаживанию экранных шрифтов, полностью настраиваемой палитре и плавному скроллингу при чтении с экрана монитора меньше устают глаза. А главное — в этой программе реализована функция чтения вслух (с использованием голосового интерфейса MS SAPI 4/5 и любых подключенных к нему голосовых движков). Отдельно можно подключить и необходимые фонетические словари, что максимально приближает такого «чтеца» к его естественному аналогу. Полученную таким образом аудиокнигу можно сохранить в формате MP3.

Говорящая «аська»
Ещё одна отечественная разработка — программа sSpeak (softq.org, Freeware). C её помощью я реализовал одну из самых интересных и полезных функций своего компьютера — озвучивание входящих сообщений «аськи». Теперь я могу, занимаясь своими текущими делами и не подходя к монитору, услышать, что пишут мне собеседники. А добавляется такое удобство очень просто.
С сайта www.qip.ru скачиваем, устанавливаем и настраиваем ICQ-клиент QIP Infium последней версии. Далее скачиваем для него уже упомянутую плагин-говорилку sSpeak. Распаковываем файл sSpeak.dll в qip\Plugins\sSpeak (если вы используете версию для SAPI 5 — то, соответственно, файл sSpeak5.dll в qip\Plugins\sSpeak5). Открываем диалог настройки плагина в QIP –> главное меню –> Настройки –> Модули. Выбираем нужный голосовой движок и настраиваем параметры скорости чтения, интонацию, затем нажимаем «Save». После этого ваши собеседники заговорят с вами. Жаль только, что не своими голосами…
Кроме того, программа произносит ник приславшего сообщение, а также обрабатывает смайлики (правда, не все), проговаривая смысловой эквивалент. Вдобавок настраивается игнорирование сообщений ботов и спама.
Очень жаль, что автор плагина забросил проект. Если вам понравился плагин — напишите автору. Возможно, он возобновит разработку этой во всех отношениях полезной программы.

Говорящий браузер
Как это ни печально, но очень трудно найти браузер, который бы мог читать web-странички на русском языке (Opera, увы, пока с «великим и могучим» не дружит). Едва ли не единственная программа такого рода — Fast Browser Pro (www.fastbrowser.net, Freeware). Работает она на движке Trident (IE) и сама по себе весьма неплоха (по внешнему виду и функциональности очень напоминает Maxton): есть вкладки, русский язык интерфейса, обширные настройки.
А вот к функции чтения вслух, ради которой эта программа и была установлена, увы, замечания существенные. Работает она почему-то только с движками от Microsoft — и только совместно с модулем MS Agent. Громадным минусом такого подхода является малый выбор голосов озвучки. Те, что есть, настолько отвратительного качества, что после них «Николай» покажется вам оперной звездой. Но, к сожалению, выбирать не из чего. Остается пожелать разработчикам вспомнить, что спецификация SAPI позволяет использовать любой установленный движок.

Заключение
Признаюсь — эту статью я писал довольно долго. Мне хотелось в сравнительно небольшой объём уместить как можно больше информации по данной теме. Поместилось не всё, но теперь вы можете ориентироваться в этом вопросе.
Кроме того, у меня большая просьба к вам, уважаемые читатели. Если у вас в семье или среди знакомых есть люди с ограниченными возможностями, которым может помочь эта статья, — ознакомьте их с нею. Может быть, она хоть немного облегчит их жизнь… Также вы можете связаться со мной (координаты — в редакции). Чтобы не насиловать ваш мозг очередной порцией непонятных построений из теории программирования, я решил предложить вам для практической реализации довольно тривиальную задачу — создание словаря. Я акцентирую внимание именно на сортировке слов, остальные моменты — импорт/экспорт базы словаря, поиск по словам и проч. — вы можете при желании сделать сами и подготовить неплохой мини-словарик (зачем — уже другой вопрос).


Рекомендуем почитать: