Поговорим с компьютером о...
Дата публикации: 07/11/2009А неважно о чем мы будем говорить, потому что предметом нашего сегодняшнего разговора будет сам разговор! А точнее, мы поговорим о компьютерном синтезе речи, тем более что для этого есть небольшой повод. Но начнем мы с небольшой предыстории.
Проблема синтеза речи наряду с ее распознаванием до сих пор хорошо не решена и, скорее всего, прогресс в этой области будет идти эволюционно и мелкими шажками. Сегодня у меня есть возможность оценить прогресс в этой области - по крайней мере с тем, что было лет 10-15 назад, когда я впервые попробовал подобную программу. На бытовом уровне простейшие синтезаторы речи встраиваются даже в операционные системы, но качество синтеза, мягко говоря, все еще заставляет желать лучшего. В Microsoft Windows встроенный голос системы ниже всякой критики и на естественность даже не претендует. В Mac OX X входящий в состав системы синтезатор речи на порядок лучше и для английского языка звучит уже вполне хорошо.
Как вы понимаете, с русским языком ситуация сильно хуже, чем с английским. Во-первых, фонетика и грамматика русского языка совершенно другие, чем у английского, французского и итальянского, которые соответственно лучше изучены. Во-вторых, русские голоса, которые представляют собой большие базы данных фонем, встречаются гораздо реже.
Тем не менее, прогресс в синтезе речи есть и целый ряд компаний специализируется в данном направлении, включая отечественные. Буквально пару дней назад я решил оценить прогресс в этой области. Началось все с того, что я захотел найти и поставить русский голос под Mac OS X, т.к. на уровне системы поддержка голоса очень хорошая. Это включает в себя, например, встроенные сервисы по чтению любого выделенного фрагмента текста или озвучивание интерфейса программы - т.н. технология "VoiceOver". Некоторое время назад я описывал выпущенный Apple "iPod Shuffle", в основе управления которым лежит данная технология. Из постоянно используемых мною возможностей по синтезу речи это, пожалуй, произнесение Mac-ом времени каждый час, но хотелось немного большего.
Через некоторое, не очень впрочем большое время, я обнаружил два русских голоса - оба коммерческие, но один из них можно было поставить в качестве системного голоса Mac OS X и главное - его можно было попробовать в течение 30 дней. Для моих целей этого вполне хватало, тем более последующее тестирование показало, что я не готов оставить этот голос на постоянную прописку.
Программа для синтеза речи, которую я попробовал, создана компанией AssistiveWare и называется "InfoVox", а голос - компанией Acapela, которая на этом специализируются. Я еще помню, каким был синтезированный голос раньше, и должен сказать, что прогресс явно на лицо. Чтобы не быть голословным, я приглашаю всех непосредственно на страничкy с примерами голосов на сайте Acapela, где можно оценить качество речи и даже попробовать озвучить свой собственный текст. С точки зрения фонетики, произношение уже очень-очень близко к естественному, но этого явно недостаточно и заметно сразу, как только пытаешься начать работать с большими текстами. Есть проблемы с правильными ударениями и произношением некоторых слов, поэтому более-менее большой фрагмент слушать достаточно забавно, но, повторюсь, прогресс очень заметный.
Правильное произношение фраз явно завязано на фонетической базе и грамматических правилах. В этой области еще остается достаточно много проблем, т.к. разговорный язык - это действительно сложно. Ведь мы сами по-разному произносим те или иные слова - в зависимости от контекста или нашего настроения, к примеру. Я уже не говорю о словах, которые пишутся одинаково, но обозначают разное. И особенно большие проблемы наблюдаются с интонацией.
В некоторых случаях пользователь может вмешаться и подкорректировать произношение того или иного слова. Для этого в комплекте с языком идет специальный редактор, где можно используя фонемы, указать правильное произношение слова. Сами фонемы представлены латинскими буквами и их сочетаниями. Требуется достаточно много практики, чтобы хоть что-то скорректировать. У меня этого так и не получилось, правда, и времени я на это потратил немного.
Что интересно, все компьютерные голоса называют человеческими именами на том языке, на котором говорит синтезатор. Русский голос, с которым я экспериментировал, имел имя Алена, а еще один, испытать который я не смог, звался Катериной :). На качество и естественность речи большое влияние имеет размер фонемной база. Голос Алены имел размер 328Мб и это не предел - я слышал о голосах, которые занимают до 6 гигабайт и естественность речи там почти не отличима от обычного человека.
Несмотря на то, что полнофункциональный синтез речи по произвольному тексту еще не достиг идеала, в ряде прикладных областей синтез речи используется достаточно широко. В первую очередь это, конечно, различные автоинформаторы, либо те приложения в которых применяется ограниченный словарный запас. В операционных системах синтез речи также используется в помощь людям с ограниченными способностями - для них это может быть единственным средством связи с внешним миром.
Я экспериментировал с версией программы для Mac OS X, но существует также пробная версия и для Windows XP/Vista, так что желающие могут поэкспериментировать и под этой системой. В качестве возможных практических дополнительных областей применения синтеза речи, кроме ранее озвученной возможности читать текст, можно назвать создание аудиокниг из обычных текстов или, например, из RSS-ленты.
Ну и немного об отечественных разработчиках, о которых я упомянул в начале статьи. Синтезом речи в России занимается Центр Речевых Технологий. К сожалению, скачать демо-версию их движка нельзя, но прослушать синтезированный голос и сравнить его с вышеописанными вполне возможно. Вот на этой страничке можно прочитать о технологии синтеза живой русской речи под названием "VitalVoice". Субъективно произношение не хуже, чем у Алены.