Опубликовано в еженедельном журнале Компьютерра
Речевой вывод информации из компьютера — проблема не менее важная, чем речевой ввод. Это вторая часть речевого интерфейса, без которой разговор с компьютером не может состояться. Мы имеем в виду прочтение вслух текстовой информации, а не проигрывание заранее записанных звуковых файлов, то есть выдачу в речевой форме заранее не известной информации.
Фактически, благодаря синтезу речи по тексту, открывается еще один канал передачи данных от компьютера к человеку, аналогичный тому, который мы имеем благодаря монитору. Конечно, трудновато было бы передать рисунок голосом. Но вот услышать электронную почту или результат поиска в базе данных в ряде случаев было бы довольно удобно, особенно если в это время взгляд занят чем-либо другим. Например, придя утром на работу в офис, вы могли бы поправлять галстук у зеркала или возвращать на место прическу (может быть, даже подкрашивать ногти!), в то время как компьютер будет вам читать вслух последние известия или почту. Или, например, в середине рабочего дня он может привлечь ваше внимание сообщением, что приближается время заранее назначенной деловой встречи. Вообще, даже простое перечисление ситуаций, в которых может пригодиться синтез речи — это материал для большого обзора. Вопроса о применении синтеза мы коснемся достаточно поверхностно, затронув лишь наиболее очевидные моменты.
С точки зрения пользователя, наиболее разумное решение проблемы синтеза речи — это включение речевых функций (в перспективе — многоязычных, с возможностями перевода) в состав операционной системы. Точно так же, как мы пользуемся командой PRINT, мы будем применять команду TALK или SPEAK. Такие команды появятся в меню общеупотребительных компьютерных приложений и в языках программирования. Компьютеры будут озвучивать навигацию по меню, читать (дублировать голосом) экранные сообщения, каталоги файлов, и т. д. Важное замечание: пользователь должен иметь достаточные возможности по настройке голоса компьютера, в частности, при желании, суметь выключить голос совсем.
Вышеупомянутые функции и сейчас были бы не лишними для лиц, имеющих проблемы со зрением. Для всех остальных они создадут новое измерение удобства пользования компьютером и значительно снизят нагрузку на нервную систему и на зрение. По нашему мнению, сейчас не стоит вопрос, нужны синтезаторы речи в персональных компьютерах или нет. Вопрос в другом — когда они будут установлены на каждом компьютере. Осталось ждать, может быть, год или два.
Теперь, после оптимистического описания ближайшего будущего, давайте обратимся собственно к технологии синтеза речи. Рассмотрим какой-нибудь хотя бы минимально осмысленный текст, например, эту статью. Текст состоит из слов, разделенных пробелами и знаками препинания. Произнесение слов зависит от их расположения в предложении, а интонация фразы — от знаков препинания. Более того, довольно часто и от типа применяемой грамматической конструкции: в ряде случаев при произнесении текста слышится явная пауза, хотя какие-либо знаки препинания отсутствуют. Наконец, произнесение зависит и от смысла слова! Сравните, например, выбор одного из вариантов «замок» или «замок» для одного и того же слова «замок».
Уже стартовый анализ проблемы показывает ее сложность. И в самом деле, на эту тему уже написаны десятки монографий, и огромное количество публикаций осуществляется ежемесячно. Поэтому мы здесь коснемся только самых общих, наиболее важных для понимания моментов.
Прежде всего, текст, подлежащий прочтению, поступает в модуль лингвистической обработки. В нем производится определение языка (в многоязычной системе синтеза), а также отфильтровываются не подлежащие произнесению символы. В некоторых случаях используются спел-чекеры (модули исправления орфографических и пунктуационных ошибок). Затем происходит нормализация текста, то есть осуществляется разделение введенного текста на слова и остальные последовательности символов. К символам относятся, в частности, знаки препинания и символы начала абзаца. Все знаки пунктуации очень информативны.
Для озвучивания цифр разрабатываются специальные подблоки. Преобразование цифр в последовательности слов является относительно легкой задачей (если читать цифры как цифры, а не как числа, которые должны быть правильно оформлены грамматически), но цифры, имеющие разное значение и функцию, произносятся по-разному. Для многих языков можно говорить, например, о существовании отдельной произносительной подсистемы телефонных номеров. Пристальное внимание нужно уделить правильной идентификации и озвучиванию цифр, обозначающих числа месяца, годы, время, телефонные номера, денежные суммы и т. д. (список для различных языков может быть разным).
После процедуры нормализации каждому слову текста (каждой словоформе) необходимо приписать сведения о его произношении, то есть превратить в цепочку фонем или, иначе говоря, создать его фонемную транскрипцию. Во многих языках, в том числе и в русском, существуют достаточно регулярные правила чтения — правила соответствия между буквами и фонемами (звуками), которые, однако, могут требовать предварительной расстановки словесных ударений. В английском языке правила чтения очень нерегулярны, и задача данного блока для английского синтеза тем самым усложняется. В любом случае при определении произношения имен собственных, заимствований, новых слов, сокращений и аббревиатур возникают серьезные проблемы. Просто хранить транскрипцию для всех слов языка не представляется возможным из-за большого объема словаря и контекстных изменений произношения одного и того же слова во фразе.
Кроме того, следует корректно рассматривать случаи графической омонимии: одна и та же последовательность буквенных символов в различных контекстах порой представляет два различных слова/словоформы и читается по-разному (ср. выше приведенный пример слова «замок»). Часто удается решить проблему неоднозначности такого рода путем грамматического анализа, однако иногда помогает только использование более широкой семантической информации.
Для языков с достаточно регулярными правилами чтения одним из продуктивных подходов к переводу слов в фонемы является система контекстных правил, переводящей каждую букву/буквосочетание в ту или иную фонему, то есть, автоматический фонемный транскриптор. Однако, чем больше в языке исключений из правил чтения, тем хуже работает этот метод. Стандартный способ улучшения произношения системы состоит в занесении нескольких тысяч наиболее употребительных исключений в словарь. Альтернативное подходу «слово», «буква», «фонема» решение предполагает морфемный анализ слова и перевод в фонемы морфов (то есть значимых частей слова: приставок, корней, суффиксов и окончаний). Однако в связи с разными пограничными явлениями на стыках морфов разложение на эти элементы представляет собой значительные трудности. В то же время для языков с богатой морфологией, например, для русского, словарь морфов был бы компактнее. Морфемный анализ удобен еще и потому, что с его помощью можно определять принадлежность слов к частям речи, что очень важно для грамматического анализа текста и задания его просодических характеристик. В английских системах синтеза морфемный анализ был реализован в системе MITalk, для которой процент ошибок транскриптора составляет 5 %.
Особую проблему для данного этапа обработки текста образуют имена собственные.
К просодическим характеристикам высказывания относятся его тональные, акцентные и ритмические характеристики. Их физическими аналогами являются частота основного тона, энергия и длительность. В речи просодические характеристики высказывания определяются не только составляющими его словами, но также тем, какое значение оно несет и для какого слушателя предназначено, эмоциональным и физическим состоянием говорящего и многими другими факторами. Многие из этих факторов сохраняют свою значимость и при чтении вслух, поскольку человек обычно интерпретирует и воспринимает текст в процессе чтения. Таким образом, от системы синтеза следует ожидать примерно того же, то есть, что она сможет понимать имеющийся у нее на входе текст, используя методы искусственного интеллекта. Однако этот уровень развития компьютерной технологии еще не достигнут, и большинство современных систем автоматического синтеза стараются корректно синтезировать речь с эмоционально нейтральной интонацией. Между тем, даже эта задача на сегодняшний день представляется очень сложной.
Формирование просодических характеристик, необходимых для озвучивания текста, осуществляется тремя основными блоками, а именно: блоком расстановки синтагматических границ (паузы), блоком приписывания ритмических и акцентных характеристик (длительности и энергия), блоком приписывания тональных характеристик (частота основного тона).
При расстановке синтагматических границ определяются части высказывания (синтагмы), внутри которых энергетические и тональные характеристики ведут себя единообразно, и которые человек может произнести на одном дыхании. Если система не делает пауз на границах таких единиц, то возникает отрицательный эффект: слушающему кажется, что говорящий (в данном случае — система) задыхается. Помимо этого, расстановка синтагматических границ существенна и для фонемной транскрипции текста.
Самое простое решение состоит в том, чтобы ставить границы там, где их диктует пунктуация. Для наиболее простых случаев, когда пунктуационные знаки отсутствуют, можно применить метод, основанный на использовании служебных слов. Именно эти методы используются в системах синтеза Prose-2000, Infovox SA-101 и DECtalk, причем в последней просодически ориентированный словарь, помимо служебных слов, включает еще и глагольные формы.
Задача приписывания тональных характеристик обычно ставится достаточно узко. В системах синтеза речи предложению, как правило, приписывается нейтральная интонация. Не предпринималось попыток моделировать эффекты более высокого уровня, такие, как эмоциональная окраска речи, поскольку эту информацию извлечь из текста трудно, а часто и просто невозможно.
Теперь скажем несколько слов о наиболее распространенных методах озвучивания, то есть о методах получения информации, управляющей параметрами создаваемого звукового сигнала, и способах формирования самого звукового сигнала.
Самое широкое разделение стратегий, применяемых при озвучивании речи, — это разделение на подходы, которые направлены на построение действующей модели речепроизводящей системы человека, и подходы, где ставится задача смоделировать акустический сигнал как таковой. Первый подход известен под названием артикуляторного синтеза. Второй подход представляется на сегодняшний день более простым, поэтому он гораздо лучше изучен и практически более успешен. Внутри него выделяется два основных направления — формантный синтез по правилам и компилятивный синтез.
Формантные синтезаторы используют возбуждающий сигнал, который проходит через цифровой фильтр, построенный на нескольких резонансах, похожих на резонансы голосового тракта. Разделение возбуждающего сигнала и передаточной функции голосового тракта составляет основу классической акустической теории речеобразования.
Компилятивный синтез осуществляется путем склейки нужных единиц компиляции из имеющегося инвентаря. На этом принципе построено множество систем, использующих разные типы единиц и различные методы составления инвентаря. В таких системах необходимо применять обработку сигнала для приведения частоты основного тона, энергии и длительности единиц к тем, которыми должна характеризоваться синтезируемая речь. Кроме того, требуется, чтобы алгоритм обработки сигнала сглаживал разрывы в формантной (и спектральной в целом) структуре на границах сегментов. В системах компилятивного синтеза применяются два разных типа алгоритмов обработки сигнала: LP (сокр. англ. Linear Prediction — линейное предсказание) и PSOLA (сокр. англ. Pitch Synchronous Overlap and Add). LP-синтез основан в значительной степени на акустической теории речеобразования, в отличие от PSOLA-синтеза, который действует путем простого разбиения звуковой волны, составляющей единицу компиляции, на временные окна и их преобразования. Алгоритмы PSOLA позволяют добиваться хорошего сохранения естественности звучания при модификации исходной звуковой волны.
Наиболее распространенными системами синтеза речи на сегодня, очевидно, являются системы, поставляемые в комплекте со звуковыми платами. Если ваш компьютер оснащен какой-либо из них, существует значительная вероятность того, что на нем установлена система синтеза речи — увы, не русской, а английской речи, точнее, ее американского варианта. К большинству оригинальных звуковых плат Sound Blaster прилагается система Creative TextAssist, а вместе со звуковыми картами других производителей часто поставляется программа Monologue компании FirstByte.
TextAssist представляет собой реализацию формантного синтезатора по правилам и базируется на системе DECTalk, разработанной корпорацией Digital Equipment при участии известного американского фонетиста Денниса Клатта (к сожалению, рано умершего). DECTalk до сих пор остается своего рода стандартом качества для синтеза речи американского варианта английского. Компания Creative Technologies предлагает разработчикам использовать TextAssist в своих программах с помощью специального TextAssist API (TAAPI). Поддерживаемые операционные системы — MS Windows и Windows 95; для Windows NT также существует версия системы DECTalk, изначально создававшейся для Digital Unix. Новая версия TextAssist, объявленная фирмой Associative Computing, Inc. и разработанная с использованием технологий DECtalk и Creative, является в то же время многоязычной системой синтеза, поддерживая английский, немецкий, испанский и французский языки. Это обеспечивается прежде всего использованием соответствующих лингвистических модулей, разработчик которых — фирма Lernout & Hauspie Speech Products, признанный лидер в поддержке многоязычных речевых технологий. В новой версии будет встроенный редактор словаря, а также специализированное устройство TextReader c кнопочным управлением работой синтезатора в разных режимах чтения текста.
Программа Monologue, предназначенная для озвучивания текста, находящегося в буфере обмена MS Windows, использует систему ProVoice. ProVoice — компилятивный синтезатор с использованием оптимального выбора режима компрессии речи и сохранения пограничных участков между звуками, разновидность TD-PSOLA. Рассчитан на американский и британский английский, немецкий, французский, латиноамериканскую разновидность испанского и итальянский языки. Инвентарь сегментов компиляции — смешанной размерности: сегменты — фонемы или аллофоны. Компания FirstByte позиционирует систему ProVoice и программные продукты, основанные на ней, как приложения с низким потреблением процессорного времени. FirstByte также предлагает рассчитанную на мощные компьютеры систему артикуляторного синтеза PrimoVox для использования в приложениях телефонии. Для разработчиков: Monologue Win32 поддерживает спецификацию Microsoft SAPI.
Мода на свободно распространяемые продукты не миновала и области приложений синтеза речи. MBROLA — так называется система многоязычного синтеза, реализующая особый гибридный алгоритм компилятивного синтеза и работающая как под PС/Windows 3.1, PС/Windows 95, так и под Sun4, Sun/SunOS5.4, HP, VAX/VMS, DEC Alpha/VMS, PС/DOS, PC/Solaris2.4, PC/Linux, SGI INDY/IRIX, NeXT. Впрочем, система принимает на входе цепочку фонем, а не текст, и потому не является, строго говоря, системой синтеза речи по тексту.
Формантный синтезатор TruVoice фирмы Centigram Communications Corporation (США) близок к описанным выше системам по архитектуре и предоставляемым возможностям, однако он поддерживает больше языков: американский английский, латиноамериканский испанский, немецкий, французский, итальянский. Кроме того, в этот синтезатор включен специальный препроцессор, который обеспечивает быструю подготовку для чтения сообщений, получаемых по электронной почте, факсов и баз данных. Поддерживаются следующие телефонные платформы: Dialogic Antares, Dialogic Low density cards, Natural MicroSystems Alliance Generation, Custom OEM ports. Специально ориентированным на приложения в области компьютерной телефонии является синтезатор TextTalk фирмы Dialogic Corporation (США), использующий технологию формантного синтеза TruVoice.
Из прочих систем синтеза можно отметить ETI Eloquence компании ETI, использующую формантный синтезатор по правилам DELTA. Эта система имеет интересные возможности управления эмоциональным состоянием, которое несет синтезируемая речь, и также работает не только под управлением операционных систем MS Windows 3.1/95/NT, но и под управлением Solaris, SunOS, SGI, RS/6000.
В качестве примера рассмотрим разработку «говорящая мышь» клуба голосовых технологий научного парка МГУ. (Известно, что в некоторых российских организациях и компаниях ведутся аналогичные разработки, однако подробных сведений в печати обнаружить не удалось. Нет соответствующик ссылок и в Интернет — для поисков использовалась поисковая машина AltaVista.)
В основе речевого синтеза лежит идея совмещения методов конкатенации и синтеза по правилам. Метод конкатенации при адекватном наборе базовых элементов компиляции обеспечивает качественное воспроизведение спектральных характеристик речевого сигнала, а набор правил — возможность формирования естественного интонационно-просодического оформления высказываний. Существуют и другие методы синтеза, может быть, в перспективе более гибкие, но дающие пока менее естественное озвучивание текста. Это, прежде всего, параметрический (формантный) синтез речи по правилам или на основе компиляции, развиваемый для ряда языков зарубежными исследователями. Однако для реализации этого метода необходимы статистически представительные акустико-фонетические базы данных и соответствующая компьютерная технология, которые пока доступны не всем.
Для создания удобного и быстрого режима изменения и верификации правил, включенных в разные блоки синтезирующей системы, был разработан формализованный и в то же время содержательно прозрачный и понятный язык записи правил, который легко компилируется в исходные тексты программ. В настоящее время блок автоматического транскриптора насчитывает около 1000 строк, записанных на формализованном языке представления правил.
Функция разработанных правил состоит в том, чтобы определить временные и тональные характеристики базовых элементов компиляции, которые при обработке синтагмы выбираются из библиотеки в нужной последовательности специальным процессором (блоком кодировки). Необходимые для этого предварительные операции над синтезируемым текстом: выделение синтагм, выбор типа интонации, определение степени выделенности (ударности-безударности) гласных и символьного звукового наполнения слоговых комплексов осуществляются блоком автоматического транскриптора.
Во временной процессор входят также правила, задающие длительность паузы после окончания синтагмы (конечной-неконечной), которые необходимы для синтеза связного текста. Предусмотрена также модификация общего темпа произнесения синтагмы и текста в целом, причем в двух вариантах: в стандартном — при равномерном изменении всех единиц компиляции — и в специальном, дающем возможность изменения длительности только гласных или только согласных.
Тональный процессор содержит правила формирования для одиннадцати интонационных моделей: нейтральная повествовательная интонация (точка), точковая интонация, типичная для фокусируемых ответов на вопросы; интонация предложений с контрастивным выделением отдельных слов; интонация специального и общего вопроса; интонация особых противопоставительных или сопоставительных вопросов; интонация обращений, некоторых типов восклицаний и команд; два вида незавершенности, перечислительная интонация; интонация вставочных конструкций.
Необходимый речевой материал был записан в следующем режиме оцифровки: частота дискретизации 22 кГц с разрядностью 16 бит.
В качестве базовых элементов компиляции выбраны аллофоны, оптимальный набор которых и представляет собой акустико-фонетическую базу синтеза. Инвентарь базовых единиц компиляции включает в себя 1200 элементов, который занимает около 7 Мбайт памяти. В большинстве случаев элементы компиляции представляют собой сегменты речевой волны фонемной размерности. Для получения необходимой исходной базы единиц компиляции был составлен специальный словарь, который содержит слова и словосочетания с аллофонами во всех учитываемых контекстах. В нем содержится 1130 словоупотреблений.
На основе данных, полученных от остальных модулей синтеза речи и от аллофонной базы, программа формирования акустического сигнала позволяет осуществлять модификацию длительности согласных и гласных. Она дает возможность модифицировать длительность отдельных периодов на вокальных звуках, используя две или три точки тонирования на аллофонном сегменте, осуществляет модификацию энергетических характеристик сегмента и соединяет модифицированные аллофоны в единую слитную речь.
На этапе синтеза акустического сигнала программа позволяет получать разнообразные акустические эффекты — такие как реверберация, эхо, изменение частотной окраски.
Готовый акустический сигнал преобразуется в формат данных, принятый для вывода звуковой информации. Используются два формата: WAV (Waveform Audio File Format), являющийся одним из основных, или VOX (Voice File Format), широко используемый в компьютерной телефонии. Вывод также может осуществляться непосредственно на звуковую карту.
Упоминавшийся выше инструментарий синтеза русской речи по тексту позволяет читать вслух смешанные русско-английские тексты. Инструментарий представляет собой набор динамических библиотек (DLL), в который входят модули русского и английского синтеза, словарь ударений русского языка, модуль правил произнесения английских слов. На вход инструментария подается слово или предложение, подлежащее произнесению, с выхода поступает звуковой файл в формате WAV или VOX, записываемый в память или на жесткий диск.
Телефоны клуба голосовых технологий: (095) 932-90-09, (095) 932-91-70.
Site: www.science.park.ru/company.