Microsoft Speech API

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

Интерфейс программирования речевых приложений или SAPI - это API разработан Microsoft для использования распознавания речи и синтеза речи в приложениях Windows. На сегодняшний день выпущено несколько версий API, которые поставляются либо как часть Speech SDK, либо как часть самой Windows OS. Приложения, использующие SAPI, включают Microsoft Office, Microsoft Agent и Microsoft Speech Server.

В общем, все версии API были разработаны таким образом, что разработчик программного обеспечения может написать приложение для распознавания и синтеза речи с использованием стандартного набора интерфейсов, доступных из множества языков программирования. Кроме того, сторонняя компания может создать свои собственные механизмы распознавания речи и преобразования текста в речь или адаптировать существующие механизмы для работы с SAPI. В принципе, пока эти механизмы соответствуют определенным интерфейсам, они могут использоваться вместо механизмов, поставляемых Microsoft.

В общем, Speech API - это свободно распространяемый компонент, который может поставляться с любым приложением Windows, которое хочет использовать речевую технологию. Многие версии (но не все) механизмов распознавания и синтеза речи также распространяются бесплатно.

Существует два основных «семейства» Microsoft Speech API. Все версии SAPI с 1 по 4 похожи друг на друга, с дополнительными функциями в каждой новой версии. SAPI 5, однако, был совершенно новым интерфейсом, выпущенным в 2000 году. С тех пор было выпущено несколько подверсий этого API.

Содержание

  • 1 Базовая архитектура
  • 2 Версии
    • 2.1 Семейство SAPI 1-4 API
      • 2.1.1 SAPI 1
      • 2.1.2 SAPI 3
      • 2.1.3 SAPI 4
    • 2.2 Семейство API SAPI 5
      • 2.2.1 SAPI 5.0
      • 2.2.2 SAPI 5.1
      • 2.2.3 SAPI 5.2
      • 2.2.4 SAPI 5.3
      • 2.2.5 SAPI 5.4
    • 2.3 SAPI 5 Voices
    • 2.4 Управляемый код Speech API
  • 3 Речевые функции в Windows Vista
  • 4 Совместимость
    • 4.1 SAPI 5
    • 4.2 SAPI 4
  • 5 Основные приложения, использующие SAPI
  • 6 См. Также
  • 7 Внешние ссылки
  • 8 Ссылки

Базовая архитектура

Speech API можно рассматривать как интерфейс или часть промежуточного программного обеспечения, которое находится между приложениями и механизмами речи (распознавание и синтез). В версиях SAPI с 1 по 4 приложения могли напрямую взаимодействовать с двигателями. API включал определение абстрактного интерфейса, которому соответствовали приложения и движки. Приложения также могут использовать упрощенные объекты более высокого уровня, а не напрямую вызывать методы в движках.

Однако в SAPI 5 приложения и механизмы не взаимодействуют друг с другом напрямую. Вместо этого каждый обращается к компоненту среды выполнения (sapi.dll ). В этом компоненте реализован API, используемый приложениями, и еще один набор интерфейсов для движков.

Обычно в приложениях SAPI 5 выполняются вызовы через API (например, для загрузки грамматики распознавания; запуска распознавания или предоставления текста для синтеза). Компонент времени выполнения sapi.dll интерпретирует эти команды и обрабатывает их, при необходимости вызывая движок через интерфейсы движка (например, загрузка грамматики из файла выполняется во время выполнения, но затем данные грамматики передаются в распознавание двигатель, который нужно использовать для распознавания). Механизмы распознавания и синтеза также генерируют события во время обработки (например, чтобы указать, что высказывание было распознано или чтобы указать границы слов в синтезированной речи). Они передаются в обратном направлении от движков через динамическую библиотеку DLL и далее в приемник событий в приложении.

В дополнение к фактическому определению API и динамической DLL, другие компоненты поставляются со всеми версиями SAPI для создания полного пакета разработки программного обеспечения Speech . Следующие компоненты входят в число компонентов, включенных в большинство версий Speech SDK:

  • файлы определения API - в MIDL и в виде файлов заголовков C или C ++.
  • Компоненты среды выполнения - например, sapi.dll.
  • Апплет панели управления - для выбора и настройки распознавателя и синтезатора речи по умолчанию.
  • Механизмы преобразования текста в речь на нескольких языках.
  • Механизмы распознавания речи в несколько языков.
  • Распространяемые компоненты, позволяющие разработчикам упаковывать движки и среду выполнения с их кодом приложения для создания одного устанавливаемого приложения.
  • Пример кода приложения.
  • Образцы механизмов - реализации необходимых интерфейсов механизма, но без реальной обработки речи, которые можно было бы использовать в качестве образца для тех, кто переносит механизм на SAPI.
  • Документация.

Версии

Xuedong Huang был ключевым человеком, руководившим ранними разработками Microsoft в области SAPI.

Семейство SAPI 1-4 API

SAPI 1

Первая версия SAPI была выпущена в 1995 году и поддерживалась в Windows 95 и Windows NT 3.51. Эта версия включала низкоуровневые API-интерфейсы прямого распознавания речи и прямого преобразования текста в речь, которые приложения могли использовать для прямого управления механизмами, а также упрощенные «высокоуровневые» API голосовых команд и голосового разговора.

SAPI 3

SAPI 3.0 был выпущен в 1997 году. В него добавлена ​​ограниченная поддержка распознавания речи под диктовку (дискретная речь, а не непрерывная), а также дополнительные примеры приложений и источников звука.

SAPI 4

SAPI 4.0 был выпущен в 1998 году. Эта версия SAPI включала как ядро ​​COM API; вместе с классами-оболочками C ++ для упрощения программирования на C ++; и элементы управления ActiveX, позволяющие перетаскивать Visual Basic разработку. Это было отправлено как часть SDK, который включал механизмы распознавания и синтеза. Он также поставлялся (только с механизмами синтеза) в Windows 2000.

Основными компонентами API SAPI 4 (которые были все доступны в вариантах C ++, COM и ActiveX) были:

  • Голосовая команда - высокоуровневые объекты для управления и распознавания речи
  • Voice Dictation - высокоуровневые объекты для непрерывного распознавания речи под диктовку
  • Voice Talk - высокоуровневые объекты для синтеза речи
  • Voice Telephony - объекты для написания телефонных речевых приложений
  • Direct Speech Recognition - объекты для прямого управления механизмом распознавания
  • Direct Text To Speech - объекты для прямого управления механизмом синтеза
  • Аудио объекты - для чтения с аудиоустройства или файла

Семейство API SAPI 5

Speech SDK версии 5.0, включающее среду выполнения SAPI 5.0 был выпущен в 2000 году. Это была полная переработка предыдущих версий, и ни движки, ни приложения, которые использовали старые версии SAPI, не могли использовать новую версию. ion без значительной модификации.

Дизайн нового API включал концепцию строгого разделения приложения и механизма, поэтому все вызовы маршрутизировались через среду выполнения sapi.dll. Это изменение было направлено на то, чтобы сделать API более «независимым от движка», предотвращая непреднамеренную зависимость приложений от функций конкретного движка. Кроме того, это изменение было направлено на то, чтобы значительно упростить включение речевой технологии в приложение путем переноса некоторого кода управления и инициализации в среду выполнения.

Новый API изначально был чистым COM API и мог легко использоваться только из C / C ++. Поддержка VB и языков сценариев была добавлена ​​позже. Поддерживались операционные системы начиная с Windows 98 и NT 4.0.

Основные функции API включают:

  • Shared Recognizer . Для настольных приложений распознавания речи можно использовать объект распознавателя, который выполняется в отдельном процессе (sapisvr.exe ). Все приложения, использующие общий распознаватель, взаимодействуют с этим единственным экземпляром. Это позволяет совместно использовать ресурсы, устраняет конкуренцию за микрофон и обеспечивает глобальный пользовательский интерфейс для управления всеми речевыми приложениями.
  • Распознаватель в процессе . Для приложений, которые требуют явного управления процессом распознавания, объект распознавания в процессе может использоваться вместо общего.
  • Объекты грамматики . Грамматика речи используется для определения слов, которые распознает распознаватель. SAPI 5 определяет разметку XML для определения грамматики, а также механизмы для их динамического создания в коде. Также существуют методы для указания распознавателю загрузки встроенной языковой модели диктовки.
  • Голосовой объект . Это выполняет синтез речи, создавая аудиопоток из текста. Для управления процессом синтеза может использоваться язык разметки (подобный XML, но не строго XML).
  • Аудиоинтерфейсы . Среда выполнения включает в себя объекты для выполнения ввода речи с микрофона или вывода речи на динамики (или любое звуковое устройство); а также в волновые файлы и обратно. Также можно написать собственный аудиообъект для потоковой передачи аудио в нестандартное место или из него.
  • Объект лексики пользователя . Это позволяет пользователю или приложению добавлять собственные слова и произношения. Они добавляются во встроенные словари механизма распознавания или синтеза.
  • Маркеры объектов . Это концепция, позволяющая распознавать и TTS-движки, аудиообъекты, лексиконы и другие категории объекта регистрировать, перечислять и создавать экземпляры обычным способом.

SAPI 5.0

Эта версия была выпущена в конце 2000 года как часть Speech SDK версии 5.0 вместе с механизмами распознавания и синтеза версии 5.0. Механизмы распознавания поддерживали непрерывную диктовку, командование и управление и были выпущены в версиях для американского английского, японского и упрощенного китайского. В системе английского языка США были доступны специальные акустические модели для детской речи и телефонной речи. Механизм синтеза был доступен на английском и китайском языках. Эта версия API и механизмов распознавания также входила в состав Microsoft Office XP в 2001 году.

SAPI 5.1

Эта версия была выпущена в конце 2001 года как часть Speech SDK версии 5.1. В API были добавлены интерфейсы, совместимые с автоматизацией, чтобы разрешить использование из Visual Basic таких языков сценариев, как JScript и управляемый код. Эта версия API и движков TTS поставлялась в Windows XP. Windows XP Tablet PC Edition и Office 2003 также включают эту версию, но с существенно улучшенным механизмом распознавания версии 6 и традиционным китайским.

SAPI 5.2

Это была специальная версия API для использования только в Microsoft Speech Server, выпущенном в 2004 году. Он добавил поддержку языков разметки SRGS и SSML, а также дополнительный сервер функции и улучшения производительности. Речевой сервер также поставляется с механизмом распознавания рабочего стола версии 6 и механизмом распознавания сервера версии 7.

SAPI 5.3

Это версия API, которая поставляется в Windows Vista вместе с новыми механизмами распознавания и синтеза. Поскольку распознавание речи Windows теперь интегрировано в операционную систему, Speech SDK и API-интерфейсы являются частью Windows SDK. SAPI 5.3 включает следующие новые функции:

  • Поддержка грамматик речи W3C XML для распознавания и синтеза. Язык разметки синтеза речи (SSML) версии 1.0 предоставляет возможность размечать характеристики голоса, скорость, громкость, высоту тона, выделение и произношение.
  • Спецификация грамматики распознавания речи (SRGS) поддерживает определение контекстно-свободных грамматик с двумя ограничениями:
    • Он не поддерживает использование SRGS для определения двухтональных грамматик с модулированной частотой (тонального набора).
    • Он не поддерживает расширенную форму Бэкуса – Наура (ABNF).
  • Поддержка сценария семантической интерпретации в грамматиках. SAPI 5.3 позволяет аннотировать грамматику SRGS с помощью JavaScript для семантической интерпретации, чтобы дополнить распознанный текст.
  • Пользовательские ярлыки в лексиконах, то есть возможность добавлять строку в лексикон и свяжите его с сокращенным словом. При диктовке пользователь может произнести сокращенное слово, и распознаватель вернет развернутую строку.
  • Дополнительные функциональные возможности и простота программирования, обеспечиваемые новыми типами.
  • Улучшение производительности, повышенная надежность, и безопасность.
  • Версия 8 механизма распознавания речи («Microsoft Speech Recognizer»)

SAPI 5.4

Это обновленная версия API, которая поставляется в Windows 7.

SAPI 5 Voices

Microsoft Sam (Speech Articulation Module) - это обычно поставляемый голос SAPI 5. Кроме того, Microsoft Office XP и Office 2003 установили LH голоса Майкла и Мишель. SAPI 5.1 SDK устанавливает еще 2 голоса, Майк и Мэри. Windows Vista включает Microsoft Anna, которая заменяет Microsoft Sam и звучит более естественно и разборчиво. Он также устанавливается в Windows XP от Microsoft Streets Trips 2006 и более поздних версий. Китайская версия Vista и более поздние версии клиентов Windows также включают женский голос по имени Microsoft Lili.

Managed code Speech API

A управляемый код API поставляется как часть .NET Framework 3.0. Он имеет аналогичную функциональность с SAPI 5, но больше подходит для использования в приложениях с управляемым кодом. Новый API доступен в Windows XP, Windows Server 2003, Windows Vista и Windows Server 2008.

Существующий SAPI 5 API может также может использоваться из управляемого кода в ограниченной степени путем создания кода COM-взаимодействия (вспомогательный код, предназначенный для помощи в доступе к COM-интерфейсам и классам). Это хорошо работает в некоторых сценариях, однако новый API должен обеспечивать более плавное взаимодействие, эквивалентное использованию любой другой библиотеки управляемого кода.

Однако основным препятствием для перехода от COM-взаимодействия является тот факт, что управляемая реализация имеет незначительные утечки памяти, которые приводят к фрагментации памяти и исключают использование библиотеки в любых нетривиальных задачах. Приложения. В качестве обходного пути Microsoft предложила использовать другой API, в котором меньше голосов.

Речевые функции в Windows Vista

Windows Vista включает ряд новых функций, связанных с речью, включая:

  • Управление речью всего Windows GUI и приложений
  • Новое руководство, мастер микрофона и пользовательский интерфейс для управления распознаванием речи
  • Новая версия среды выполнения Speech API: SAPI 5.3
  • Встроенный обновленный механизм распознавания речи (версия 8)
  • Новый механизм синтеза речи и голос SAPI Microsoft Anna
  • Управляемый код речевой API (кодовое название SpeechFX)
  • Поддержка распознавания речи для 8 языков на момент выпуска: английский (США), английский (Великобритания), традиционный китайский, упрощенный китайский, японский, испанский, французский и немецкий языки; другие языки будут выпущены позже.

Microsoft Agent в частности, и все другие речевые приложения Microsoft используют SAPI 5.

Совместимость

Speech API совместим со следующим: расчетные системы:

SAPI 5

SAPI 4

Основные приложения, использующие SAPI

См. Также

Внешние ссылки

Ссылки

.

Последняя правка сделана 2021-05-30 10:14:13
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте