Мы переехали!
Ищите наши новые материалы на SvobodaNews.ru.
Здесь хранятся только наши архивы (материалы, опубликованные до 16 января 2006 года)
23.12.2024
|
||||||||||||||||||
|
||||||||||||||||||
[22-01-02]
Ведущий Александр Костинский
Программы - синтезаторы речи
Владимир Воронько
На протяжении нескольких десятилетий ведутся разработки компьютерных программ распознавания речи. Часто гораздо удобнее диктовать тексты и отдавать команды, чем стучать по клавиатуре. В некоторых ситуациях, например за рулем автомобиля, такой способ общения с цифровыми устройствами наиболее безопасен. А для множества незрячих людей или людей со значительно ослабленным зрением - это вообще единственная возможность общаться с компьютером. Но ведь для общения нужно еще слышать ответ машины. Поэтому хороший речевой интерфейс должен не только распознавать, но и синтезировать речь, то есть - говорить. Вывод речи из компьютера не менее важен, чем её ввод. Задачу в большинстве случаев не удается решить, проигрывая целиком записанные диктором звуковые файлы, потому, что даже в простых случаях, вариантов фраз невообразимо много. Выход из положения - синтез, фактически, преобразование письменного текста в устную речь. Речевой синтез это новый канал связи между компьютером и человеком. Наиболее очевидные его применения - голосовое воспроизведение текстов, вплоть до озвучивания книг, и получение по телефону специальной развернутой информации, например, текста закона из базы данных. Что же должен уметь синтезатор речи? Обычно такие программы обозначают английской аббревиатурой TTS - Text-to-Speech, закрепляя в названии их главную роль - озвучивать печатный текст. Работая на радио, отметим: с этой, казалось бы простой, задачей не только компьютер, но и большинство людей справляются не всегда. Привычный нам текст содержит очень мало информации о том, как его нужно произносить. В одних языках вообще не записывают гласные звуки, в других - произношение очень сильно отличается от написания. В русском давно стало нормой букву "ё" записывать как "е", надеясь на понимание читателя. И почти во всех языках текст не содержит ударений, отчего, скажем, слово "зАмок", можно читать как "замОк", и понять, как правильно его произносить, можно только из контекста. Легче всего вопросы произношения решаются в синтезаторах с ограниченным словарем. Например, при озвучивании информации на вокзале, или в общественном транспорте, где диктор использует стандартные фразы вроде: «Поезд прибывает на вторую платформу» или «Следующая остановка - Планерная, конечная». Но развить этот принцип не удается. Из нескольких десятков слов, надиктованных диктором нельзя качественно склеить шаблонные фразы. Дело в том, что звучание слова меняется не только в зависимости от его места в предложении, но и под влиянием окружающих слов. В результате на стыках появится совершенно неправильная интонация. Поэтому в большинстве практических задач необходим универсальный синтезатор слов из отдельных звуков. Попытки конструирования синтезаторов начались давно. Еще в XVIII веке барон фон Кемпелен попробовал создать говорящую машину из нагнетающих воздух мехов, кожаной трубки и нескольких резонаторов, воспроизводящих некоторые звуки человеческой речи. Одним из первых компьютерных синтезаторов стал MI-Talk. Его в конце 60-х годов начали разрабатывать учёные Массачусетского Института Технологии. Это был успешный для своего времени проект, на основе которого сконструировали первую читающую машину для слепых. Пионером создания систем синтеза речи в Советском Союзе был в конце 70-х ученый из Минска Борис Лобанов. С начала 90-х под руководством Ольги Кривновой и Нины Зиновьевой этой задачей занимается Речевая группа филологического факультета МГУ, на филфаке Санкт-Петербургского Университета подобное направление возглавляет Лия Бондарко. Исследования ведутся уже десятки лет, простые программы-синтезаторы бесплатно прилагаются к некоторым аудио-картам компьютеров, но, несмотря на значительный прогресс, проблемы, обнаружившиеся в первые годы, до сих пор далеки от решения. Кратко расскажем, как работают современные программы. Получив введённый текст, синтезатор речи первым делом находит в нём так называемые "неправильно образованные слова". Это различные аббревиатуры, числа, даты и суммы денег. Чем богаче у синтезатора библиотека правил для такого анализа, тем лучше результат. Некоторые программы проводят проверку орфографии и исправляют найденные ошибки. Затем начинается лингвистический анализ. Каждому слову текста, чтобы правильно его произнести, нужно приписать цепочку звуков и найти ударный слог. То есть, определить правильное произношение. Результат такого анализа похож на запись в англо-русском словаре, где после каждого слова в квадратных скобках специальными значками обозначается, как его надо произносить. Это и есть фонетическая транскрипция. Составить её заранее для всех слов невозможно, поскольку их в живом языке больше миллиона, а каждое слово имеет не одну словоформу, нуждающуюся в собственной транскрипции, вдобавок постоянно появляются новые слова. Пока лучшие такие словари невелики. Они требуют огромной ручной работы лингвистов. С другой стороны, если бы сегодня удалось создать относительно полный словарь транскрипций, то даже для современных персональных компьютеров он оказался бы неподъемен. Таким образом, пока синтезаторы, от самых первых до современных, вынуждены проводить фонетический анализ "на лету", с помощью определённых правил. Проблемы с воспроизведением слов возникают даже в тех языках, где фонологическая система предельно упрощена и кажется, что каждому слову можно просто приписать цепочку звуков. Большинство же языков имеют сложные законы, которые, например, в английском языке, ещё и нерегулярны. Для правильного произношения не только английскому, но и русскому языку необходима фонетическая транскрипция, но для синтеза речи существующие принципы транскрибирования требуют значительного развития. После фонетического анализа требуется выполнить ещё несколько операций, чтобы, наконец, синтезировать человеческую речь. А сейчас мы послушаем что получается в результате. Это, был "мужской голос номер 1" синтезатора бельгийской компании "Lernout & Hauspie". Майкрософт инвестировала в эту фирму 45 миллионов долларов, и теперь синтезатор доступен для бесплатного скачивания с официального сайта Майкрософт. Бельгийский синтезатор говорящий по-русски, размером чуть больше 4-х Мбайт. К подобной речи можно привыкнуть, но все же её трудно назвать хорошей и дело не в том, что синтезатор сделан в Бельгии. К сожалению, синтез - настолько сложная технология, что российские разработки (идущие в основном в научных коллективах) очень редко доходят до стадии потребительской программы. В результате, если не считать специальных проектов для конкретных заказчиков - например операторов телефонной связи, отечественные синтезаторы появляются на свет крайне редко. До сих пор самой известной остаётся программа под названием "Говорящая мышь", первая версия которой была написана в 92 году "Клубом голосовых технологий МГУ". Сегодня в продаже можно найти 5-ю версию "Говорящей мыши", но по ряду причин она уступает западным аналогам. Среди серьёзных синтезаторов можно упомянуть разработку фирмы "Sacrament", созданную белорусскими программистами и учёными. У программы оригинальный интерфейс - она выполнена как плагин к самому известному музыкальному компьютерному проигрывателю - WinAmp, в результате чего после установки он начинает не только проигрывать музыку, но и проговаривать текстовые файлы. Бесплатно из Сети можно скачать упрощённую версию без нескольких важных настроек, но мы попросили авторов прислать аудиозапись небольшого текста, и можем услышать речь полной версии синтезатора "Sacrament". Послушаём тот же самый фрагмент новостей культуры. Вот так говорит "Sacrament". Его звучание, конечно, отличается от бельгийского образца, но качество синтеза на этом примере приблизительно такое же, хотя этот проект не пользовался многомиллионной поддержкой. Обе программы иногда ошибаются при расстановке ударений. Это - болезнь всех синтезаторов, поскольку выявить в русском языке чёткие правила ударения - серьезная лингвистическая проблема. И не только в русском языке. До начала разработки синтезаторов речи для английского языка вообще не были найдены регулярные правила ударения. Сейчас языковеды значительно продвинулись в понимании закономерностей расстановки ударений, но полностью избавиться от ошибок пока не удалось. Подчеркнем, что без учета ударения невозможно правильно озвучить слово. И дело не только в интенсивности произношения. В тех же словах зАмок и замОк буква «А» звучит по-разному. Фонетическая запись дополняется также сведениями о месте слова в предложении и знаках препинания. В результате на основе этих данных начинается сам синтез речи. Впрочем, если мы представим себе идеальный синтезатор, то он ещё должен определить интонацию, с которой надо произнести фразу. Эта характеристика живой речи, вместе с ритмом, тональностью и акцентами, называется просодией и содержит массу дополнительной информации. Более того, часто в устной речи интонация берет на себя роль основного организатора звукового потока. Вся наша речь окрашена эмоционально и для того, чтобы воспроизводить эту окраску, читая текст, надо, во-первых, этот текст понимать, а во-вторых, стараться передавать эмоции, чему долго учат, например, актёров, дикторов радио и телевидения. Но профессионалы знают, что большинство актеров не столько в точности имитируют голосом эмоциональные интонации человека, сколько дают знак слушателю, что испытывается именно это чувство. Реальные люди никогда не говорят так, как герои пьес и фильмов. Чудо человеческой речи в том, что без всякого обучения любой человек при разговоре правильно расставляет эмоциональные акценты Если правильно воспроизвести чужой текст - сложнейшая задача для подготовленного диктора, то программы пока с ней справляются слабо. В результате, синтезаторы произносят текст с очень бедной интонацией, обозначая паузы на точках и запятых. Еще одна трудность заключается в том, что человек делает паузы не только там, где стоят знаки препинания на письме, а многие знаки никак не связаны с произношением. Интонация бедная, но она есть. Синтезатор речевой группы МГУ. Когда синтезатор окончательно рассчитал, из каких звуков состоит поступивший ему текст, он должен эти звуки произнести. Способы озвучивания можно разделить на два основных подхода. Первый называется артикуляторным синтезом, и состоит в построении модели речевой системы человека - гортани, голосовых связок и так далее. Это - сложная модель, и ей требуются большие вычислительные мощности, поскольку она должна работать в реальном времени. На практике чаще используют другие подходы воспроизведения человеческой речи. Один носит название компилятивный или точнее конкатенативный, другой - формантный синтез. При первом речь склеивают из коротких звуков, нарезанных из ранее надиктованных диктором диалогов, обработанных и хранящихся в базе данных. Это могут быть однозвучия, называемые алофонами, двузвучия - дифоны и трезвучия - трифоны. Например, в программе Речевой группы МГУ для мужского голоса подготовлено 800 исходных алофонов, для женского 1200. Как легко заметить, число первичных звуков значительно превосходит известные нам из школьной программы. Формантный синтез более абстрактен - в нём каждый звук или сочетание звуков создаются на ходу несколькими резонаторами, которые изменяют первоначальный возбуждающий сигнал. Это сильнее, чем компилятивный синтез, нагружает процессор, однако требует меньшей памяти, поскольку программа хранит не готовые звуки, а лишь правила их создания. При обоих подходах, после генерации необходимо сглаживать швы между звуками одного слова. Дело в том, что наши органы речи, произнеся один звук, не могут мгновенно перестроиться и произнести другой. Звуки плавно перетекают друг в друга, и, найти чёткую границу между ними невозможно. Если же в речи синтезатора такая граница есть, она чрезвычайно режет слух и даже мешает пониманию. Кроме того, в зависимости от ударения, места в слове и места слова в предложении алофоны произносится с разной длительностью и интенсивностью. Поэтому современные программы дополнительно обрабатывают склейки звуков. Давайте послушаем синтезатор, по мнению многих пользователей, хорошо синтезирующий русский мужской голос на персональном компьютере. Звучит тот же фрагмент новостей культуры. Говорил голос из русской версии синтезатора компании Digalo. Эта французская фирма из Тулузы является частью Elan Informatique - одного из мировых лидеров в синтезе речи. Пробную версию Digalo можно скачать с сайта www.digalo.com. Синтезом речи занимается множество групп, но продукты, сносно работающие на русском языке, предлагает лишь несколько компаний. Между тем программ, которые гордо называются синтезаторами - десятки. Дело в том, что почти все они являются лишь интерфейсами, оболочками с удобным управлением, которым еще нужна лингвистическая основа - алгоритмы и огромные словари, выпускаемые только несколькими компаниями в мире. Без этой основы - речевого алгоритма, или как ещё говорят: "движка", интерфейсные программы работать не будут, о чём и сообщается в их описании. У разных программ, работающих с одинаковым речевым движком, речь тоже будет похожей, хотя внешний вид интерфейса может сильно отличаться. В заключение скажем о возможном будущем говорящих программ. Уже сейчас лучшие из них говорят почти по-человечески, не зная усталости и не заговариваясь, например произнося скороговорки. Вот послушайте: Вероятно, синтез речи в скором времени может пойти по пути некоторых синтезаторов музыки. Вспомним, что в самом начале они извлекали звуки, имея в памяти только простейшие настройки для тональных генераторов. Звуки были непохожи на естественные, но довольно приятны. Затем пришло время сэмплеров, которые хранили в памяти фрагменты звучания реальных инструментов и, обрабатывая их особым образом, могли на любой ноте звучать весьма похоже на настоящие скрипки, клавесины и т.д. Можно сказать, что это уровень современных синтезаторов речи. Между тем, с середины 90-х накопители информации так подешевели, что музыкальные синтезаторы смогли хранить и использовать не отдельные сэмплы инструментов, а почти полную их аудиозапись. Например, звучание ВСЕХ клавиш рояля во множестве комбинаций. Это требует массы памяти, но зато достигается высокая правдоподобность звучания. Сходным путём идет и синтез речи. Если в начале 90-х разработчики "Говорящей мыши" должны были уместить свой синтезатор на одну дискету, то файлы современных речевых движков занимают мегабайты. Тем временем размеры оперативной памяти среднего компьютера уже измеряются сотнями мегабайт, а винчестера - десятками гигабайт. Это очень хорошая почва для развития синтеза речи. Уже сейчас понятно, что он будет двигаться в сторону все более обширных и точных массивов исходных звуков необходимых для склейки слов алофонов, дифонов, трифонов. Будет производиться разметка предложения не только на слова, но и на части фраз, объединенные одной интонацией. При такой разметке должна фиксироваться просодия, то есть - интонация, темп, словесное, логическое ударение во фразе. Также должно учитываться эмоциональное состояние говорящего. Кроме того, хороший синтезатор будет снабжен значительно расширенным грамматическим словарем Зализняка, который включает основные словоформы, словарем исключений, специализированным словарем транскрипций русского языка. Тогда программа сможет использовать целые фрагменты речевого корпуса, корректируя их по законам живой речи, что, безусловно, повысит качество синтезированной речи, хотя сейчас трудно предсказать, как скоро синтезатор сможет выполнить задание Станиславского: создать из слов «сегодня вечером» 40 разных сообщений, меняя только из звучание. В заключение хочется поблагодарить за помощь в подготовке этой передачи сотрудника Речевой группы филфака МГУ Леонида Захарова. Другие передачи месяца:
|
c 2004 Радио Свобода / Радио Свободная Европа, Инк. Все права защищены
|