Самая крупная в мире искусственная
нейронная сеть построена на базе GPU
19 июня 2013 г.,
Компания NVIDIA объявила о том, что в результате сотрудничества с командой
ученых из Стэнфордского Университета была создана крупнейшая в мире
искусственная нейронная сеть, предназначенная для изучения процесса обучения
человеческого мозга. Данная сеть в 6,5 раз больше предыдущего рекордсмена,
созданного командой Google в 2012 году.
Компьютеризированные нейронные сети могут “научиться” моделировать поведение
мозга, включая распознавание объектов, персонажей, голосов и звуков тем же
способом, каким это делает мозг.
Однако создание масштабных нейронных сетей обходится очень дорого с точки зрения
вычислительных ресурсов. Например, в Google на создание сети, которая научилась
самостоятельно распознавать кошек в серии роликов YouTube, ушло порядка 1000
серверов на базе CPU, что эквивалентно 16000 процессорных ядер. Построенная сеть
характеризовалась 1,7 млрд. параметров, виртуально отражающих связи между
нейронами.
В отличие от Googe, команда Стэнфорда, возглавляемая директором лаборатории
искусственного интеллекта при университете Эндрю Нг (Andrew Ng), построила
такого же масштаба сеть всего на трех серверах, оснащенных графическими
процессорами NVIDIA для ускорения обработки больших объемов данных, генерируемых
сетью. С помощью 16 серверов на базе графических процессоров NVIDIA команда
смогла создать сеть с 11.2 млрд. параметров, что в 6,5 раз больше, чем у сети
Google, представленной в 2012 году.
Чем больше и мощнее нейронная сеть, тем точнее она справляется с такими
задачами, как распознавание объектов, позволяя с помощью компьютера моделировать
поведение, близкое к человеческому. Работа команды ученых из Стэнфорда была
опубликована на Международной Конференции по Машинному Обучению.
“Обеспечивая скорость вычислений намного выше, чем CPU, графические процессоры
позволяют проводить моделирование больших массивов данных в крупномасштабных
нейросетях, - отмечает Самит Гупта (Sumit Gupta), директор направления Tesla в
NVIDIA. - Теперь любой ученый или компания могут применять машинное обучение для
решения разнообразных задач с помощью всего нескольких GPU-ускоряемых серверов”.
Машинное обучение, быстро развивающийся сегмент области искусственного
интеллекта, - это наука о выполнении действий компьютером без предварительного
программирования. В прошлом десятилетии машинное обучение дало нам
самоуправляемые автомобили и эффективный поиск в сети, а также позволило
заглянуть глубоко внутрь человеческого генома. Многие ученые считают, что это
лучший способ познания человеческого интеллекта.
Одной из компаний, применяющей GPU в этой области, является Nuance, лидер в
разработке технологий распознавания речи и естественных языков. Nuance учит свои
модели нейросетей понимать речь пользователей с помощью терабайтов аудио данных.
После обучения модели могут распознавать образцы произнесенных слов путем их
сопоставления с изученным материалом.
“Графические процессоры значительно ускоряют обучение наших нейросетей, что
позволяет нам быстро внедрять новые алгоритмы и методы обучения, - говорит Влад
Сейноха (Vlad Sejnoha), технический директор Nuance. - Такие модели повышают
точность для всех ключевых технологий Nuance в сегменте здравоохранения,
мобильной потребительской электроники и в корпоративном сегменте”.
Speech Application Programming
Interface (SAPI) — интерфейс программирования приложений, основанный на
технологии COM, предназначенный для распознавания и синтеза речи.
Распознавание речи [править]
Распознавание речи — процесс преобразования произнесённых слов в печатный текст.
Распознавание речи включает в себя:
захват и оцифровку звука, произнесённого в микрофон;
преобразование оцифрованного звука в фонемы;
конструирование из фонем слов;
анализ контекста, в котором было произнесено слово, и, при необходимости, замена
слов на похожие по звучанию.
Распознающая программа (движок распознавания текста) итерационно сравнивает
распознанный текст с правилами грамматики приложения и при совпадении текста с
серией правил формирует выходной поток XML с использованием языка разметки
семантики (англ. Semantic Markup Language, SML). Выходной поток содержит
распознанный текст, значения вероятностей правильного распознания и может
содержать семантические значения, присвоенные при помощи разметки интерпретации
семантики. Распознанный текст обычно используется для ввода данных при помощи
диктовки и для управления приложениями при помощи речевых команд.
Размер правил грамматики ограничивает возможности распознавания текста.
Большинство программ, поддерживающих диктовку, для обеспечения наиболее точного
распознавания настраиваются на речевые обороты конкретного пользователя. Режим
управления речевыми командами более прост для реализации, поскольку содержание
правил грамматики ограничено имеющимися командами.
Синтез речи [править]
Синтез речи — процесс преобразования текста в произносимые слова. Синтез речи
включает в себя:
разделение слов на фонемы;
нахождение текста, требующего преобразование в символы, такого как числа,
количество валюты и пунктуация;
генерация цифрового звука для воспроизведения.
Движки преобразования текста в речь могут использовать один из двух способов
синтеза голоса:
генерировать звуки, подобные издаваемым голосовыми связками и использовать
различные фильтры для моделирования длины горла, форму ротовой полости,
расположение губ и языка;
собирать его из многочисленных кусков речи, записанных диктором.
Интерфейс программирования приложений (иногда интерфейс прикладного
программирования) (англ. application programming interface, API [эй-пи-ай])[1] —
набор готовых классов, процедур, функций, структур и констант, предоставляемых
приложением (библиотекой, сервисом) для использования во внешних программных
продуктах. Используется программистами для написания всевозможных приложений.
API определяет функциональность, которую предоставляет программа (модуль,
библиотека), при этом API позволяет абстрагироваться от того, как именно эта
функциональность реализована.
Если программу (модуль, библиотеку) рассматривать как чёрный ящик, то API — это
множество «ручек», которые доступны пользователю данного ящика, которые он может
вертеть и дёргать.
Программные компоненты взаимодействуют друг с другом посредством API. При этом
обычно компоненты образуют иерархию — высокоуровневые компоненты используют API
низкоуровневых компонентов, а те, в свою очередь, используют API ещё более
низкоуровневых компонентов.
По такому принципу построены протоколы передачи данных по Интернет. Стандартный
стек протоколов (сетевая модель OSI) содержит 7 уровней (от физического уровня
передачи бит до уровня протоколов приложений, подобных протоколам HTTP и IMAP).
Каждый уровень пользуется функциональностью предыдущего уровня передачи данных
и, в свою очередь, предоставляет нужную функциональность следующему уровню.
Важно заметить, что понятие протокола близко по смыслу к понятию API. И то и
другое является абстракцией функциональности, только в первом случае речь идёт о
передаче данных, а во втором — о взаимодействии приложений.
API библиотеки функций и классов включает в себя описание сигнатур и семантики
функций.
COM (англ. Component Object Model — объектная модель компонентов; произносится
как [ком]) — это технологический стандарт от компании Microsoft, предназначенный
для создания программного обеспечения на основе взаимодействующих компонентов,
каждый из которых может использоваться во многих программах одновременно.
Стандарт воплощает в себе идеи полиморфизма и инкапсуляции
объектно-ориентированного программирования. Стандарт COM мог бы быть
универсальным и платформо-независимым, но закрепился в основном на операционных
системах семейства Microsoft Windows. В современных версиях Windows COM
используется очень широко. На основе COM были реализованы технологии: Microsoft
OLE Automation, ActiveX, DCOM, COM+, DirectX, а также XPCOM.
Web API[править]
Используется в веб-разработке, как правило, определенный набор HTTP-запросов, а
также определение структуры HTTP-ответов, для выражения которых используют XML
или JSON форматы. Web API является практически синонимом для веб-службы, хотя в
последнее время за счет тенденции Web 2.0 осуществлен переход от SOAP к REST
типу коммуникации. Веб-интерфейсы, обеспечивающие сочетание нескольких сервисов
в новых приложениях, известны как гибридные.
Лингвистическое обеспечение голосовых
платформ. Протоколы MRCP и RTP, библиотека UniMRCP, MRCP-клиент и
MRCP-сервер.
Speech recognition grammar
specification. SRGS-грамматика.
Языки разметки речевой информации.
Язык
SSML (Speech Synthesis Markup Language).
Теги параметров речи.
Язык
VoiceXML (Voice Extensible Markup Language).
Язык
SALT (Speech Application Language Tags.
СЛОВАРИ ДЛЯ АЛЁНЫ:
http://mytts.forum2x2.ru/t164-topic (описание)
Acapela Infovox Desktop — программа
с открытым SAPI text-to-speech engine кодом, которая позволяет получить доступ к
вашему компьютеру через обычный набранный текст на экране вашего монитора.
Acapela Infovox Desktop прочитает любую фразу, которую вы выберите, а так же
будет комментировать Вас во время набора текста в любом приложении Windows, что
позволит избежать массы орфографических ошибок.
----------------------<cut>----------------------
Основное удобство получат пользователи с ослабленным зрением, которые пользуются
дополнительными возможностями Windows, такими как лупа. В некотором роде
программу Acapela Infovox Desktop можно отнести к приемникам известной JAWS (Job
Access With Speech), которая специально была разработана для чтения с экрана
компьютера и предназначенная для людей с ослабленным зрением. Основная цель
котрой состояла в том, чтобы персональные компьютеры, использующие операционную
систему Microsoft Windows, были доступны для слепых и слабовидящих
пользователей.
Text-to-speech engine или движки синтеза речи — это программы выполненные в виде
системного драйвера, предназначенные для преобразования текста в речь. Движки
синтеза речи не имеют внешнего интерфейса, поэтому для того, для того, что бы
Ваш компьютер заговорил, недостаточно установить только движок. Для
использования движка необходима программа синтеза речи (TextAloud, Cool Reader,
Balabolka и т. д), которая выполняет роль интерфейса, позволяет работать с
движком, изменять его настройки, звучание речи, использует дополнительные
возможности.
Голосовой движок от компании Acapela научит компьютер говорить и сделает вашу
жизнь еще веселее и проще.
Основные возможности программы Acapela Infovox Desktop:
• Поддержка Microsoft SAPI4 и Microsoft SAPI5
• Полная регулировка голосовых параметров, такие как скорость чтения,
объемность, тональность, паузы.
• Настраиваемый режим чтения: каждое предложение, слово за словом и буква за
буквой.
• Создание новых голосовых профилей с использованием эквалайзера и
пользовательской лексикой Voice Manager.
• Конироль в реальном времени правописания во время набора текста в любой
программе Windows с помощью KeySpeaker.
• Набор текста и чтение с помощью SpeechPad.
• Полная подержка Microsoft SAPI4, с переключением языковых модулей.
Голосовой движок Acapela Alyona Rus создан для того, для того, что бы сделать
чтение текстовых файлов (электронных книг) удобным и комфортным. Почему это
важно ? Чтение HTML страниц, документации или почты сильно отличается от чтения
электронных книг. Чтение книг требует гораздо больше времени. Поэтому нагрузка
на глаза гораздо сильнее. Кроме того, чтение книг это процесс обычно
непрерывный. В то время как во время чтения HTML страниц, чтение постоянно
чередуется с коротким отдыхом. Это означает, что для чтения книг следует делать
более комфортные условия. В противном случае глаза будут быстро уставать и
появляется серьезный риск ухудшить свое зрение.
Acapela Alyona (Голосовой движок) — самый лучший на сегодняшний день. Компания
Acapela выпустила русский, женский голосовой движок, который получил название
Алёна, работает на SAPI-5 с частотой 22 КГц , по качеству синтезируемой речи,
тембр голоса и интонация по мнению пользователей приятны на слух!
В архиве присутствуют:
• Acapela Infovox Desktop 2.220 Engine
• 2 голосовых модуля
— Alyona 2.220 Русский
— Heather 2.220 / Ryan 2.220 English
• Service Pack SP3
• Словари "Лексиконов" обновлённые по 24.06.2012
— Punctuation — Лексикон запрета чтения разделительных знаков
— Alyona22k — Лексикон трудночитаемых слов
— Geografic — Лексикон географических названий
— Omograph — Лексикон для словаря замен
— Yo defis — «Ё»-лексикон
— YO lex — Лексикон запрета чтения разделительных знаков
Что такое лексикон?
Лексикон это список слов и их фонетическая транскрипция с помощью которой
голосовой движок «понимает» как ему нужно читать то или другое слово. Он
подключается и работает не зависимо от используемой для чтения программы.
Ударение для всех голосов Acapela-Group (в т.ч. Алёна) задаются только через
лексикон, причем учитывается также регистр букв слова. Символ пробел
игнорируется, допустимы только слова и словосочетания через дефис.
олосовой
модуль SAPI5 "Алена" - Akapella Alena + Infovox Desktop 2.2 Engine (RUS/ENG)
Acapela
Alyona Rus - самый лучший на сегодняшний день русскоязычный голосовой
движок.
Приятный женский голос по
качеству синтезируемой речи намного превосходит большинство существующих
на сегодняшний день аналогичных движков.
Гибкость настройки голоса
обеспечивает Lexicon Manager (присутствует в архиве) - редактор
словарей, который позволяет изменять произношение слов как буквально,
так и фонетически.
Компания Acapela выпустила
новый русский, женский голосовой движок, который получил название Алёна,
работает на SAPI4 и SAPI5 с частотой 22 КГц , по качеству синтезируемой
речи, тембр голоса и интонация по мнению пользователей приятны на слух!
В архиве присутствует
пошаговая видео инструкция по установке и активации.
Дополнительная информация:
- Text-to-speech engine или
движки синтеза речи - это программы выполненные в виде системного драйвера,
предназначенные для преобразования текста в речь. Движки синтеза речи не
имеют внешнего интерфейса, поэтому для того, для того, что бы Ваш компьютер
заговорил, недостаточно установить только движок. Для использования движка
необходима программа синтеза речи (Govorilka, TextAloud, Cool Reader,
Balabolka и т.д), которая выполняет роль интерфейса, позволяет работать с
движком, изменять его настройки, звучание речи, использует дополнительные
возможности.
Голосовой движок Acapela Alyona
Rus создан для того, для того, что бы сделать чтение текстовых файлов
(электронных книг) удобным и комфортным. Почему это важно ? Чтение HTML
страниц, документации или почты сильно отличается от чтения электронных
книг. Чтение книг требует гораздо больше времени. Поэтому нагрузка на глаза
гораздо сильнее. Кроме того, чтение книг это процесс обычно непрерывный. В
то время как во время чтения HTML страниц, чтение постоянно чередуется с
коротким отдыхом. Это означает, что для чтения книг следует делать более
комфортные условия. В противном случае глаза будут быстро уставать и
появляется серьезный риск ухудшить свое зрение.
В наличии имеется полный набор
инструментов для контроля параметров голоса таких как: скорость чтения,
громкость, высота, паузы, настройки эквалайзера и режима чтения (чтение
фразы, чтение отдельных слов и посимвольное чтение)
Процедура лечения:
В архиве присутствует пошаговая
видео инструкция по установке и активации.
Зарегистрировать при помощи
генератор лицензий.exe
С помощью генератора лицензий
создайте лицензию (проследите куда будет создан файл или укажите сами),
запустите License Manager (находится в меню программы)- нажмите Import
Ligense File("импортировать лицензию") и укажите файл, который только что
создали генератором.
Информация о программе:
Название: Голосовой модуль
SAPI5 "Алена" - Akapella Alena + Infovox Desktop 2.2 Engine
Год выхода: 2008
Операционная система: Windows®
All (XP / Vista / 7 / 8)
Разрядность ОС: x86 / 32 - bit,
x64 / 64- bit
Язык интерфейса: Русский /
Английский
Сайт разработчика: acapela-group.com
Лекарство: Генератор лицензий
Размер файла: 172.65 Mb
Словарь склонения
числительных
авторы: muk79, evmir, evilone
В словаре используются правила на основе регулярных выражений работающие
только по стандарту PCRE. Данный словарь предназначен для использования в
программах для чтения вслух и записи в аудиофайл текстовых файлов с
использованием пакетов речевых функций SAPI4\SAPI5 с поддержкой ini-словарей
(использующих регулярные выражения) (балаболка или демагог).
Словарь предназначен для склонения порядковых и целых числительных.
Склоняются любые числа от одного до четырёх знаков в т.ч. римские (кроме
упрощенной формы) путём дописывания к числу нужного окончания или
специальной падежной метки определяющей правило склонения числа.
Для использования достаточно применить шаблон который будет добавлять к числу
нужное окончание, например:
Код: |
в начале XIX века= в начале XIX-ого века
в начале девятнадцатого века
|
Код: |
в 1991 году=в 1991-м году
в одна тысяча девятьсот девяносто первом годУ
|
Код: |
в 2-х этажном= в 2-ом этажном
в двухэтажном
|
Код: |
глава 3=глава 3-я
глава третья
|
и т.д.
Структура словаря:
Римские цифры
преобразование римских чисел в арабские и шаблоны склонения
здесь же до строки <рим\.ч\.>= можно использовать замены специфические только
для римских чисел, например Петр I, Генрих IV и т.п., часть для примеров уже
есть
Время
преобразование и шаблоны склонения времени записанных в сокращенном виде
21:45\21:45:18\21.45 для использования в шаблонах падежного склонения
используйте метку падежа согласно таблице
Даты
преобразование и шаблоны склонения различных дат записанных в сокращенном виде
01.01.01\01.01.2001 8мар 1апр для использования в шаблонах падежного склонения
используйте метку падежа согласно таблице
Длина
преобразование и шаблоны склонения различных длин записанных в сокращенном виде
1м 100км для использования в шаблонах падежного склонения используйте метку
падежа согласно таблице
Вес
преобразование и шаблоны склонения различного веса записанных в сокращенном виде
1т 100кг для использования в шаблонах падежного склонения используйте метку
падежа согласно таблице
Объем
преобразование и шаблоны склонения различных объемов записанных в сокращенном
виде 1л 100мл для использования в шаблонах падежного склонения используйте метку
падежа согласно таблице
Валюта
преобразование и шаблоны склонения различных валют записанных в сокращенном виде
10$ 100руб. для использования в шаблонах падежного склонения используйте метку
падежа согласно таблице
Координаты
преобразование и шаблоны склонения координат (градусы и минуты) записанных в
сокращенном виде 40°31' для использования в шаблонах падежного склонения
используйте метку падежа согласно таблице
Биты и байты
преобразование и шаблоны склонения бит и байт записанных в сокращенном виде
100Гб 5Mb для использования в шаблонах падежного склонения используйте метку
падежа согласно таблице
Общие шаблоны
здесь возможно добавление новых шаблонов для замен по тексту, часть для примеров
уже есть
Сокращения
добавление текстовых сокращений, часть для примеров уже есть
Цифровые окончания
сам словарь замен
Использование метки падежа при составлении шаблонов склонения
Метка падежа t служит
для быстрой записи необходимого падежного склонения для числительного и стоящего
рядом с ним слова.
Цитата: |
Формат записи для определения падежа числительного:
число<t@#>
число-абв
Формат записи для определения падежа стоящего рядом слова:
время:
часы <hr>
минуты <min>
секунды <sec>
дата:
день <dd>
месяц <mm>
год <yy>
длина:
метр <mt>
вес:
грамм <gr>
тонна <tn> |
объем:
литры <lt>
валюта:
доллар <usd>
цент <cnt>
рубль <rub>
копейка <cop>
евро <eur>
евроцент <ecn> |
координаты:
градус <gra>
минута <min>
биты и байты:
биты <bit>
байты <byt> |
где #(падеж)
число от 1 до 6
@ числовая
группа (род число и одушевленность) - латинская буква
|
В шаблоне при записи отдельно можно использовать как метку с числительным, с
указанием группы числа, так и буквенное окончание. Использовать метку для
стоящего рядом слова можно использовать без указания группы числа. Отдельно
использовать метку только для стоящего рядом слова нельзя.
Например:
Цитата: |
18 мин=18<t1><min>
около 18=около 18<tb2>
около 18=около 18-го
|
Цитата: |
Буквенные окончания:
-го
-му
-им
-ом
-а
-ой
-у
-ою
-о
-ими
-их
-и |
ноля
нолю
нолём
ноле
ноль
ноля
ноль
нолём
ноль
нолями
нолях
ноль |
одного
одному
одним
одном
одна
одной
одну
одною
одно
одними
одних
одни |
двух
двум
двумя
двух
две
двух
две
двумя
два
двумя
двух
два |
-ый
-ого
-ому
-ым
-м
-я
-й
-ю
-е
-х
-ые
-ми |
нулевой
нулевого
нулевому
нулевым
нулевом
нулевая
нулевой
нулевую
нулевое
нулевых
нулевые
нулевыми |
первый
первого
первому
первым
первом
первая
первой
первую
первое
первых
первые
первыми |
второй
второго
второму
вторым
втором
вторая
второй
вторую
второе
вторых
вторые
вторыми |
-ро
-ых
-рым
-ро
-ых
-ыми
-ах |
двое
двоих
двоим
двое
двоих
двоими
двоих |
трое
троих
троим
трое
троих
троими
троих |
четверо
четверых
четверым
четверо
четверых
четверыми
четверых |
|
Полная
таблица всех окончаний
Цитата: |
Буквенные окончания для различных значений падежных меток и
групп чисел:
t
1
2
3
4
5
6
|
|
A
-го
-му
-им
-ом
м.р.к. |
D
-ый
-ого
-ому
-ый
-ым
-м
м.р.п. |
B
-а
-ой
-ой
-у
-ой
-ой
ж.р.к. |
E
-я
-й
-й
-ю
-й
-й
ж.р.п. |
H
-о
-го
-му
-о
-им
-ом
с.р.к. |
C
-е
-ого
-ому
-е
-ым
-м
с.р.п. |
G
-и
-их
-их
-и
-ими
-их
мн.к. |
t
1
2
3
4
5
6
|
|
F
-ые
-х
-х
-ые
-ми
-х
мн.п. |
J
-го
-му
-го
-им
-ом
од.м.р.к. |
K
-ый
-ого
-ому
-ого
-ым
-м
од.м.р.п. |
L
-а
-ой
-ой
-ой
-ой
-ой
од.ж.р.к. |
M
-я
-й
-й
-й
-й
-й
од.ж.р.п. |
N
-и
-их
-их
-их
-ими
-их
од.мн.к. |
O
-ые
-х
-х
-х
-ми
-х
од.мн.п. |
t
1
2
3
4
5
6
|
|
P
-ро
-ых
-рым
-ро
-ыми
-ах
соб. |
Q
-ро
-ых
-рым
-ых
-ыми
-ах
од.соб. |
|
|
|
|
|
м.р. -
мужской род
ж.р. -
женский род
с.р. -
средний род
мн. -
множественное число
п. -
порядковые
к. -
количественные
соб. -
собирательные
од. -
одушевленное |
Международная система единиц (СИ) для программы чтения текстов "Балаболка" и
речевого синтезатора "Алёна"
ОПИСАНИЕ
Речевой синтезатор "Алёна" прекрасно справляется с чтением художественных
текстов,
но с научными, техническими, историческими, экономическими текстами,
когда встречаются цифры, единицы измерения, даты, деньги - возникают проблемы.
Это дополнение корректно обрабатывает и склоняет:
- Основные единицы СИ: длина, вес, ток, температура...
- Приставки к единицам СИ
- Производные единицы СИ
- Основные единицы не вошедшие с СИ
- Время: эра, тысячелетие, век, год, сутки, час, мин, сек
- Единицы информации: биты, байты, боды, bps
- Деньги: рубли, доллары, гривны, копейки
- Корректирует произношение цифр
- и т.д.
Приставки СИ:
да, da, г, h, к, k, М, M, Г, G, Т, T, П, P, Э, E, З, Z, И, Y,
д, d, с, c, м, m, мк, µ, u, н, n, п, p, ф, f, а, a, з, z, и, y
Единицы измерения:
м, m, г, гр, g, с, s, А, A, К, K, кд, cd, моль, mol, рад, rad, ср, sr,
°C, °C, Гц, Hz, Н, N, Дж, J, Вт, W, Па, Pa, лм, lm, лк, lx, Кл, C, В, V,
Ом, Om, Ф, F, Вб, Wb, Тл, T, Гн, H, См, S, Бк, Bq, Гр, Gy, Зв, Sv, кат, kat,
мин, min, ч, h, сут, d, °, л, l, L, т, t, Нп, Np, Б, B, эВ, eV, а.е.м., u,
а.е., ua, миля, mile, уз, knot, га, ha, бар, bar, б, b
УСТАНОВКА
1. Скачать файл: http://va-romanko.narod2.ru/si_balabolka_alyona.zip
2. Файл "СИ (Вадим Романько).ini" надо скопировать в рабочий каталок программы
"БАЛАБОЛКА", который находится: "\\Мои документы\Balabolka"
3. Перегрузить программу "БАЛАБОЛКА"
4. На панели словарей поставить галочку напротив словаря "СИ (Вадим
Романько).ini".
Обзор мобильных Text-To-Speech движков
Автор: © Павел Манахов
Дата публикации: 2011
Если ваш родной язык не английский и вы не пишете приложения только для iPhone,
то вам придется достаточно трудно, если вы захотите найти подходящий
инструментарий для разработки т.н. мобильных «voice-enabled» приложений.
В данном обзоре приведена классификация и описаны самые достойные из рода mobile
TTS engine[1].
Я занимаюсь исследованиями в области проектирования интерфейсов мобильных
устройств для людей с ограниченными возможностями зрения. Для реализации одного
из моих проектов мне потребовался движок генерации голоса с мультиязыковой
поддержкой (как минимум два языка – английский и русский). Это и послужило
причиной поиска синтезатора речи.
Для удобства разделим движки TTS на три класса:
коммерческие;
свободные (решения лицензированные по GPL, LGPL и более «мягким» лицензиям типа
BSD License или wxWindows Licence, которые допускают коммерческую разработку
продуктов);
встроенные (средства, предоставляемые самой операционной системой).
Коммерческие движки
SVOX Mobile TTS (http://www.svox.com/)
Цена: n/a
Языки: 26, включая русский
Субъективная оценка качества звучания: высокое
Мобильные ОС: Android, Symbian, Windows CE / Windows Mobile, BREW
Возможность разработки коммерческих продуктов: есть
Компания SVOX имеет наиболее «вкусный» с технической точки зрения продукт — SVOX
Mobile TTS.
Однако, поскольку компания работает в основном в B2B сегменте, на мои два письма
с запросом цены они так и не ответили.
Acapela TTS (http://www.acapela-group.com/)
Цена: 2800€ плюс так называемая run-time license, за которую в самом лучшем
случае придется платить по 49€ за каждое распространенное приложение
Языки: 23, включая русский
Субъективная оценка качества звучания: высокое
Мобильные ОС: Symbian, Windows CE / Windows Mobile, Embedded Linux, iOS
Возможность разработки коммерческих продуктов: есть
Сотрудники Acapela Group оказались намного более общительными и ответили
буквально через полчаса после заполнения вот соответствующей заявки.
Цена, указанная в шапке, относится к таким операционным системам как Windows
Mobile и Symbian, однако бизнес-модель Acapela разнится в зависимости от
выбранной ОС. К примеру, наиболее сильно они продвигают направление iOS, для
которого сделан отдельный сайт http://www.acapela-for-iphone.com/.
Там можно зарегистрироваться и бесплатно получить evaluation версию их движка.
Цена голого SDK для бывшей iPhone OS составляет 250€. Также с каждого проданного
Вами в App Store приложения снимаются немалые проценты.
Отмечу, что Acapela предоставляет «облачный» синтез речи, а также портирование
SDK под любую платформу.
Loquendo Embedded TTS (http://www.loquendo.com/)
Цена: 3000€ плюс проценты с каждого проданного Вами мобильного приложения
Языки: 26, включая русский
Субъективная оценка качества звучания: высокое
Мобильные ОС: Android, Symbian, Windows CE / Windows Mobile, Embedded Linux, iOS,
Maemo, Moblin, MeeGo, PalmOS
Возможность разработки коммерческих продуктов: есть
Движок Loquendo обладает специальными тегами, позволяющими делать речь более
естественной, подмешивая такие не совсем «речевые» фишки как кашель, смех и
прочее.
Их движок отвечает спецификации SSML 1.0, рекомендованной W3C.
Sakrament TTS (http://www.sakrament.com/)
Цена: 1500€ для одной ОС, при покупке пакета сразу для двух языков
предоставляется скидка в размере 25%, что составляет 2250€
Языки: английский, русский
Субъективная оценка качества звучания: среднее
Мобильные ОС: Symbian, Windows Mobile
Возможность разработки коммерческих продуктов: есть
Качества синтеза речи Sakrament TTS вполне достаточно, что бы озвучивать
короткие фразы типа номеров телефонов или названий приложений.[2]
Описание всех версий SDK можно получить по ссылке http://www.sakrament.com/main.php?TopId=30&Category=6.
Свободные движки
Flite
Цена: нет
Языки: английский плюс возможность компиляции языков FestVox
Субъективная оценка качества звучания: низкое
Мобильные ОС: Android, Windows CE / Windows Mobile, iOS, PalmOS
Возможность разработки коммерческих продуктов: есть ( CMU licence
В мире настольных систем хорошо известен синтезатор речи Festival. Он имеет порт
под названием Flite для мобильных устройств и встраиваемых систем, который
распространяется под их собственной X11-like лицензией, позволяющей свободно
распространять данное ПО кому угодно, а так же строить на его основе как
коммерческие, так и свободные приложения. Существуют порты для Windows CE /
Windows Mobile, PalmOS, Androidи iOS.
eSpeak (http://espeak.sourceforge.net/)
Цена: нет
Языки: 39, включая русский
Субъективная оценка качества звучания: среднее
Мобильные ОС: Android, Windows CE / Windows Mobile [3]
Возможность разработки коммерческих продуктов: нет ( GNU GPL
Инструкция для компиляции движка под WM включена в дистрибутив, однако на этой
платформе eSpeak имеет одно существенное ограничение – генерация голоса возможна
только в WAV файл. Собранный TTS engine для Windows Mobile можно получить по
ссылке http://www.efficasoft.com/download/eSpeak-1.29-wm.cab).
eSpeak портирован на Android.
Самый простой способ его попробовать — это установить из Android Market’а
приложение TTS Service Extended, которое позволяет переключаться между
встроенным движком и eSpeak. Данный TTS движок распространяется на условиях GNU
GPL.
Встроенные решения
Встроенные решения присутствуют только в Symbian и Android.[4]. По какой-то
неизвестной причине Microsoft лишила свою мобильную ОС соответствующего
программного интерфейса (MS SAPI).
Symbian (http://www.symbian.org/)
Цена: нет
Языки: английский
Субъективная оценка качества звучания: крайне низкое
Возможность разработки коммерческих продуктов: есть
Встроенный TTS от Symbian Foundation скрывается в классе CMdaAudioPlayerUtility.
Хотя в его документации
ничего об этом не сказано, он все же позволяет синтезировать речь (см. http://wiki.forum.nokia.com/index.php/Text_to_speech_in_Symbian_2nd_and_3rd_edition_phones.
К сожалению, русский язык не поддерживается.[5].
Качество генерации английской речи очень низкое. Без подготовки довольно трудно
понять, что именно он произнес.
Дополнительные языковые пакеты можно загрузить по ссылке http://europe.nokia.com/support/download-software/text-to-speech,
однако список поддерживаемых телефонов крайне мал.
Установка пакетов для русского языка на устройство под управлением Symbian OS
S60 5th не дала ожидаемых результатов, встроенный TTS так и не заговорил
по-русски.
Отмечу, что имеется достаточно удобное расширение API под названием NSS TTS
Utility API, описание которого можно найти по ссылке http://wiki.forum.nokia.com/index.php/CS001031_-_NSSTTS_Utility_API.
Android (http://www.android.com/)
Цена: нет
Языки: английский, французский, немецкий, итальянский, испанский
Субъективная оценка качества звучания: среднее
Возможность разработки коммерческих продуктов: есть
Встроенная функциональность синтеза речи в Android доступна с версии 1.6.
Прекрасное введение в тему можно найти в блоге разработчиков. Android TTS API
является не чем иным, как оберткой над SVOX Pico, русский язык, которым, к
сожалению, не поддерживается.
Заключение
Выводы каждому придется делать в зависимости от требований к разрабатываемому
продукту. Для коммерческих решений крайне важно качество синтеза речи, поэтому
выбирать стоит из двух движков – Acapela TTS и Loquendo Embedded TTS. При выборе
движка для open source проекта крайне важную роль будет играть список целевых
ОС.
Лично для себя я выбрал eSpeak, поскольку мой проект академического толка и я
могу себе позволить использование продукта лицензированного по GNU GPL.
Примечания
Приводимые ниже примечания не являются составной частью статьи. Мы сочли
необходимым опубликовать их здесь, чтобы дополнить отдельные утверждения автора.
Приводимый обзор не является исчерпывающим. В частности в нём не отражены
продукты компании Nuance, которые обладают достаточно высоким качеством
синтезируемой речи (в том числе и русской) и используются на таких мобильных
операционных системах как Android, BlackBerry, iOS, Symbian.
Вернуться к тексту
Как показывает практика, голоса от ООО "Сакрамент" пригодны и для большего,
нежели озвучивание коротких фраз. В сфере адаптивных мобильных технологий для
пользователей с нарушениями зрения они получили широкое признание. Например,
данные TTS Engines использованы в качестве основных русских голосов в таких
продуктах, как screenreader Mobile Speak, программа чтения текстов Мобильный
рассказчик и тифлоорганайзер Pronto.
Вернуться к тексту
Помимо названных, eSpeak также портирован под мобильную операционную систему
Maemo.
Вернуться к тексту
Здесь автор противоречит сам себе, так как встроенная технология Text-To-Speech
имеется также в iOS.
Вернуться к тексту
На самом деле, встроенный синтез русской речи реализован в Symbian, начиная ещё
с 8.1. В относительно новых версиях мобильных программ экранного доступа даже
реализовано использование этого голоса в качестве основного. Вы можете загрузить
запись русского голоса, читающего строку из стихотворения А. С. Пушкина
(качество голоса как раз такое, чтобы проверить своё знание творчества великого
русского поэта).
Вернуться к тексту
Программное обеспечение синтеза речи
Для
пользовательского синтеза
и распознавания речи
на компьютере с Microsoft Windows необходимо/желательно
наличие специального программного
обеспечения, включающего:
-
Агент для
работы с движками распознавания и синтеза речи (Например, MS Agent
- 400 KB)
http://speech-soft.ru/download/MSagent.exe
-
Поддержка русского языка для агента (надписи на кнопках, меню и т.д.)
(Например, Russian Support (130 KB)
http://speech-soft.ru/download/AgtX0419.exe
-
Библиотеки для работы программ распознавания и синтеза речи
(Например, MS MS Speech API
runtime, 830 KB)
http://speech-soft.ru/download/ms_speech_api.exe
-
Движок
синтеза русской речи для агента
(Например, Lernout TTS Engine,
3 MB)
http://speech-soft.ru/download/lhttsrur.exe
-
Персонаж для агента
(Например, merlin.exe,
1,8MB)
http://speech-soft.ru/download/merlin.exe
Устанавливать компоненты желательно в
указанном порядке.
MS Speech API
начиная с Windiws XP предустановлен в
операционной системе по умолчанию.
После установки Microsoft SAPI (Speech API) в панели управления появляется
специальная иконка- агент активизирован.
Text-to-speech engine
(движки
синтеза речи) - программы преобразования текста в речь.
Именно они преобразуют текст в речь и
голос, именно они отвечают за тембр речи, скорость воспроизведения,
интонацию, и другие особенности.
Движки синтеза речи выполнены в виде системного драйвера
и не имеют внешнего интерфейса.
Для использования
движка необходима программа синтеза речи, которая выполняет роль интерфейса,
позволяет работать с движком, изменять его настройки, звучание речи, использует
дополнительные возможности.
Выпускаются движки
синтеза речи различными компаниями.
Настроек
поддерживаемые движками немного:
-
скорость речи (speed),
-
высота голоса (тембр, pitch),
-
громкость (volume)
-
ускоренный режим записи (т.е. режиме при котором запись идет в несколько раз быстрее, чем проигрывание полученного аудиофайла в реальном времени).
Движки синтеза речи
характеризуются несколькими
параметрами:
-
количество языков синтеза речи (русский,
английский, французский...),
-
тип голоса (мужской, женский...),
-
качество
синтезируемой речи,
-
поддерживаемые стандарты (SAPI - speech application
programming interface),
-
сфера применения.
Значительная часть речевых (голосовых) движков являются платными.
Microsoft поставляет бесплатный базовый набор речевых движков вместе с
операционными системами Windows XP/7/8. Это программное обеспечение называется Speech
API (SAPI).
Существует две версии SAPI:
SAPI 4 и SAPI 5. SAPI 5 не поддерживает голосов для SAPI 4 и
наоборот.
Голосовые системы SAPI4 и
SAPI5 не замечают друг друга и могут работать на одном
компьютере водной системе. В
Windows XP/7/8 голосовой движок SAPI 5. SAPI 5
позволяет добиться более качественного произношения, однако
для нее меньше бесплатных голосов: поддержка только английского языка и 3 голоса в
комплекте — Mary, Mike и Sam.
Чтобы установить движок его нужно скачать и
дважды кликнуть
по файлу, чтобы запустить процесс установки. В процессе
установки система будет информировать вас о ходе этого
процесса. Сразу же после установки голосовой движок будет
доступен для использования посредством
поддерживающей его программы-синтезатора
речи (он должен появиться в списке
доступных голосовых движков
программы-синтезатора).
Движок Sakrament TTS Engine
Автор Sakramanet Дата 2006
Сайт www.sakrament.com
Поддержка SAPI 5
Описание Русскоговорящий движок от белорусской фирмы Sakrament с программой для чтения текстов Рассказчiк
v2.0 и русскими голосами в комплекте. Поддерживает ускоренную запись.
Движок Acapela Elan Speech Cube Telecom RUS (Nicolai).
Автор Acapela Дата 2005
Сайт http://www.elantts.com
Поддержка SAPI 4 и 5
Качественно само произношение практически не изменилось, но излечился от некоторых старых болезней: теперь не сбоит на глючных словах и длинных паузах, позволяет записывать речь с ускорением, намного шире диапазон настраиваемых параметров речи. Значительно расширен и частотный диапазон нового "Николая": от голоса человека, перенесшего трахеотомию, до кастрированного в раннем детстве старика. Возможность подключения других словарей.
Движок ScanSoft RealSpeak Russian Voice (Katerina)
Автор ScanSoft (сейчас Nuance Communications) Дата 2005
Сайт http://www.nuance.com/realspeak/
Поддержка SAPI 5
Описание Женский голос «Катерины» при скорости по умолчанию больше напоминает истерическую алкоголичку, но при этом более «человеческий», чем у «Николая». Поддерживает ускоренную запись.
Движок не поддерживает тембр голоса, невозможно подключать словари к нему и иногда прорывается некоторый гул.
12.10.2012
Microsoft создала для Windows 7 новый речевой
движок.
Файл установки входит в состав Microsoft
Speech Platform - Runtime Languages –
набора языков для серверной части. Для каждого языка доступны для скачивания
модули для распознавания речи (файлы, чьи имена начинаются с "MSSpeech_SR_") и
компьютерные голоса (файлы, чьи имена начинаются с "MSSpeech_TTS_"). Русский голос Elena
(не путать с Алёной от Nuance) -
файл MSSpeech_TTS_ru-RU_Elena.msi,
размер 6 МБ). Качество речи - посредственное;
много ошибок в ударениях. Такая же ситуация и с немецким голосом
- большое количестве ошибок в произношении
немецких слов.
Русский голос Elena не поддерживают ни SAPI4, ни SAPI5. Для
его работы необходим Microsoft
Speech Platform - набор
инструментов, позволяющих разработчикам строить решения с распознаванием голоса
и перевода голоса в текст. Текущая версия 11.0 платформы предлагает голоса для
26 языков, включая русский (файлы SpeechPlatformRuntime.msi для
х64 и х86, размеры 2,6МБ и 2,2МБ соответственно).
Для голосов Microsoft Speech Platform можно использовать те же теги, что и для голосов SAPI
5. Теги смены голоса ("Voice" и "Lang") позволяют переключаться лишь
между голосами платформы (нельзя при чтении одного текста задействовать
голоса SAPI 5 и голоса Microsoft Speech Platform одновременно).
Cool Reader 2.0.66, ICE Book Reader
Professional Russian 9, "Демагог" Microsoft
Speech Platform и Елену не находят. Корректно работает с ней только
"Балаболка". Загрузить
программу (версия 2.3.0.516) .
|
Словари для
речевого движка
Голосовой движок
Acapela Alyona (русский)
Год выпуска: 2008
Платформа: Windows
Совместимость с Vista: неизвестно
Язык интерфейса: только английский
Таблэтка: Присутствует
Описание:
Компания Acapela (разработчики популярного русскоязычного голосового модуля
Николай) выпустили новый русский женский голосовой движок, который получил
название Алёна. Работает на SAPI-5 с частотой 22 КГц , по качеству синтезируемой
речи Алёна намного опережает Николая. Тембр голоса и интонация, по мнению
пользователей, приятней чем у движка Катерина от ScanSoft RealSpeak.
Вместе с движком поставляется Lexicon Manager - редактор словарей, который
позволяет изменять произношение слов как буквенно, так и фонетически.
Так же добавлю что лично мне движок понравился - произношение просто отличное,
но встречаются ошибки - поэтому составление словаря должно исправить положение.
Доп. информация: Text-to-speech engine или движки синтеза речи - это программы
выполненные в виде системного драйвера, предназначенные для преобразования
текста в речь. Движки синтеза речи не имеют внешнего интерфейса, поэтому для
того, чтобы Ваш компьютер заговорил, не достаточно установить только движок. Для
использования движка необходима программа синтеза речи (TextAloud, Cool Reader,
Balabolka и т.д), которая выполняет роль интерфейса, позволяет работать с
движком, изменять его настройки, звучание речи, использует дополнительные
возможности.
Системные требования:
Процессор: уровня Pentium
Оперативная память: 64 Mb
Видео-карта: 16 Mb
Аудио-карта: Любая
Жесткий диск: 300 Мб свободного места
Женский голосовой движок, который получил название Алёна разработанный компанией
Acapela. Работает на SAPI5SAPI4 с частотой 22 КГц, по качеству синтезируемой
речи Алёна намного опережает аналогичные русские голоса, имея намного приятнее
тембр голоса и интонацию.
Голос имеет поддержку SAPI4 и SAPI5 стандартные программные интерфейсы, и
совместим со множеством речевых приложений для чтения с экрана и т.п. В наличии
имеется полный набор инструментов для контроля параметров голоса таких как:
скорость чтения, громкость, высота, паузы, настройки эквалайзера и режима чтения
(чтение фразы, чтение отдельных слов и посимвольное чтение).
Infovox Desktop v2.220 engine (зеркало)
Russian Pro voice for Infovox Desktop V2.220 (зеркало)
Infovox Desktop v2.220 SP2 (Service Pack 2) (для обновления старых версий)
(зеркало)
Infovox Desktop v2.220 SP3 (Service Pack 3) (зеркало)
Спойлер...
Вместе с движком поставляются:
редактор голоса (Voice Manager) с помощью которого легко создавать
пользовательские голоса с любимыми настройками;
Lexicon Manager - редактор словарей, который позволяет изменять произношение
слов как буквенно, так и фонетически;
KeySpeaker приложение для чтения набираемого текста или текста из буфера обмена
в реальном масштабе времени;
SpeechPad приложение для чтения текстовых файлов, поддерживающий SAPI4 теги.
Технические требования:
OS: Windows XP, Windows Vista и Windows 7
Оборудование: Pentium II 350 MHz, 128 MB RAM, от 100MB до 300MB места на жестком
диске
Установка:
Установите Infovox Desktop v2.220 engine.
Установите Russian Pro voice for Infovox Desktop V2.220 (голосовой модуль).
* для обновления более ранних версий достаточно установить Infovox Desktop
v2.220 SP2 (Service Pack 2) поверх ранее установленных компонентов.
Ошибка импорта лицензии:
The file cannot be added to the License Manager. (-32)
The file cannot be added to the Licence Manager. (-44)
После запуска License Manager перед тем как выполнить <Import License File>
установите курсор на Alyona22K, т.к. по умолчанию он находится в корне дерева.
Возникает из-за ошибки в реестре вызванной, возможно, неправильной
установкой\удалением предыдущих версий, сбоями в работе компьютера при
установке, блокировке доступа к реестру антивирусными программами и т.п.
Только для голосового модуля Acapela Alyona (Russian)!!!
Для устранения ошибки скачайте и импортируйте ветку реестра а затем попробуйте
повторить импорт файла лицензии.
Ошибка установки:
Error Number: 0x80040702
Description: Failed to Load DLL: Aca Tts Sapi4.
Setup will now terminate. (Номер ошибки: 0x80040702
Описание: Не удалось загрузить библиотеку DLL: Aca TTS SAPI4.
Установка будет завершена.)
Ошибка связана с неполным удалением записей из реестра при удалении предыдущих
установок голосового движка. Для устранения ошибки удалите все записи с Infovox
и Acapela из реестра и затем повторите установку снова.
Словари для
голосового движка Acapela-Group (Алёна)
Основные словари:
Лексикон для словаря замен
Словарь замены ударений (рекомендуется использовать совместно с лексиконом для
словаря замен и словарем коррекции текста)
Лексикон трудночитаемых слов
Лексикон запрета чтения разделительных знаков
Словарь замены числительных и физических величин. Обсуждение и описание словаря
тут.
Словарь склонения числительных. Обсуждение и описание словаря тут.
Словарь коррекции текста (дополнительный словарь для основного словаря замен
корректирующий текст для лучшей расстановки ударений). Обсуждение и описание
словаря тут.
Дополнительные словари:
Словарь для ручного поиска омографов к "балаболка" - Alenka.hmg (скопировать в
папку мои документыbalabolka)
Расширенный словарь для ручного поиска омографов (dic+hmg). Обсуждение и
описание словаря тут.
Словарь замены текста написанного транслитом
Словарь замены для Ё-фикации текста. Обсуждение и описание словаря тут.
Словарь замен преобразующий текст написанный кириллицей в "транслит" (текст
написанный латиницей) и наоборот.
Словарь замен преобразующий текст написанный в виде "12.30" к виду "12:30".
Словарь коррекции для чтения аббревиатур. Обсуждение и описание словаря тут.
Словарь коррекции для чтения дополнительных символов юникод. Обсуждение и
описание словаря тут.
Лексикон географических названий. Обсуждение и описание лексикона тут.
«Ё»-лексикон. Обсуждение и описание лексикона тут.
Перед установкой:
Все вышеприведенные словари проверены и могут быть использованы в программах
"Балаболка" и "Демагог". Поддержка словарей другими программами не проверялась,
но скорее всего, возможна.
Что такое словарь *.dic
*.dic словари - файлы со списками замен, каждая строка которых содержит шаблон и
текст, которым будет заменен данный шаблон в тексте; между ними стоит знак
равенства (=). Левая часть - искомый фрагмент текста, правая часть - замена. В
первую очередь рассматриваются шаблоны с максимальным количеством букв, т.е. чем
длиннее у правила левая часть тем раньше оно сработает в тексте. По умолчанию
программа не учитывает различий между прописными и строчными буквами при
рассмотрении шаблонов. Если регистр букв имеет значение, в правило добавляется
символ "$" в начало строки. Например:
Цитата:
$МАГ=Международная ассоциация геодезии
По умолчанию шаблон представляет из себя отдельное слово (или несколько слов),
ограниченное пробелами или знаками препинания. Если шаблон является частью
слова, то для обозначения того, что перед текстом или после него могут быть
любые символы, используется символ "*" (звездочка). Например:
Цитата:
авто*=авта
Данное правило будет применено к словам "автомобиль", "автокатастрофа" и т. д.
Чтобы использовать в тексте специальные символы ("#", "*", "$", "="), их
записывают дважды в соответствующем месте, например:
Цитата:
**=звёздочка
В этом случае отдельный символ "*" в тексте будет читаться как "звёздочка".
Словари *.dic самые распространенные среди различных программ для синтеза речи.
Если программа поддерживает пользовательские словари то в первую очередь имеется
в виду *.dic словари. Такие словари используются для быстрой замены текста и как
правило, если есть другие форматы пользовательских словарей, они срабатывают
самыми последними.
Следует заметить что в последнее время, в связи с появлением нового алгоритма
словарных замен ( в простонародье быстрый ) форматы словарей могут отличаться
друг от друга. Более подробно про все это безобразие написано тут.
Что такое словарь *.hmg
Омографы - слова, одинаковые по написанию, но различающиеся произношением.
Иногда их также называют графическими омонимами. Одной из основных причин
возникновения омографов в русском языке является различное ударение: зáмок –
замóк. Омографы также возникают за счет того, что в текстах обычно не
проставляют точки над ё, например: небо (нéбо и нёбо), берет (берéт и берёт).
*.hmg словари - файлы со списками замен, каждая строка которых содержит перечень
словоформ искомого омографа и его искомую форму в тексте; между ними стоит знак
равенства (=). Левая часть - искомый фрагмент текста, правая часть - варианты
его замены, перечисленные через запятую.
Например:
Цитата:
замок=зАмок,замОк
По умолчанию различие между прописными и строчными буквами при рассмотрении
шаблонов не делается. Если регистр букв имеет значение, добавляют символ "$" в
начало строки также как и в словарях *.dic:
Цитата:
$Толстой=тОлстой,толстОй
Данный формат словарей поддерживается, возможно только пока, только программой
"балаболка" потому что в ней он и был придуман Для каждого омографа программа
"балаболка" позволяет добавлять список фраз, замена которых будет осуществляться
автоматически (закладка "Фразы с омографом" в редакторе омографов). Например:
Цитата:
замок=замОк
взломали замок=взломали замОк
При выполнении ручного поиска омографов в тексте (пункт главного меню "Текст|Искать
омографы") эти выражения автоматически заменяются на новые а для слов, фразы с
которыми нет в словаре, программа предлагает выбрать нужный вариант
самостоятельно.
В отличии от словарей *.dic, эти словари используются только для ручной разметки
текста. И хотя это очень долго и у многих не хватает терпения возиться со всем
этим, особенно если текст весьма объемный, использование данного способа
разметки позволяет практически полностью снять омонимию в тексте выставив нужную
форму с проставленным ударением.
Что такое лексикон?
Лексикон это список слов и их фонетическая транскрипция с помощью которой
голосовой движок «понимает» как ему нужно читать то или другое слово. Он
подключается и работает не зависимо от используемой для чтения программы.
Ударение для всех голосов Acapela-Group (в т.ч. Алёна) задаются только через
лексикон, причем учитывается также регистр букв слова. Символ пробел
игнорируется, допустимы только слова и словосочетания через дефис.
Все словари замен предназначены только для использования в программах-читалках.
Они не содержат фонетической транскрипции слов и служат только для примитивной
разметки текста (коррекции ударений, исправления неточностей набранного текста и
т.п.).
В последних версиях программ «балаболка» и «демагог» формат заменён на формат .
Словари формата это те же словари использующие регулярные выражения работающие
только по стандарту PCRE.
Словари формата поддерживаются только более ранними версиями программ где есть
переключение старого формата словарей. Если вам нужна поддержка старого формата
словарей скачайте и замените исполняющий файл в корне установленной ранее
программы для «балаболка» или «демагог» (mytts.forum2x2.ru).
hmg2dic - Утилита для выделения правил из словарей *.hmg добавленных при ручном
поиске омографов в формате для словаря замен *.dic
→
DIC/HMG конвертер - Утилита для объединения, разделения и выделения правил из
словарей *.hmg и *.dic добавленных при ручном поиске омографов в формате для
лексиконов ударений аленки.
↔
Установка и подключение лексиконов:
Качаем лексикон трудночитаемых слов и копируем его поверх старого
для Windows XP (C:Documents and Settings%username%Application DataAcapela
GroupHW2LUserLexiconsAlyona22k.dic)
для Windows VistaSeven (C:Users%username%AppDataRoamingAcapela
GroupHW2LUserLexiconsAlyona22k.dic)
* %username% это название вашей "учетной записи" или "профиля пользователя"
компьютера, если вы не знаете имя вашего профиля или их несколько и вы точно не
уверены посмотреть его можно в окне "завершения работы" - завершение сеанса "%username%".
Такое же название и в пути к папке куда копировать лексикон.
* Если папка невидна в проводнике то нужно включить отображение скрытых и
системных папок в настройках операционной системы. Для этого откройте
пуск-панель управления-свойства(параметры) папки и на вкладке вид в секции
"Скрытые файлы и папки" установите "Показывать скрытые файлы, папки и диски" и
повторите поиск папки снова.
Качаем лексикон для словаря замен и лексикон запрета чтения разделительных
знаков и подключаем их (не импортируем) так чтобы лексикон для словаря замен
стоял первым, потом лексикон трудночитаемых слов и лексикон запрета чтения
разделительных знаков (тот что верхний тот приоритетнее). Основной лексикон
находится по адресу
для Windows XP (C:Documents and Settings%username%Application DataAcapela
GroupHW2LUserLexiconsAlyona22k.dic)
для Windows VistaSeven (C:Users%username%AppDataRoamingAcapela
GroupHW2LUserLexiconsAlyona22k.dic)
его нужно подключить вторым после лексикона для словаря замен.
Установка и подключение словарей
для программы "Балаболка":
Устанавливаем «балаболка», скачиваем словарь замен и словарь коррекции текста -
копируем их в папку «мои документыbalabolka».
Запускаем "балаболка" подключаем словари те, что мы скопировали в папку мои
документыbalabolka (omograph.dic+corrector.ini), если нужно и остальные словари.
Программа готова к чтению.
Для предварительной обработки текста словарём предусмотрена опция "Показать
измененный текст" - копируем, вставляем и читаем(записываем).
Важно: для лучшей расстановки замен ini-словарями в программе "балаболка" в
настройках нужно выбрать опцию "Применять правила к большим по размеру частям
текста"
Установка и подключение словарей
для программы "Демагог":
Устанавливаем программу. Программа портативная, не требующая установки.
Скачиваем словарь замен и словарь коррекции текста - копируем их в папку dic,
которая находится в папке с дистрибутивом.
Запускаем "Демагог". На пользовательской панели нажмите кнопку Словари или F10.
Слева появится панель словарей:
Подключите ранее скопированные в папку dic словари, отметив их в списке.
Программа готова к чтению.
Для предварительной обработки текста словарём, нужно его отметить на панели
словарей, и нажать Сервис → Статистика → Измененный текст. Все результаты будут
отображаться в последней вкладке 0-Статистика, причем каждый последующий
результат удалит предыдущий.
Важно: нужно всегда сохранять результаты статистики в файл, или копировать их в
другую вкладку.
Важно: нужно всегда отключать словари после предварительной обработки текста,
иначе будет повторное его изменение уже "на лету", и это может привести к сбою
чтения.
Важно: для правильной работы старых словарей необходимо включить режим
совместимости со стандартом VBScript в общих настройках меню сервис.
Читать замененный словарями текст можно в любой программе для чтения.
Нужно обратить внимание! В отличии от "Демагога" программа "Балаболка" имеет два
режима применения правил словарями - обычный и быстрый режимы.
Основные словари замен сейчас работают одинаково (должны работать) как в
стандартом так и в быстром режимах, но поскольку быстрый режим относительно
новый то не все словари еще полностью проверены на совместимость и для более
точной расстановки ударений словарями рекомендуется пока использовать обычный
режим применения правил "Говорилка", не потому что второй плохой просто так
сделаны сами словари и при втором методе некоторые замены могут быть не учтены в
тексте. Второй метод лучше всего использовать для больших словарей замен в
которых не используется маска для замены (символ *) а также если при чтении "на
лету" чувствуется значительная задержка при чтении, рывки, замирания и т.п.
Также настоятельно рекомендуется использовать функцию "форматировать текст"
перед и после применения словарей замен для записи в аудио, или перед чтением со
словарями замен "на лету", это также частично улучшит расстановку ударений
словарями замен.
Справочка:
Как редактировать лексикон?
Для редактирования лексикона необходимо запустить программу-редактор словаря. По
умолчанию она находится тут "C:Program FilesAcapela GroupInfovox Desktop
2.2LexiconMgr.exe" или ищите LexiconMgr.exe если установка была на другой
диск(папку).
Как импортировать слова в лексикон?
Откройте лексикон-менеджер и нажмите Ctrl+i и затем выберите нужный текстовый
файл словаря транскрипций.
Как создать новый лексикон?
Откройте лексикон-менеджер и нажмите Ctrl+N
Как подключить новый лексикон не импортируя его в общий?
Откройте лексикон-менеджер и нажмите Ctrl+t затем нажмите добавить лексикон (Add
lexicon) выберите нужный лексикон (файл с расширением dic)
Как экспортировать мой лексикон?
Откройте лексикон-менеджер и нажмите Ctrl+Shift+X.
Как подключить словарь замен?
Скопируйте словарь замен в папку balabolka в папке «Мои документы» где они у вас
находятся. Долее запустив программу, включите панель словарей и справа выберите
нужный словарь.
Как включить замену слов в тексте из «balabolka»?
Для замены слов в тексте по словарю откройте текст, включите нужный словарь
замен и нажмите Ctrl+T.
Как добавить слово вручную если оно произносится неправильно?
Для этого необходимо открыть лексикон и ввести слово в окне «Word» ниже появится
его фонетическая транскрипция которую можно править. Нажимаем «Copy to
pronunciation» и в окне «pronunciation» правим. Для того чтобы посмотреть какие
звуки какой вид в транскрипции имеют есть подсказка «Show phonetic table».
Ударение в слове можно отобразить цифрами 1 и 2 причем ударение с 1 читается
более длиннее а с 2 более отрывистее например:
Код:
за́мок: # z A1 m @ k
за́мок: # z A2 m @ k
замо́к: # z @ m o1 k
замо́к: # z V m o2 k
Затем жмем «Add word to lexicon» и «Save lexicon» Ctrl+S.
Как построить фонетическую транскрипцию для большого количества разных слов
(любых)
Для этого можно воспользоваться этой программой (ACATTS). Выбрав необходимый
список слов или текст, для которых нужна транскрипция, программа дает
возможность быстро получить фонетическую транскрипцию слов готовую для импорта в
лексикон.
Как проверить текст на трудночитаемые слова с учетом моего лексикона?
Для этого можно воспользоваться этой программой (ATTS). Выбрав необходимый
список слов или текст, для которых нужна транскрипция, программа дает
возможность быстро получить фонетическую транскрипцию слов с учетом подключенных
к голосу лексиконов готовую для импорта в лексикон.
Для быстрого создания фонетической транскрипции слова с учетом ударения в нужном
месте существует транскриптор - программа, объединяющая в себе все функции
вышеперечисленных программ. Программой поддерживается классический формат
ударения для Аленки - заглавная буква. Также можно использовать пользовательские
словари для создания собственных фонетический правил и\или коррекции уже готовых
транскрипций.
Следует обратить внимание что программа работает с голосовым профилем
установленным по умолчанию (Alyona22k). Если используется другой голосовой
профиль необходимо изменить название профиля в настройках программы на нужный.
Как мне сказать где за́мок а где замо́к?
На сегодня есть три способа поиска омографов в тексте. Какой из них лучше и
каким пользоваться решайте сами.
Ручной - с помощью словаря омографов в той же «балаболке».
Плюсы: максимальное к-во распознанных омографов в тексте.
Минусы: очень долго.
Автоматический - с помощью словаря замены в котором часть часто употребляемых
омографов уже прописана.
Плюсы: довольно просто и быстро.
Минусы: не все омографы находятся.
Автоматический - воспользоваться «книгоделом» или «Cognitive Dwarf Shell».
Плюсы: очень быстро и просто.
Минусы: встречаются ошибки не много, но есть.
Один голос но разные голоса
С помощью Voice Manager в программе предусмотрена возможность как настраивать
параметры голоса (скорость, громкость, паузы между знаками препинания) так и
создавать различные "голосовые профили" основанные на одном конкретном голосе.
Как правило такие профили нужны для быстрого переключения между различными
настройками одного голоса, например быстрого чтения простого и понятного текста
не несущего большой смысловой нагрузки и медленного чтения более информативно
насыщенного текста.
Нужно обратить внимание, что для каждого голосового профиля программа создает
свой отдельный лексикон. В случае использования одного универсального лексикона
необходимо повторить процедуру подключения его (лексикона) в редакторе
лексиконов (лексикон менеджере) "C:Program FilesAcapela GroupInfovox Desktop
2.2LexiconMgr.exe" предварительно выбрав необходимый голосовой профиль Voice -
Select new voice (Ctrl+Shift+V).
Как улучшить чтение слов написанных латиницей
Создаем новый голосовой профиль, называем его например eng вот с такими
настройками:
и для разметки текста используем словарь билингва для нового профиля заменив
название голоса на свой:
Код:
<@>=<voice required="Name=eng">
</@>=</voice>
Справка по работе с лексиконами для голоса Alyona:
Цитата:
Документ описывает некоторые важные аспекты лингвистической обработки русской
тексто-речевой системы. Описываются различные типы символов и форматов,
допустимых в тексте. Описание основано на символах со стандартным кодом ANSI
1251 для алфавитов кириллицы.
Русский
Английский
Для слежения за обновлениями словарей, пользуйтесь программой myTTS проверялка
Условные обозначения:
- словарь замен dic работающий только по быстрому методу применения правил;
- словарь замен dic работающий только по стандартному методу применения правил;
- словарь замен dic работающий одинаково как по быстрому так и по стандартному
методам применения правил;
- словарь замен ini использующий регулярные выражения работающий только по
стандарту VBScript;
- словарь замен ini использующий регулярные выражения работающий только по
стандарту PCRE;
- словарь замен ini использующий регулярные выражения работающий одинаково по
стандарту VBScript и PCRE;
- словарь для ручного поиска омографов, только для программы "балаболка";
- словарь омографов, только для программы "Cognitive Dwarf Shell";
- словарь замен, только для программы "Cognitive Dwarf Shell";
- лексикон, только для голосов Acapela-Group.
Лучшие русские голосовые движки
марта 7,
2012
http://vmiresofta.orgfree.com/luchshie-russkie-golosovye-dvizhki.html
Text-To-Speech
Loquendo TTS — голосовой движок Ольга — синтезирует русскую
речь женским голосом. Ольга — первый русский голос от
Loquendo. Loquendo TTS это много раз завоевавший награды
метод синтеза речи с бесподобной эмоциональной
выразительностью и неподдельно, словно живыми, голосами для
всех основных языков. Он доступен для телефонии, мультимедиа
приложений и для встраиваемых устройств различного
применения. По мнению пользователей тембр голоса и интонация
синтезатора Loquendo Olga приятны на слух, произношение
просто отличное. Применение этого голосового движка позволит
заменить чтение текста его прослушиванием, снимая тем самыи
нагрузку на глаза. Кроме того, он может быть использован для
подготовки аудиокниг.
Доступны языки Russian, U.S. and U.K. English, Polish,
Mandarin Chinese, German, Dutch, Swedish, French, Canadian
French, Greek, Turkish, American Spanish, Mexican, Chilean
and Argentinian Spanish, Castilian, Catalan, Valencian,
Galician, Brazilian, Portuguese, Esperanto and Italian как в
мужском, так и женском исполнениях, а также многие другие
находятся в разработке.
Разработчик: Loquendo (Италия)
Платформа: All Windows
Интерфейс: английский
Год выпуска: 2008
Прослушать голос Ольга.
Русскоязычный голосовой движок Алена — приятный женский
голос по качеству синтезируемой речи намного превосходит
большинство существующих на сегодняшний день аналогичных
движков. Гибкость настройки голоса обеспечивает Lexicon
Manager — редактор словарей, который позволяет изменять
произношение слов как буквально, так и фонетически. Алёна,
работает на SAPI-5 с частотой 22 КГц , по качеству
синтезируемой речи Алёна намного опережает Николая, тембр
голоса и интонация по мнению пользователей приятней чем у
движка Катерина от ScanSoft RealSpeak.
Используя голосовой движок Алена и программу для чтения Вы
можете за пару минут превратить любой текст в аудиокнигу.
Произношение, конечно, слегка специфическое, но к этому
быстро привыкаешь, а удобство — налицо.
Разработчик: Acapella
Платформа: All Windows
Интерфейс: английский
Год выпуска: 2008
Прослушать голос Алена.
ScanSoft RealSpeak Russian Voice (Katerina) — работает на
работает на SAPI-5 с частотой 22 КГц с частотой 22 КГц.
Женский голос «Катерины» более «человеческий», чем у
«Николая». Поддерживает ускоренную запись. Правда есть
несколько недостатков: движок не поддерживает тембр голоса,
невозможно подключать словари к нему.
Разработчик:ScanSoft
Платформа: All Windows
Интерфейс: английский
Год выпуска: 2005
Прослушать голос Катерина.
Acapela Elan Speech Cube Telecom RUS (Nicolai) — работает на
SAPI-4 и SAPI-5 с частотой 16 КГц. Это новый синтезатор речи
TTS из серии «Digalo».Значительно расширен частотный
диапазон, возможность подключения других словарей.
Разработчик: Aсapella
Платформа: All Windows
Интерфейс: английский
Год выпуска: 2005
Прослушать голос Николай.
Все голоса записаны с помощью программы ТextAloud, но о
программах для работы с TTS в следующих статьях.
Популярность: 100%
|
Голосовые платформы
Голосовая платформа
-
программный или программно-аппаратный
комплекс, использующий протокол MRCP, и предназначенный
для реализации систем голосового
взаимодействия с использованием технологий распознавания и
синтеза речи.
Голосовая платформа – это комплекс решений, для реализации собственных
голосовых сервисов.
VoiceNavigator — это голосовая платформа, предназначенная
для создания систем самообслуживания на базе телефонных IVR
сервисов с возможностями распознавания, синтеза речи и
аутентификации пользователей по голосу.
Примеры интерактивных систем голосового самообслуживания:
«Электронный секретарь» предложит звонящему в режиме
речевого диалога назвать интересующую информацию, конкретную
услугу или имя требуемого сотрудника и переведет звонок по
назначению
Корпоративная система голосового самообслуживания клиентов
со сложными многоуровневыми меню
Автоматизированная справочная система самообслуживания
клиентов - позволяет организовать полноценный диалог с
клиентом, в котором автоматизированная справочная система
самообслуживания клиентов задает вопросы и, получая ответы
клиента, адекватно на них реагирует
Сервисы для проведения телефонных опросов и голосований
Системы голосовой аутентификации пользователей при запросе
персонализированной или конфиденциальной информации по
телефону или web
Примеры голосовых платформ: Asterisk, FreeSWITCH, Avaya
Voice Portal, Genesys Voice Platform, Cisco Unified CCX,
Siemens OpenScape.
Microsoft Speech Platform (Речевая
платформа Microsoft) — это набор программных модулей и средств разработки,
позволяющих разработчикам создавать приложения и сервисы с поддержкой речевых
технологий (распознавание речи и синтез речи по тексту), а пользователям
взаимодействовать с такими приложениями. В официальных анонсах можно встретить
указание на то, что Речевая платформа является, в определённой степени,
развитием речевых технологий Microsoft, известных под общим названием Microsoft
Speech API (MS SAPI), однако это вполне самостоятельный программный продукт,
который можно установить в системе независимо от того, присутствует ли в ней MS
SAPI или нет. Текущая версия 11.0 платформы
предлагает голоса для 26 языков, включая русский.
Для работы
синтезатора речи необходимо загрузить и установить следующие компоненты
Microsoft Speech Platform:
-
Microsoft Speech Platform - Runtime
– серверная часть платформы, предоставляющая API
(набор функций) для программ (файл с именем "SpeechPlatformRuntime.msi"
для 32-битных и 64-битных версий Windows).
-
Microsoft Speech Platform - Runtime Languages –
набор языков для серверной части. Для каждого языка
доступны для скачивания модули для распознавания речи (файлы,
чьи имена начинаются с "MSSpeech_SR_") и компьютерные
голоса (файлы, чьи имена начинаются с "MSSpeech_TTS_").
Microsoft Speech
Platform создавалась с целью объединить воедино распознавание и синтез речи.
Главное здесь - это реализация поддержки языка VoiceXML; с помощью этого языка
машина и человек смогут "общаться" друг с другом.
Microsoft Speech
Platform предназначена для использования в различного рода call-центрах: клиент
набирает телефонный номер, ему отвечает компьютер, задает вопросы при помощи
синтезатора речи, распознает ответы человека и, в зависимости от этих ответов,
действует дальше согласно командам скрипта на языке VoceXML. Поэтому и
компьютерные голоса предлагаются низкого качества - для ответов по телефону
такого качества звучания достаточно; зато небольшой по размеру речевой движок
имеет скромные системные требования, что позволяет сэкономить деньги на
компьютерной технике для call-центра.
Установка Microsoft
Speech Platform SDK 11:
-
Удалите из системы
все предыдущие версии Microsoft Speech Platform SDK и Microsoft Speech Platform
Runtime.
-
Убедитесь, что в
системе установлен Microsoft. NET Framework версии 4.0. Если необходимо, то
загрузите дистрибутив . NET 4.0 Frameworkпо ссылке
http://www.microsoft.com/ru-ru/download/details.aspx?id=17851 и установите
его.
-
Определите, какая
операционная система - 32-разрядная или 64-разрядная - установлена на компьютере.
-
По нижеследующей
ссылке загрузите дистрибутив Microsoft Speech Platform Runtime 11,
соответствующий разрядности вашей системы:
http://go.microsoft.com/fwlink/?LinkID=223568&clcid=0x409
-
Если необходимы
средства разработки речевых приложений, то по нижеследующей ссылке загрузите
дистрибутив Microsoft Speech Platform SDK 11,соответствующий разрядности вашей
системы:
http://go.microsoft.com/fwlink/?LinkID=223570&clcid=0x409
-
Установите
SpeechPlatformRuntime.msi.
-
Если необходимо, то
установите MicrosoftSpeechPlatformSDK.msi.
Установленные
компоненты не содержат языковых модулей для распознавания или синтеза речи.
Языковые модули (Language Runtime) включает в себя данные, необходимые речевому
движку для распознавания или синтеза речи на конкретном языке, причём модули
представлены отдельно для распознавания и синтеза для каждого языка. Версия
языкового модуля должна соответствовать версии установленной речевой платформы.
Загрузить языковые модули интересующих языков можно по ссылке
http://go.microsoft.com/fwlink/?LinkID=223569&clcid=0x409.
Центры обработки вызовов клиентов развивались в течение 20-го столетия,
начав с агентов-операторов, которые отвечали на телефонные звонки.
Сегодня подобным центрам придается особое значение. 92%
пользователей формируют свое мнение о компании на
основании работы ее call-центра. 68% клиентов могут сменить бренд в связи с
плохой работой центра.
20-25% персонала call-центров являются работниками самих
компаний, остальная часть рынка - это арендуемые центры. Рынок аутсорсинга call-центров в Европе увеличивается
на 15-20% ежегодно.
С
точки зрения ПО, call-центры являются частью более крупных систем Customer
Relationship Management (CRM). Кроме того, на сегодняшний день на рынке идет
сращение call-центров с контакт-центрами, которые дают более широкий спектр
возможностей для обслуживания связи с клиентами.
Контакт-центры дают возможность интегрировать все современные способы связи
с клиентом: через фиксированные или мобильные телефонные линии, посредством SMS, факса, электронной почты, чатов, интернет-пейджеров и
т.д.
Почти 85,6% всех call-центров осуществляют связь с
клиентами посредством email, 76,4% используют факс, 54,3% - IVR-телефонию,
52,8% обеспечивают возможность интернет-самообслуживания для клиентов, 15,6%
- веб-чат.
Лидерами рынка call-центров на сегодняшний день являются четыре компании – Avaya
(безусловный лидер, до 40% рынка), Nortel Networks, подразделение компании Alcatel – Genesys и Cisco
Systems.
Рынок более
$12,2 млрд.
|
Языковое обеспечение голосовых платформ
Голосовая платформа
-
программный или программно-аппаратный
комплекс, использующий протокол MRCP, и предназначенный
для реализации систем голосового
взаимодействия с использованием технологий распознавания и
синтеза речи.
Голосовая платформа – это комплекс решений, для реализации собственных
голосовых сервисов.
VoiceNavigator — это голосовая платформа, предназначенная
для создания систем самообслуживания на базе телефонных IVR
сервисов с возможностями распознавания, синтеза речи и
аутентификации пользователей по голосу.
Примеры интерактивных систем голосового самообслуживания:
-
«Электронный секретарь» предложит звонящему в режиме
речевого диалога назвать интересующую информацию,
конкретную услугу или имя требуемого сотрудника и
переведет звонок по назначению
-
Корпоративная система голосового самообслуживания
клиентов со сложными многоуровневыми меню
-
Автоматизированная справочная система самообслуживания
клиентов - позволяет организовать полноценный диалог с
клиентом, в котором автоматизированная справочная
система самообслуживания клиентов задает вопросы и,
получая ответы клиента, адекватно на них реагирует
-
Сервисы для проведения телефонных опросов и голосований
-
Системы голосовой аутентификации пользователей при
запросе персонализированной или конфиденциальной
информации по телефону или web
Примеры голосовых платформ: Asterisk, FreeSWITCH, Avaya
Voice Portal, Genesys Voice Platform, Cisco Unified CCX,
Siemens OpenScape.
Принятым в индустрии стандартом для реализации функционала
синтеза и распознавания является использование протокола
MRCP.
MRCP
(Media Resource Control Protocol, протокол управления
медиаресурсами используется в голосовых порталах и
предоставляет доступ приложениям, которые устанавливаются на
компьютеры с Windows к TTS (модулям синтеза) и ASR (модулям
распознавания).
MRCP
представляет собой простой
текстовый протокол, похожий на HTTP. Передаваемые MRCP
запросы и ответы инкапсулируются в транспортный протокол RTSP.
Передача голосовых данных производится посредством протокола
RTP. Спецификация определяет ряд методов и параметров,
которые участвуют в установлении и управлении сессиями
синтеза/распознавания.
Без MRCPv2 программистам, разрабатывающим голосовые
приложения, необходимо приспосабливаться к особенностям
фирменных механизмов обработки речи. Именно для борьбы с фирменными интерфейсами компании Cisco,
Nuance и Speechworks разработали протокол MRCP в 2001 г.
Первая версия MRCP была ориентирована на системы обработки
речи с высокой степенью централизации, и в ней не были
предусмотрены такие ключевые аспекты, как идентификация и
верификация говорящего лица — SI (Speaker Identification) и
SV (Speaker Verification) соответственно. MRCPv1 имел такие
недостатки, как плохая масштабируемость и недостаточная
информационная безопасность.
В 2002 г. IETF была
сформирована группа SpeechSC, ориентированная на решение
всех этих вопросов, в том числе на стандартизацию
интерфейсов для сервисов TTS, SI, SV и механизмов
распознавания речи (Automatic Speech Recognizer — ASR).
Протокол MRCPv2 представляет собой реализацию этой концепции.
Технология MRCPv2 строится на существующих протоколах
IP-телефонии и передачи голосовой информации — SIP (Session
Initiation Protocol), RTP (Real-Time Transport Protocol) и
VoiceXML. Сопредседатели группы SpeechSC Эрик Бюргер и Дэвид
Орэн (представляющий компанию Cisco) одновремен-но входят в
Совет директоров Форума SIP. Г-н Бюргер также является
членом Комитета MRCP Форума VoiceXML.
Большинство участников группы
SpeechSC представляют компании, работающие в области систем
обработки речи.
Отсутствует в списке
участников SpeechSC компании Microsoft. Ее продукт Microsoft
Speech Server, — который базируется на собственном
коммуникационном протоколе компании, известном под названием
SAPI (Speech Application Programming Interface), — является
важным компонентом развиваемой Microsoft концепции
объединенных коммуникаций. Сервер Speech Server позволяет пользователю системы Exchange 2007 получать
электронную почту на мобильный телефон (при этом
используются функции распознавания речи и TTS). Но Microsoft
до сих пор не делала никаких официальных заявлений по поводу
MRCPv2 — ни за, ни против.
Изначально Microsoft
намеревалась использовать для продукта Speech Server
технологию SALT (Speech Application Language Tags). Однако в
апреле 2006 г. она заявила, что Speech Server будет полностью поддерживать и SALT и VoiceXML. Одной из
причин такого решения стал поворот рынка в сторону VoiceXML,
и Microsoft поняла необходимость поддерживать эту
технологию. Возможно, будет разработан транслятор SAPI
— MRCP, который эффективно решит проблему, связанную с
неучастием Microsoft в проекте MRCPv2.
Принятие фирмами-производителями стандарта MRCPv2 упростит и
удешевит разработку речевых приложений,
сделает проще и переход от одной системы обработки речи к
другой.
UniMRCP
– это кроссплатформенное программное обеспечение с открытым
исходным кодом на основе MRCP.
Библиотека
UniMRCP
- набор необходимых средств для
реализации функций MRCP-клиента и MRCP-сервера).
Библиотека UniMRCP поддерживает
версии протокола MRCPv1 и MRCPv2,
работу с ресурсами распознавания,
синтеза, верификации и записи речи.
MRCP-сервер
управляет взаимодействием между используемой голосовой
платформой и модулями ASR (automatic speech recognition,
автоматическое распознавание речи ) и (text to speech,
синтез речи по тексту).
MRCP Server поддерживает различные голосовые платформы.
MRCP-запросы передаются командами протокола RTSP (real-time
streaming protocol, протокол непрерывной передачи и контроля
данных в реальном масштабе времени).
Для передачи звуковых данных используется протокол RTP.
RTP
(Real-Time Transport Protocol, транспортный протокол
реального времени) - протокол прикладного уровня, один из
протоколов IPv6. Служит для доставки до пункта назначения
потокового аудио и видео реального времени, предусматривает
идентификацию
-
типа передаваемой полезной нагрузки (контента),
-
нумерацию последовательностей (sequence numbering),
-
отметки времени,
-
контроль доставки.
RTP является альтернативой протоколу TCP и поддерживает
многоадресные (multicast) сетевые сервисы.
Через MRCP-сервер голосовая платформа запрашивает доступ к
модулям распознавания и синтеза речи, в зависимости от этого
используются различные схемы взаимодействия.
Модуль ASR занимается распознаванием речи. Ключевым понятием
для ASR является
SRGS
(Speech Recognition Grammar Specification, грамматика
системы распознавания речи) – стандарт консорциума W3C,
который описывает структуру грамматики, используемой в
распознавании речи.
SRGS содержит набор словесных шаблонов, которые, как
ожидается, будет произносить человек, типичные для
вызывающего и для вызываемого. SRGS позволяет задавать слова
или словосочетания, которые могут быть распознаны речевым
движком.
Теги SRGS позволяют строить сложные меню, например:
-
confidence level - уровень уверенности распознавания
(коэффициент достоверности)
-
n-best - возврат нескольких результатов распознавания с
указанием confidence level для каждого
-
instance - семантическая интерпретация произносимых
клиентом равнозначных слов и выражений
SRGS имеет два эквивалентных формата (одна и та же
грамматика может быть представлена одной из следующей форм):
ABNF
(Augmented Backus-Naur Form, пополненная нормальная форма
Бэкуса-Наура) - расширение нормальной формы Бэкуса-Наура (BNF)
- метасинтаксис (metasyntax) для представления
контекстно-свободных грамматик (context-free grammar), то
есть формальный способ описания формальных языков (formal
language ), имеющих собственный синтаксис и порождающие
правила. Побудительным мотивом к созданию этого метаязыка (metalanguage)
была необходимость описания формальной языковой системы,
представляющую собой протокол.
Модуль TTS использует
SSML
(Speech Synthesis Markup Language, язык разметки для синтеза
речи) - часть спецификации VoiceXML ,
которая также является стандартом консорциума W3C.
Схема работы
голосовой платформы
Asterisk:
-
Звонок поступает на голосовую платформу.
-
Голосовая платформа активирует сценарий
голосового меню, по которому происходит дальнейшее
взаимодействие с абонентом.
-
Сценарий голосового меню определяет:
когда система должна прочитать абоненту инструкцию,
задать вопрос и как обработать его ответ.
-
VoiceNavigator принимает от голосовой
платформы запросы на распознавание и синтез речи,
выполняют их и возвращают результат выполнения по
протоколу MRCP.
-
При распознавании речи, голосовая
платформа передает SRGS-грамматику и оцифрованную речь и
получает ответ в виде NLSML.
-
При синтезе речи, голосовая платформа
передает plain-текст или SSML и получает в ответ
синтезированную речь.
|
SSML
SSML
(Speech Synthesis Markup Language, язык разметки для синтеза
речи) стандарт консорциума W3C основанный на XML для
применения в приложениях синтеза речи.
Управление синтезом в SSML происходит с помощью тегов, с
помощью которых можно определить:
-
индивидуальными голосами,
-
скоростью произнесения,
-
громкостью,
-
сменой мужского и женского голосов,
-
произношением,
-
интонацией,
-
скоростью,
-
длиной пауз,
-
правилами чтения,
-
высотой (тоном).
Тег
voice
-
Позволяет менять голос.
Например, VoiceNavigator имеет 5
голосов: Мария, Анна, Лидия, Александр, Владимир.
Пример:
<voice name=\"Мария8000\">Меня зовут Мария.</voice>
Тег
say-as
-
Определяет способ чтения заключенного в тег выражения.
<say-as информационная часть тега> текст </say-as>
Информационная часть тега представляет собой список вида:
Атрибут тега = «Значение атрибута»
На одном слове может быть не более одного тега.
Вложенность тегов say-as запрещена.
Арибут
stress
Задаёт номер гласной, на которой на слово ставится
основное ударение.
Нумерация считается по гласным слова, начиная с 1.
Формат:
<say-as stress="номер гласной"> Исходное слово</say-as>
В случае несоответствия значения атрибута количеству
гласных в слове атрибут будет
проигнорирован.
Пример:
<say-as stress="2"> Компас </say-as>
Вместо слова «ко<мпас», будет обрабатываться слово «компа<с».
Арибут
interpret-as
Значение «date»
Устанавливает значение даты в грегорианском стиле. Текст
внутри тега задается в виде числовых полей с
разделителями. Разделителем может быть точка, дефис,
двоеточие или слеш. При этом необходимо наличие атрибута
format, значением которого является одна из следующих
строк:
«mdy» – месяц, день, год «ym» – год, месяц
«dmy» – день, месяц, год «my» – месяц, год
«ymd» – год, месяц день «m» – месяц"
«md» – месяц, день «d» – день
«dm» – день, месяц «y» – год
Примеры:
<say-as interpret-as="date" format=\"dy\"> 3/02
</say-as>
— «март две тысячи второго года»
<say-as interpret-as="date" format=\"mdy\"> 3/6/02
</say-as>
— «шестого марта две тысячи второго года»
Значение «time»
Устанавливает значение времени. Текст внутри тега
задается в виде числовых полей с разделителями или без
них, в последовательности: часы, минуты, секунды.
Разделителем может быть точка, дефис, двоеточие или слеш.
Примеры:
после <say-as interpret-as=\"time\">2230</say-as>
— «после двадцати двух»
сейчас <say-as interpret-as=\"time\"> 9:21:30
</say-as> — «сейчас девять часов двадцать одна минута
тридцать секунд»
Значение «telephone»
Задает чтение данного слова или группы слов как номеров
или номера телефонов. Слово номер телефона может
содержать знак «+» и круглые скобки. Номер читается как
количественное числительное в именительном падеже. При
этом происходит разбиение номера на двух- и трехзначные
числа. Нечисловые слова, попавшие в область действия
тега, при этом обрабатываются обычным способом.
Пример:
<say-as interpret-as=\"telephone\"> +7 (812) 1234567
добавочный 2345</say-as>
Значение «characters»
Задает чтение данного слова или группы слов по буквам.
При этом буквы читаются как алфавитные, числительные по
цифрам, как количественные в именительном падеже,
специальные символы и знаки препинания заменяются
соответствующими словами. Прописные и строчные буквы при
этом не различаются.
Пример:
<say-as interpret-as=\”characters\”> Б2a24-B!Zх?#7X
</say-as>
— «бэ два а два четыре дефис би восклицательный знак зэт
икс вопросительный знак решетка семь икс»
Тег
break
-
Добавление паузы заданной длительности или типа.
Атрибуты:
strength — «выразительность» паузы. Допустимые значения
«none», «x-weak», «weak», «medium» (по умолчанию),
«strong», «x-strong».
time – длительность паузы в миллисекундах.
Атрибуты strength и time могут быть указаны одновременно,
при этом strength влияет только на интонацию, а time на
длительность паузы.
Пример задания паузы длинной 3.6 секунды:
Я отойду на минутку. <break time=\"3600\"/> Вы еще здесь?
Тег
prosody
-
Позволяет контролировать тон, скорость и громкость речи.
Атрибуты (все необязательные)
pitch — среднее значение тона.
Допустимые значения: от 0.5 до 2.
rate — скорость речи. Допустимые значения: относительное
изменение или одно из значений «x-slow», «slow»,
«medium», «fast», «x-fast», «default».
volume — громкость. Допустимые значения: относительное
изменение или одно из значений «silent», «x-soft»,
«soft», «medium», «loud», «x-loud», «default».
Пример:
<prosody volume=\"25\" rate=\"x-slow\"> Доброе утро!</prosody>
Тег
phoneme
Тег обеспечивает фонемную транскрипцию
Атрибуты:
ph – транскрипция, обязательный атрибут;
alphabet – алфавит, который используется для задания фонем.
VoiceNavigator поддерживает алфавит IPA.
Пример:
<phoneme alphabet="ipa" ph="Транскрипция на алфавите IPA (символы
алфавита не отображаются Хабром)">
Базовая структура SGRS-грамматики:
Весь SGRS-документ описывается в теге
grammar.
Грамматика содержит правила распознавания речи, описываемые
в теге rule и каждое правило имеет уникальное имя в пределах
грамматики задаваемое атрибутом id. Правило, с которого
начинается распознавание в грамматике, задается атрибутом
root в теге grammar.
Альтернативные варианты
позволяют распознать одно слово из заданного множества
и задаются тегами one-of и item.
Например:
Такая «расширенная» грамматика позволяет распознать
произнесения: «красный велосипед», «зеленый велосипед» или «синий
велосипед».
Элемент item может содержать любой тег, который описывает
правило SGRS-грамматики, включая последовательности слов или
элемент one-of.
Более полная версия грамматики может содержать вес в каждой
альтернативной ветви
распознавания. Вес задается с помощью тега weight элемента
item.
Правила могут содержать в себе
ссылки на другие правила.
Ссылки на другие правила задаются элементом ruleref и служат
для использования одного и того же правила в разных местах
грамматики.
В следующем примере выделим цвет велосипеда в отдельное
подправило:
Специальные правила
SGRS имеюь зарезервированые
имена: NULL и GARBAGE.
Специальные правила задаются атрибутом special элемента
ruleref.
Правило NULL срабатывает автоматически, если пользователь
ничего не произнес.
Правило GARBAGE (использующее модель «средней речи»)
позволяет создавать так называемые «открытые грамматики».
т.е. различать слова из грамматики и «мусор».
Например:
Если сказать «Я хочу горный красный
велосипед», то система вернет в
качестве результата распознавания «горный велосипед».
Семантическая интерпретация
представляет собой механизм, который позволяет задать
значение для распознанного слова, которое потом можно
использовать в логике голосового приложения.
Например: можно произнести «да», «хорошо» или «согласен», но
семантический результат этих слов одинаков.
В SGRS-грамматики семантика задается элементом tag. Тип
содержимого этого элемента задается атрибутом tag-format
элемента grammar. Спецификация Semantic Interpretation for
Speech Recognition определяет стандартные значения для
атрибута tag-format: semantics/1.0-literals и semantics/1.0.
Синтаксис элемента tag типа semantics/1.0-literals
представляет собой простую строку.
Тип semantics/1.0 представляет собой более мощное средство в
виде скриптового языка. В этом случае элемент tagсодержит
код языка ECMAScript.
Пример:
Speech Synthesis Markup Language (SSML)
(Язык Разметки Синтеза Речи) - представляет собой
основанный на XML язык
разметки для
приложений синтеза
речи[1].
Он был рекомендован рабочей группой W3C[2].
SSML часто встраивается в сценарии VoiceXML для
интерактивных систем телефонии[3].
Однако, это также может быть использовано независимо от
телефонии, например для создания аудио книг.
SSML основан на языке разметки Java
Synthesis Markup Language (JSML),
разработанном Sun
Microsystems, хотя нынешние рекомендации были
разработаны главным образом производителями синтезаторов
речи. Он охватывает практически все аспекты синтеза речи,
хотя в некоторых областях остались неопределенные аспекты,
поэтому каждый производитель принимает иной вариант языка[4].
Кроме того, в отсутствие разметки, синтезатор, как ожидается,
должен выполнить свое собственное толкование этого текста.
Так SSML не является таким жестким в плане синтаксиса, как
язык C,
или даже HTML.
Вот пример документа SSML:
<?xml version="1.0"?>
<speak xmlns="http://www.w3.org/2001/10/synthesis"
xmlns:dc="http://purl.org/dc/elements/1.1/"
version="1.0">
<metadata>
<dc:title xml:lang="en">Telephone Menu: Level 1</dc:title>
</metadata>
<p>
<s xml:lang="en-US">
<voice name="David" gender="male" age="25">
For English, press <emphasis>one</emphasis>.
</voice>
</s>
<s xml:lang="es-MX">
<voice name="Miguel" gender="male" age="25">
Para español, oprima el <emphasis>dos</emphasis>.
</voice>
</s>
</p>
</speak>
Пример синтеза речи от ЦРТ можно послушать здесь:
www.vitalvoice.ru/demo/
|
Речевые
технологии W3C Voice Browser
Рабочая группа
W3C Voice Browser
с 1998 г. занимается подготовкой
W3C Speech Interface Framework унифицирующих использование
речевых технологий в Web.
Их задачей является расширение методов доступа и навигации в
Web путем использования клавиатуры сотовых и проводных
телефонов, распознавания и синтеза естественной речи
человека и пр.
Для этого предлагается целый ряд спецификаций:
-
диалогового языка разметки VoiceXML,
-
синтеза речи (Speech Synthesis),
-
распознавания речи (Speech Recognition),
-
грамматики DTMF (DTMF Grammars),
-
речевой грамматики (Speech Grammars),
-
вероятностной модели языков (Stochastic Language Models)
и др.
Среди них самое динамичное развитие получили язык VoiceXML и
спецификация грамматики по
распознаванию речи (Speech Recognition Grammar Specification
), которые находятся на этапе окончательной стандартизации.
В 2002 г. организована рабочая группа
Multimodal Interaction Activity. Ее задача — создание
спецификаций, предоставляющих возможность многомодального
доступа и навигации в Web, с одинаковым успехом сочетающего
использование как традиционных устройств ввода-вывода (клавиатура,
монитор), так и естественной речи человека, "рисующего пера"
— стилусов и других нетрадиционных способов. |
VoiceXML
vs. SALT
Для создания речевых приложений
разные компании поддерживают
один из двух основных
языков разметки:
-
VoiceXML
(Voice eXtensible Markup Language, VXML —
открытый
XML-язык),
-
SALT (проект
SALT Forum, Speech
Application Language Tags — теги языка речевых
приложений).
Компании
не могут прийти к единому мнению о выборе главного стандарта
(языка разметки) и сейчас оба направления развиваются в равной степени.
VoiceXML поддерживает группа во главе
с IBM, Motorola, Nuance Communications,
Opera Software. Она призывает
разработчиков создавать многомодальные приложения, размечая
одну и ту же страницу посредством VoiceXML для речи и XHTML
для текста и графики. Данное
предложение закладывает фундамент для эффективного
объединения протоколов. VXML лучше подходит для телефонии.
SALT поддерживает группа во главе с
Microsoft, Cisco Systems, Intel, Philips Electronics и
SpeechWorks International. SALT
предполагает добавление к существующим языкам Web-разметки -
HTML и XML - специальных речевых тегов.
SALT лучше подходит для мультимодальных
устройств (сочетающим распознавание речи с другими формами
ввода информации: при помощи клавиатуры, пера или набора
цифровых кнопок).
Эти стандарты пытаются решить одну и
ту же проблему: органично задействовать голосовые функции
при минимальных усилиях по доучиванию разработчиков.
Оба подхода имеют одну цель -
интеграцию Web и голоса, и они со временем сблизятся.
Берн Эллиот
(аналитик фирмы Gartner):
-
Многомодальные приложения выйдут
на широкую дорогу лишь через несколько
лет и поэтому инициатива SALT понапрасну
отвлекает внимание некоторых организаций,
заинтересованных в безотлагательном развертывании
речевых приложений. В нынешних условиях предложение SALT
вряд ли поможет корпоративным пользователям внедрять
речевые технологии. Оно может
замедлить прогресс. Как правило, ранние этапы разработки
стандартов протекают в тиши кабинетов, без большой
огласки. А мы являемся свидетелями политизации чисто
технического исследования. Самый конструктивный вариант
- если бы группы SALT и XML начали совместную
продуктивную работу в рамках W3C.
|
VoiceXML
VoiceXML (Voice eXtensible Markup Language, VXML) —
открытый
стандарт W3C на основе XML-языка, диалоговый язык разметки.
VoiceXML предназначен для разработки
интерактивных голосовых приложений (Interactive Voice
Response, IVR) управления медиаресурсами.
Цель создания VoiceXML — привнесение всех преимуществ web-программирования
в разработку IVR-приложений.
Актуальная версия VoiceXML 3.0 (4
марта 2010).
VoiceXML имеет теги, которые являются командами для
голосового браузера (voice browser), который:
Язык VXML имеет синтаксис, использует
специальные дескрипторы или теги, аналогичные HTML. Теги VXML выделяются в
тексте документа с помощью угловых скобок и служат инструкциями для программы,
производящей интерпретацию VXML-кода.
VXML-документы принято называть сценариями. При написании сценария важно
соблюдать синтаксис языка VXML, в противном случае он будет либо распознан
интерпретатором неправильно, либо не будет распознан совсем.
Пример VoiceXML документа:
VoiceXML интерпретатор преобразует текстовую фразу «Привет,
мир!» в синтезированную речь.
VoiceXML интерпретатор — это интерпретатор языка VXML, отвечающий
за распознавание исходного кода. Модуль отслеживания контекста
VXML-интерпретации (VXML Interpreter context) выполняет сопутствующие операции
для интерпретации документа VXML, обнаруживает и обслуживает
вызов, поступивший на номер, к которому привязан VXML-сценарий.
Веб-сервер хранит набор сценариев VXML. При этом каждому сценарию ставится в соответствие телефонный номер.
Основным применением языка VXML является создание мультимедийных услуг для
предоставления их на существующей сети. От оператора связи в таком случае
потребуется только установка платформы услуг, поддерживающей стандарт VXML.
Такие платформы обычно имеют стандартные интерфейсы, поэтому модернизация
существующей сети не требуется, что и позволит предоставлять услуги.
Для предоставления услуг такого типа требуется соответствующая платформа услуг,
серверы и программное обеспечение, включающее в себя прототип услуги,
разработанный на языках VXML и PHP. Язык VXML используется для написания
программ, описывающих логику услуги, а язык PHP — для написания программы,
собирающей информацию в Интернете и генерирующей VXML-код.
Применение синтезированной речи предоставляет оператору ряд преимуществ.
-
не нужно оплачивать услуги профессионального диктора;
-
отпадает
необходимость перезаписи голосовых роликов, в случае изменения предоставляемой
информации;
-
появляется возможность зачитывать большие объемы информации и при
этом не требуется большого объема памяти на жестком диске сервера, так как
информация хранится в виде текста;
-
появляется возможность работать с
конфиденциальной информацией, которая будет предоставлена ограниченному кругу
лиц после ввода ими пароля.
-
возможности системы могут быть легко
расширены в случае возникновения необходимости в дополнительных языках.
Язык VXML имеет широкую область применения и может использоваться для целей,
изначально не предусмотренных в стандарте, например, для систем интерактивных
автоответчиков IVR и автоматического телефонного оповещения.
Пример простейшего приложения HelloWorld.xml, в
котором пользователю озвучивается фраза "Привет! Это мое
первое голосовое меню".
<?xml version="1.0" encoding="UTF-8"?>
<vxml version="2.1" xmlns="http://www.w3.org/2001/vxml"
xml:lang="ru-RU">
<form id="hello">
<block>
<prompt>
Привет! Это мое первое голосовое меню
</prompt>
</block>
</form>
</vxml>
После того как Вы написали код, вам понадобится веб-сервер,
куда необходимо поместить данный файл. После этого ваше
приложение будет доступно по ссылке http://YourIp/HelloWorld.xml,
его необходимо будет развернуть на какой-либо голосовой
платформе (например, Avaya, Genesys, Cisco) После этого Ваше
приложение будет доступно по указанному в голосовой
платформе номере.
Рекомендуемая литература
VoiceXML 2.0 Developer's Guide : Building Professional
Voice-enabled Applications with JSP, ASP & Coldfusion
Voice Application Development with VoiceXML
Practical Speech User Interface Design (Human Factors and
Ergonomics)
Speech Processing for IP Networks: Media Resource Control
Protocol (MRCP)
Voice User Interface Design
The Art and Business of Speech Recognition: Creating the
Noble Voice
Обратная связь и вопросы
Если Вас интересует информация о нашей команде, то ее вы
можете прочитать в разделе о нас
Если у Вас возникли какие-либо вопросы или проблемы при
использовании какого-либо элемента, Вы можете задать свой
вопрос в комментариях в соответствующем разделе.
Audio
Элемент <prompt> может содержать комбинацию заранее
записанных файлов, аудиопотоков и синтезированную речь.
<audio> — аудиофайл, который необходимо проиграть. Аудиофайл
может быть проигран внутри любого элемента <prompt>. Файл
может быть указан с помощью URI или переменной, с которой
ассоциирован этот файл. В случае если не удается
воспроизвести файл (неверный URI или неподдерживаемый формат
файла), то вместо него проигрывается альтернативное
содержимое элемента (например, синтезированная речь). В
случае если отсутствует альтернативное содержимое и не
удается воспроизвести файл, то аудио не проигрывается и
ошибка не выдается. Если присутствует атрибут expr,
альтернативное содержимое игнорируется. Это позволяет
разработчику динамически изменять аудио, которое необходимо
проиграть.
Синтаксис:
<audio expr="CDATA"
fetchhint="(prefetch|safe)"
fetchtimeout="CDATA"
maxage="CDATA"
maxstale="CDATA"
src="string - URI">
Атрибуты
src — URI файла.
(Необходимость указания: обязательно, если не указан expr)
По умолчанию TRUE
expr — указывает выражение для URI, вместо использования
атрибута src .
(Необходимость указания: обязательно, если не указан src)
fetchtimeout — время ожидания содержимого сценария, которое
должно быть возвращено, до тех пор пока не произойдет ошибка
error.badfetch event. Если не указано, то используется
значение по умолчанию
(Необходимость указания: необязательно)
По умолчанию: 5s
fetchhint — используется, чтобы определить, когда данные
должны быть получены во время выполнения работы
приложения.Возможные значения и их описания:
prefetch — данные получаются при первом выполнении документа
safe — данные получаются, только когда они специально
запрашиваются в приложении
(Необходимость указания: необязательно)
По умолчанию: safe
maxage — указывает максимально допустимое время выполнения
сценария. Время указывается в секундах.
(Необходимость указания: необязательно)
maxstale — указывает максимально допустимое "время жизни"
сценария, то есть время в течение которого можно
использовать сценарий. Время указывается в секундах.
(Необходимость указания: необязательно)
Родители
<audio> <block> <catch> <choice> <enumerate> <error> <field> <filled> <help> <if> <initial> <menu> <noinput> <nomatch> <prompt> <record> <subdialog> <transfer>
Потомки
<audio> <break> <emphasis> <enumerate> <foreach> <mark> <phoneme> <prosody> <say-as> <value>
Пример
<?xml version="1.0" encoding="UTF-8"?>
<vxml version = "2.1" xml:lang="ru-RU">
<form id="aud">
<block>
<prompt>
пример использования атрибута prefetch
</prompt>
<audio src="music.wav" fetchhint="prefetch"/>
<audio src="music.wav" fetchhint="safe"/>
</block>
</form>
</vxml>
Prompt
Элемент <prompt> производит воспроизведение текста,
находящегося между тегами <prompt> и </prompt>.
Функционал и особенности работы
В тексте элемента prompt допускается использование
SSML-разметки для использования пауз, настройки параметров
ускорения и замедления речи, громкости, тона и т.д., а также
для указания голоса диктора.
При использовании синтеза речи обязательным является
указание атрибута xml:lang внутри элемента <vxml>. Если язык
синтеза не определен, возникает
ошибкаerror.unsupported.language.
При использовании внутри элемента prompt текста на разных
языках необходимо перечислить все используемые языки в
атрибуте xml:lang элемента <vxml>.
Элемент prompt может содержать любую комбинацию из
предварительно записанных файлов с речью (определяются
внутри элемента prompt с помощью элемента <audio>) и текста
для синтеза.
Синтаксис
<prompt
bargein = "(true|false)"
bargeintype = "(speech|hotword)"
cond = "CDATA"
count = "CDATA"
timeout = "CDATA"
xml:lang = "NMTOKEN">
Атрибуты
bargein — атрибут, который указывает, имеет ли абонент
возможность прерывать сообщение меню тоновым набором или
речью. Значение "ЛОЖЬ" означает, что абонент не сможет
ввести команду, пока не прослушает сообщение системы
полностью.
(Необходимость указания: необязательно)
По умолчанию: true
bargeintype — атрибут, определяющий, какое высказывание от
абонента восприниматься системой для задействования команды.
Значение "hotword" позволяет абоненту передать команду
только после сообщения некоторой ключевой фразы (слова) или
определенной последовательности тоновых сигналов. Иное
значение — "speech" — указывает, что любая фраза абонента
воспринимается как команда.
(Необходимость указания: необязательно)
По умолчанию: speech
cond — условие, определяющее, будет воспроизведен текст или
нет.
(Необходимость указания: необязательно)
По умолчанию: true
count — атрибут, определяющий, в какой по счету раз при
прохождении данной формы (см. <form>) необходимо
воспроизвести текст, содержащийся между тегами <prompt> и
</prompt>. Значению счетчика присваивается 1, когда работа с
формой начинается заново.
(Необходимость указания: необязательно)
По умолчанию: 1
timeout — время, в течение которого система ожидает ответ
абонента, прежде чем воспринять тишину как ситуацию
отсутствия ввода данных (noinput event). Указывается в
секундах или миллисекундах.
(Необходимость указания: необязательно)
По умолчанию: 5s
xml:lang — атрибут, указывающий язык документа VoiceXML. По
умолчанию данное значение наследуется из документа,
располагающегося выше по иерархии, или приравнивается к
языку платформы.
(Необходимость указания: необязательно)
Родители
<block> <catch> <error> <field> <filled> <help> <if> <initial> <menu> <nomatch> <record> <transfer>
Потомки
<audio> <break> <emphasis> <enumerate> <foreach> <mark> <paragraph> <phoneme> <prosody> <say-as> <sentence> <value>
Пример
<?xml version="1.0" encoding="UTF-8"?>
<vxml version="2.1" xmlns="http://www.w3.org/2001/vxml"
xml:lang="ru-RU">
<form id="example">
<field name="f">
<prompt cond="false">
Вы не услышите эту фразу
</prompt>
<prompt bargein="false" count="1" timeout="3s">
Добрый день! Назовите, пожалуйста, тему обращения. Для связи
с секретарем скажите: "Секретарь"
</prompt>
<prompt bargein="false" count="2" timeout="6s">
Назовите, пожалуйста, тему обращения: оплата или
обслуживание. Для связи с секретарем скажите: "Секретарь"
</prompt>
<grammar xml:lang="ru-RU" root="main" mode="voice"
version="1.0" tag-format="semantics/1.0-literals">
<rule id="main" scope="public">
<one-of>
<item> Оплата </item>
<item> Обслуживание </item>
<item> Секретарь </item>
</one-of>
</rule>
</grammar>
<noinput> <prompt> Говорите громче </prompt> <reprompt/>
</noinput>
<nomatch> <prompt> Не удалось распознать сказанное слово
</prompt> <reprompt/> </nomatch>
<filled>
<prompt>
Вы выбрали <value expr="f"/>. Соединяю!
</prompt>
</filled>
</field>
</form>
</vxml>
14.12.2005, 10:21:04
W3C завершила разработку технологии VoiceXML 3.0
W3C (World Wide Web Consortium), устанавливающий основные
стандарты для интернета, закончил разработку проекта по
важной технологии VoiceXML 3.0, позволяющей осуществлять
голосовую идентификацию. Хотя обычно работу с голосовыми
данными связывают с голосовыми командами, потенциально это
позволит увеличить скорость и надежность онлайновых сделок.
Некоторые крупные интернет-фирмы даже используют подобные
технологии для подтверждения заказов и идентификации
клиентов. Многие, однако, начинают сомневаться в
безопасности и надежности подобных сделок из-за роста
мошенничества и воровства идентификационных данных. Процент
ошибок составляет около 1–2%, что недопустимо для надежных
деловых сделок.
W3C не создает фактическое ПО, а разрабатывает стандарты.
Сейчас у них есть рабочий проект, сообщил Джеймс Ларсон,
сопредседатель рабочей группы голосовых браузеров. Стандарт
также затронул проблему расширения функциональных
возможностей Speech Synthesis Markup Language (SSML) на
определенные языки, включая материковый китайский, японский
и корейский. SSML важен, поскольку он позволяет
разработчикам ПО управлять речью от высоты звука до
громкости и произношения. Это дает возможность ПО различать
правильные тоны и высоты, критические с лингвистической
точки зрения, поскольку незначительное изменение в
произношении может изменить смысл целого слова.
SSML также используется для обозначения областей языка с
различным местным диалектом. Он основан на JSpeech Grammar
Format (JSGF).
Работа с голосовыми веб-приложениями может принести
разочарование. В то время, как преобразовывающее речь ПО
работает хорошо, низкокачественные микрофон и динамики
вместе с медленным интернетом могут погубить эффективность
технологии. Эти проблемы сложно решить, поскольку в основном
они неконтролируемы разработчиком. Новый алгоритм сжатия и
простые ответы типа «Да» или «Нет» делают эту работу более
простой.
Обучаемые системы, которые можно подстроить под голос
пользователя, гораздо более успешны, но, как правило, у
пользователей не хватает терпения довести процесс обучения
системы до конца, а временной фактор делает их
непрактичными.
Ожидается, что первая полная VoiceXML 3.0-технология
появится в системах, активизируемых по телефону или
мобильной связи, в которых больше возможностей
контролировать качество звука. Надо надеяться, что с новыми
W3C-стандартами компании смогут больше внимания уделять
преобразованию речи и меньше — изобретению колеса. Стандарты
обычно приводят к появлению наборов инструментария для
программистов, которые часто превращаются в популярные
пакеты типа Microsoft Frontpage и Adobe Macromedia
Dreamweaver.
Адрес новости:
http://www.cnews.ru/news/line/index.shtml?2005/12/14/193207 |
VXML.RU
03.06.2013
«Центр речевых технологий» (ЦРТ) разработал и запустил
первый в Рунете специализированный сайт (http://vxml.ru/)
для системных интеграторов и разработчиков голосовых
приложений в IVR, которые работают с языком программирования VoiceXML.
VoiceXML – специальный диалоговый язык программирования,
который позволяет создавать IVR-меню для контактных центров. VXML
позволяет подключать речевые
технологии распознавания речи, синтеза речи и голосовой
биометрии (поиск и подтверждение личности по голосу)
и поддерживается всеми основными
поставщиками контактных центров: Genesys, Avaya, Cisco, Voxeo
и другие.
IVR-системы с применением речевых технологий обладают бОльшими возможностями по сравнению с устаревшими IVR-меню,
использующими технологию тонового набора (DTMF). Однако,
несмотря на это, количество внедрений современных систем
голосового самообслуживания пока не велико. По мнению
аналитиков ЦРТ, это связано с тем, что в России не хватает
квалифицированных специалистов, обладающих необходимой
компетенцией и опытом для разработки удобных и эффективных
речевых приложений в IVR.
Во многом такая ситуация сложилась из-за отсутствия
информации по VXML на русском языке. На сайте VXML.ru на
русском(!) языке размещена справочная информация по VXML,
описание всех тегов, примеры речевых приложений и
комментарии к ним. Здесь же можно задавать вопросы специалистам ЦРТ и оперативно получить консультацию. |
SALT
Speech Application Language Tags
(SALT, Язык тегов речевых приложений
), позволяет использовать речь для
навигации по Интернету и взаимодействия со всемирной сетью
посредством телефонов и многомодальных устройств.
Многомодальные
устройства (сочетают
распознавание речи с другими формами ввода информации: при
помощи клавиатуры, пера или набора цифровых кнопок
- мобильные ПК, планшеты,
смартфоны).
SALT позволяет:
-
конечному пользователю — одновременно работать с речью,
текстом и графикой;
-
разработчику — использовать теги SALT с помощью
привычных редакторов и утилит в уже существующих или
только создаваемых HTML-, xHTML- и XML-страницах;
-
бизнесу — без создания специальных приложений и
технологий получить унифицированный метод добавления
голосовых возможностей в самые разные Интернет-сервисы,
что уменьшит стоимость их разработки и сопровождения.
Консорциум SALT Forum (от Speech
Application Language Tags) в 2001 г.
компании Intel, Microsoft, Cisco,
Comverse, Philips и SpeechWorks. SALT Forum, основанный
компаниями Cisco, Comverse, Intel, Microsoft, Philips и
SpeechWorks.
SALT Forum объединяет 57 участников,
которые создали открытый, бесплатный, независимый от
платформ стандарт для использования речи в многомодальных и
телефонных приложениях.
SALT не является новым языком, а служит для расширения таких
языков, как HTML, XHTML и XML за счет введения
дополнительных тегов и добавления в них поддержки голосовых
сервисов.
С внедрением SALT пользователь вместе с традиционным
графическим интерфейсом получает речевой способ
взаимодействия с веб-порталами. Используя обычный компьютер,
КПК, сотовый или проводной телефон, он может голосом
запрашивать необходимую информацию, которая будет
представлена ему в виде синтезированной речи.
Для работы с SALT совсем
необязательно разбираться в тонкостях распознавания или
синтеза речи. Язык построен на основе модели событий, что
позволяет запрограммировать различного уровня сложности
диалоги с пользователем. Вставлять теги SALT в уже
существующие или только создаваемые HTML-, XHTML- и XML-страницы
можно с помощью привычных редакторов.
Первая версия спецификации SALT затрагивает три возможности
многомодальных систем:
-
телефонный доступ,
-
синтез,
-
распознавание речи.
В первой версии спецификации выделяются три основных тега:
-
<listen …>— конфигурирует распознаватель голоса,
распознает звуки, речь;
-
<prompt …>— конфигурирует речевой синтезатор, выводит
звуки;
-
<dtmf …>— конфигурирует и контролирует DTFM в телефонных
приложениях.
Теги listen и dtmf могут содержать теги
<grammar>и <bind>, listen может также содержать тег
<record>.
SALT также показывает способы конфигурирования и обеспечения
контроля за телефонными звонками при помощи речи и разметки.
Тег <listen>
используется для ввода речи (например для навязывания "речевых"
ссылок объектов).
Он содержит <grammar>, <record>и <bind>.
Он также содержит методы активации-деактивации, начала и
прекращения распознавания речи.
Пример использования тега
<listen>:
Тег <prompt>
используется для определения выхода. Он может содержать
обычный текст, речевую исходящую разметку, переменные
значения, ссылку на аудиофайлы и любую их комбинацию.
Пример:
Тег <dtmf>
используется в телефонных приложениях для спецификации DTMF
и для связи нажатия клавиши на клавиатуре с вводом и других
событий. Как и <listen>, его основные элементы — <grammar>и
<bind>
Пример:
Теэги в SALT — XML-объекты в
документной объектной модели (DOM) страницы. Поэтому каждый
SALT-тeг содержит методы, свойства и хранители событий,
которые доступны скрипту и из-за этого могут
взаимодействовать с другими событиями и процессами при
выполнении (загрузке) веб-страницы. Это позволяет речевому
интерфейсу SALTа быть полностью интегрированным в
веб-приложения.
Для телефонных диалогов SALT поддерживает механизмы контроля
вызова для управления телефонными подключениями, включающие:
|
|