Jump to content

Речевой API Java

Java Speech API (JSAPI) — это интерфейс прикладного программирования для кросс-платформенной поддержки распознавателей команд и элементов управления, систем диктовки и синтезаторов речи . Хотя JSAPI определяет только интерфейс, существует несколько реализаций, созданных третьими сторонами, например FreeTTS . [ нужна ссылка ]

Основные технологии

[ редактировать ]

Через Java Speech API поддерживаются две основные речевые технологии: синтез речи и распознавание речи . [1]

Синтез речи

[ редактировать ]

Синтез речи обеспечивает обратный процесс создания синтетической речи из текста, сгенерированного приложением, апплетом или пользователем. Ее часто называют технологией преобразования текста в речь.

Основные этапы создания речи из текста следующие:

  • Анализ структуры: обрабатывает входной текст, чтобы определить, где начинаются и заканчиваются абзацы, предложения и другие структуры. Для большинства языков на этом этапе используются данные пунктуации и форматирования.
  • Предварительная обработка текста: анализирует входной текст на наличие специальных конструкций языка. В английском языке требуется особый подход к сокращениям, аббревиатурам, датам, времени, числам, суммам в валюте, адресам электронной почты и многим другим формам. Другие языки требуют специальной обработки этих форм, и у большинства языков есть другие специализированные требования.

Результатом этих первых двух шагов является устная форма письменного текста. Вот примеры различий между письменным и устным текстом:

St. Matthew's hospital is on Main St.
-> “Saint Matthew's hospital is on Main Street”

Add $20 to account 55374.
-> “Add twenty dollars to account five five, three seven four.”

Остальные шаги преобразуют произнесенный текст в речь:

  • Преобразование текста в фонему: преобразует каждое слово в фонемы. Фонема – это основная звуковая единица языка.
  • Анализ просодии: обрабатывает структуру предложения, слова и фонемы, чтобы определить подходящую просодию для предложения.
  • Производство сигналов: использует фонемы и просодическую информацию для создания звуковых сигналов для каждого предложения.

Синтезаторы речи могут допускать ошибки на любом из этапов обработки, описанных выше. Человеческие уши хорошо приспособлены к обнаружению этих ошибок, но тщательная работа разработчиков может свести ошибки к минимуму и улучшить качество вывода речи.

Распознавание речи

[ редактировать ]

Распознавание речи дает компьютерам возможность слушать разговорную речь и определять, что было сказано. Другими словами, он обрабатывает аудиовход, содержащий речь, преобразуя его в текст.

Основные этапы работы типичного распознавателя речи следующие:

  • Грамматический дизайн: определяет слова, которые может произносить пользователь, и модели, в которых они могут произноситься.
  • Обработка сигнала: анализирует спектральные (т. е. частотные) характеристики входящего звука.
  • Распознавание фонем: сравнивает образцы спектра с образцами фонем распознаваемого языка.
  • Распознавание слов: сравнивает последовательность вероятных фонем со словами и образцами слов, указанными в активной грамматике.
  • Генерация результатов: предоставляет приложению информацию о словах, которые распознаватель обнаружил во входящем аудио.

Грамматика — это объект в Java Speech API, который указывает, какие слова должен произнести пользователь и в каких шаблонах эти слова могут встречаться. Грамматики важны для распознавателей речи, поскольку они ограничивают процесс распознавания. Эти ограничения делают распознавание более быстрым и точным, поскольку распознавателю не нужно проверять странные предложения.

Java Speech API 1 поддерживает два основных типа грамматик: грамматики правил и грамматики диктовки. Эти типы различаются по-разному, в том числе по тому, как приложения настраивают грамматики; типы предложений, которые они допускают; как предоставляются результаты; количество требуемых вычислительных ресурсов; и как они используются при разработке приложений. Грамматики правил определяются в JSAPI 1 с помощью JSGF , формата грамматики речи Java.

Классы и интерфейсы Java Speech API

[ редактировать ]

Различные классы и интерфейсы, составляющие Java Speech API, сгруппированы в следующие три пакета:

  • javax.speech : содержит классы и интерфейсы для общего речевого движка.
  • javax.speech.synthesis : содержит классы и интерфейсы для синтеза речи.
  • javax.speech.recognition : содержит классы и интерфейсы для распознавания речи.

Класс EngineManager похож на фабричный класс, используемый всеми приложениями Java Speech API. Он предоставляет статические методы для обеспечения доступа к механизмам синтеза и распознавания речи. Интерфейс Engine инкапсулирует общие операции, которые речевой механизм, совместимый с Java Speech API, должен обеспечивать для речевых приложений.

Речевые приложения могут в первую очередь использовать методы для выполнения таких действий, как получение свойств и состояния речевого механизма, а также выделение и освобождение ресурсов для речевого механизма. Кроме того, интерфейс Engine предоставляет механизмы для приостановки и возобновления аудиопотока, создаваемого или обрабатываемого речевым механизмом. AudioManager может управлять потоками. Интерфейс Engine является подклассом интерфейсов Синтезатор и Распознаватель, которые определяют дополнительные функции синтеза и распознавания речи. Интерфейс Synthesizer инкапсулирует операции механизма синтеза речи, совместимого с Java Speech API, для речевых приложений.

API речи Java основан на обработке событий. События, генерируемые речевым механизмом, можно идентифицировать и обрабатывать по мере необходимости. Речевые события могут обрабатываться через интерфейс EngineListener, в частности, через RecouncerListener и SynthesizerListener.

[ редактировать ]

API речи Java был написан до процесса сообщества Java (JCP) и ориентирован на платформу Java Standard Edition (Java SE). Впоследствии Java Speech API 2 (JSAPI2) был создан как JSR 113 в рамках JCP. Этот API предназначен для платформы Java Micro Edition (Java ME), но также соответствует Java SE.

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 584be40333397a218a283c0320412ade__1675525800
URL1:https://arc.ask3.ru/arc/aa/58/de/584be40333397a218a283c0320412ade.html
Заголовок, (Title) документа по адресу, URL1:
Java Speech API - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)