Jump to content

Речевой API Microsoft

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

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

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

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

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

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

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

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

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

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

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

Сюэдун Хуан был ключевым человеком, который руководил ранними разработками Microsoft в области SAPI.

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

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

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

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

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

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

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

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

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

Основные возможности API включают в себя:

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

КОРОВА 5.0

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

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

КОРОВА 5.1

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

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

КОРОВА 5.2

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

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

КОРОВА 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»)

КОРОВА 5.4

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

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

КОРОВА 5 голосов

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

Microsoft Sam (модуль речевой артикуляции) — это обычно поставляемый голос SAPI 5. Кроме того, в Microsoft Office XP и Office 2003 установлены голоса L&H Michael и Michelle. SAPI 5.1 SDK устанавливает еще два голоса: Майка и Мэри . Windows Vista включает Microsoft Anna , которая заменяет Microsoft Sam и звучит более естественно и понятно. Он также устанавливается в Windows XP с помощью Microsoft Streets & Trips 2006 и более поздних версий. Китайская версия Vista и более поздние версии клиента Windows также включают женский голос по имени Microsoft Lili .

Речевой API управляемого кода

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

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

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

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

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

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

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

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

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

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

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

Speech API совместим со следующими операционными системами: [3]

Список по состоянию на SAPI версии 5.1: [3]

Более поздние версии SAPI 5 (например, SAPI 5.3 и выше) совместимы со следующими операционными системами:

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

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

См. также

[ редактировать ]
  1. ^ Майкл Данн. «Синтез и распознавание речи в .NET — дайте приложениям голос» . Новости разработчиков Редмонда . Проверено 9 ноября 2011 г. Архивировано 14 января 2010 года в Wayback Machine.
  2. ^ Система. В речи есть утечка памяти | Майкрософт Коннект . Connect.microsoft.com. Проверено 27 сентября 2013 г.
  3. ^ Jump up to: а б Корпорация Майкрософт. «Системные требования SAPI» . MSDN. Архивировано из оригинала 4 мая 2007 г. Проверено 12 апреля 2006 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 7e563552ac5eca7aa63860e5de808aba__1719891660
URL1:https://arc.ask3.ru/arc/aa/7e/ba/7e563552ac5eca7aa63860e5de808aba.html
Заголовок, (Title) документа по адресу, URL1:
Microsoft Speech API - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)