Объект Device/Методы/InitSpeechRecognition: различия между версиями

Материал из Call Office Wiki
Перейти к навигации Перейти к поиску
 
(не показано 28 промежуточных версий 4 участников)
Строка 5: Строка 5:
==Синтаксис==
==Синтаксис==
:<syntaxhighlight lang="c">
:<syntaxhighlight lang="c">
InitSpeechRecognition ([BSTR Parameters])  
InitSpeechRecognition (BSTR Parameters)  
</syntaxhighlight>
</syntaxhighlight>
|style="width:10%;"|__TOC__
|}
|}


==Параметры==
==Параметры==
Доступны два способа распознавание голоса - при помощи широко известной библиотеки '''Sphinx''' и ее голосовых баз и при помощи сервиса '''Google'''.  
Доступны три способа распознавание голоса - при помощи широко известной библиотеки '''Sphinx''' и ее голосовых баз, при помощи сервиса '''Google''' или '''Yandex'''. Если не указан способ распознавания, по умолчанию используется '''Sphinx'''.
*Для использования распознавания '''Sphinx''' в качестве параметра достаточно указать файл конфигурации словаря с абсолютным путем или путём относительно расположения модуля Call Office. Например, если словарь расположен по пути C:\Program Files\Call Office\SpeechRecognition, а запускается в интерфейсе программного продукта Call Office, то надо указать только папку после C:\Program Files\Call Office:
 
   InitSpeechRecognition ("SpeechRecognition\\init.cfg")
=== Распознавание голоса с использованием библиотеки Sphinx ===
*Для распознавания используя сервис '''Google''', значение параметра должно начинаться со слова '''Google''', за которым могут идти параметры:
Для использования распознавания '''Sphinx''', значение параметра должно начинаться со слова '''Sphinx''' за которым могут идти параметры:
** '''Key''' - API Key сервиса Google. Обязательный параметр.
* '''ConfigFileName''' - имя конфигурационного файла Sphinx, по умолчанию <каталог установки Call Office>\SpeechRecognition\init.cfg. Можно указать как абсолютное расположение, так и расположение относительно каталога установки Call Office.
** '''SoundPath''' - каталог, куда будут помещаться звуковые файлы, перед отправкой на распознавание сервису. Параметр не обязательный и служит для отладки правильного выделения голосовых сообщений из голосового потока.
   InitSpeechRecognition ("Sphinx;ConfigFileName=SpeechRecognition\\init.cfg;")
   InitSpeechRecognition ("Google;Key=<ваш ключ>;SoundPath=D:\\SaveSound")
 
=== Распознавание голоса с использованием сервиса Google ===
Для распознавания используя сервис '''Google''', значение параметра должно начинаться со слова '''Google''', за которым могут идти параметры:
* '''Key''' - API Key сервиса Google.
* '''Language''' - язык распознавания. Полный список доступных языков [https://cloud.google.com/speech/docs/languages здесь]. По умолчанию русский: "ru-RU".
* '''SingleUtterance''' - распознавание одной фразы. По умолчанию выключено.
* '''InterimResults''' - получать промежуточные результаты распознавания. По умолчанию выключено.
  InitSpeechRecognition ("Google;SingleUtterance=1")
Для включения распознавания Google необходимо:
# Подробная инструкция по созданию ключа распознавания Google Cloud Platform [http://wiki.calloffice.ru/index.php/%D0%A1%D0%BF%D1%80%D0%B0%D0%B2%D0%BA%D0%B0:%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BA%D0%BB%D1%8E%D1%87%D0%B0_%D1%80%D0%B0%D1%81%D0%BF%D0%BE%D0%B7%D0%BD%D0%B0%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_Google_Cloud_Platform Создание ключа распознавания Google Cloud Platform].
# В некоторых случаях дополнительно нужно установить [https://www.microsoft.com/ru-ru/download/details.aspx?id=48145 Распространяемый пакет Visual C++ для Visual Studio 2015].
Для получения триальной версии необходимо иметь google-аккаунт и пройти регистрацию на [https://console.cloud.google.com/freetrial странице получения триала].
 
=== Распознавание голоса с использованием сервиса Yandex ===
Для распознавания используя сервис '''Yandex''', значение параметра должно начинаться со слова '''Yandex''', за которым могут идти параметры:
* '''Model''' - модель распознавания, ([https://cloud.yandex.ru/docs/speechkit/stt/models| описание на сайте Яндекс]).
* '''Language''' - языки распознавания перечисленные через ; (точка с запятой) (не обязательный), ([https://cloud.yandex.ru/docs/speechkit/stt/models| описание на сайте Яндекс]).
* '''IsTextNormalization''' - нормализация распознанного текста, по умолчанию, включена, ([https://cloud.yandex.ru/docs/speechkit/stt-v3/api-ref/grpc/stt_service#TextNormalizationOptions| описание на сайте Яндекс]).
* '''IsProfanityFilter''' - фильтр ненормативной лексики, по умолчанию, выключен, ([https://cloud.yandex.ru/docs/speechkit/stt-v3/api-ref/grpc/stt_service#TextNormalizationOptions| описание на сайте Яндекс]).
* '''IsLiteratureText''' - переписывать текст в литературном стиле, по умолчанию, выключен, ([https://cloud.yandex.ru/docs/speechkit/stt-v3/api-ref/grpc/stt_service#TextNormalizationOptions| описание на сайте Яндекс]).
* '''IsPhoneFormattingMode''' - режим форматирования номера телефона, по умолчанию, включен, ([https://cloud.yandex.ru/docs/speechkit/stt-v3/api-ref/grpc/stt_service#TextNormalizationOptions| описание на сайте Яндекс]).
* '''IsPartialResults''' - получать промежуточные результаты распознавания, по умолчанию, выключено.
* '''IsFirst''' - использовать только первый результат распознавания. Необязательный параметр, по умолчанию, отключен. Яндекс возвращает несколько результатов распознавания, каждый из них может быть проанализирован. Если необходим только первый вариант, как правило, он наиболее правильный, нужно включить этот параметр в true, или 1.
* '''EouSensitivity''' - чувствительность к определению завершения фразы, по умолчанию, нормальная, допустимый параметр "high" - высокая чувствительность, ([https://cloud.yandex.ru/docs/speechkit/stt-v3/api-ref/grpc/stt_service#DefaultEouClassifier| описание на сайте Яндекс]).
* '''EouMaxPause''' - время между словами в мс, после которого фраза считается завершенной, ([https://cloud.yandex.ru/docs/speechkit/stt-v3/api-ref/grpc/stt_service#DefaultEouClassifier| описание на сайте Яндекс]).
Описание параметров потокового распознавания Yandex можно посмотреть [https://cloud.yandex.ru/docs/speechkit/stt/streaming здесь].
 
=== Распознавание голоса с использованием локального Vosk ===
Для распознавания используя  локальный '''Vosk''', значение параметра должно начинаться со слова '''VoskInternal''', за которым могут идти параметры:
* '''IsPartialResults''' - получать промежуточные результаты распознавания, по умолчанию, выключено.
   InitSpeechRecognition ("VoskInternal;IsPartialResults=1")
* '''IsProfanityFilter''' - фильтр ненормативной лексики, по умолчанию, выключен.
* '''IsDenormalization''' - преобразовать текст в числовые данные (сумма, дата и т. п.), по умолчанию, выключено.


==Описание==
==Описание==
:Метод подключает словарь со словами, распознаваемыми после команды '''[[Объект_Device/Методы/StartSpeechRecognition|StartSpeechRecognition]]'''.
:Метод выполняет подготовку распознавания. Распознавание включается командой '''[[Объект_Device/Методы/StartSpeechRecognition|StartSpeechRecognition]]'''.


==Примеры==
==Примеры==

Текущая версия на 17:51, 1 ноября 2023

Метод InitSpeechRecognition» подготавливает распознавание голоса.

Синтаксис

InitSpeechRecognition (BSTR Parameters)

Параметры

Доступны три способа распознавание голоса - при помощи широко известной библиотеки Sphinx и ее голосовых баз, при помощи сервиса Google или Yandex. Если не указан способ распознавания, по умолчанию используется Sphinx.

Распознавание голоса с использованием библиотеки Sphinx

Для использования распознавания Sphinx, значение параметра должно начинаться со слова Sphinx за которым могут идти параметры:

  • ConfigFileName - имя конфигурационного файла Sphinx, по умолчанию <каталог установки Call Office>\SpeechRecognition\init.cfg. Можно указать как абсолютное расположение, так и расположение относительно каталога установки Call Office.
  InitSpeechRecognition ("Sphinx;ConfigFileName=SpeechRecognition\\init.cfg;")

Распознавание голоса с использованием сервиса Google

Для распознавания используя сервис Google, значение параметра должно начинаться со слова Google, за которым могут идти параметры:

  • Key - API Key сервиса Google.
  • Language - язык распознавания. Полный список доступных языков здесь. По умолчанию русский: "ru-RU".
  • SingleUtterance - распознавание одной фразы. По умолчанию выключено.
  • InterimResults - получать промежуточные результаты распознавания. По умолчанию выключено.
  InitSpeechRecognition ("Google;SingleUtterance=1")

Для включения распознавания Google необходимо:

  1. Подробная инструкция по созданию ключа распознавания Google Cloud Platform Создание ключа распознавания Google Cloud Platform.
  2. В некоторых случаях дополнительно нужно установить Распространяемый пакет Visual C++ для Visual Studio 2015.

Для получения триальной версии необходимо иметь google-аккаунт и пройти регистрацию на странице получения триала.

Распознавание голоса с использованием сервиса Yandex

Для распознавания используя сервис Yandex, значение параметра должно начинаться со слова Yandex, за которым могут идти параметры:

  • Model - модель распознавания, (описание на сайте Яндекс).
  • Language - языки распознавания перечисленные через ; (точка с запятой) (не обязательный), (описание на сайте Яндекс).
  • IsTextNormalization - нормализация распознанного текста, по умолчанию, включена, (описание на сайте Яндекс).
  • IsProfanityFilter - фильтр ненормативной лексики, по умолчанию, выключен, (описание на сайте Яндекс).
  • IsLiteratureText - переписывать текст в литературном стиле, по умолчанию, выключен, (описание на сайте Яндекс).
  • IsPhoneFormattingMode - режим форматирования номера телефона, по умолчанию, включен, (описание на сайте Яндекс).
  • IsPartialResults - получать промежуточные результаты распознавания, по умолчанию, выключено.
  • IsFirst - использовать только первый результат распознавания. Необязательный параметр, по умолчанию, отключен. Яндекс возвращает несколько результатов распознавания, каждый из них может быть проанализирован. Если необходим только первый вариант, как правило, он наиболее правильный, нужно включить этот параметр в true, или 1.
  • EouSensitivity - чувствительность к определению завершения фразы, по умолчанию, нормальная, допустимый параметр "high" - высокая чувствительность, (описание на сайте Яндекс).
  • EouMaxPause - время между словами в мс, после которого фраза считается завершенной, (описание на сайте Яндекс).

Описание параметров потокового распознавания Yandex можно посмотреть здесь.

Распознавание голоса с использованием локального Vosk

Для распознавания используя локальный Vosk, значение параметра должно начинаться со слова VoskInternal, за которым могут идти параметры:

  • IsPartialResults - получать промежуточные результаты распознавания, по умолчанию, выключено.
  InitSpeechRecognition ("VoskInternal;IsPartialResults=1")
  • IsProfanityFilter - фильтр ненормативной лексики, по умолчанию, выключен.
  • IsDenormalization - преобразовать текст в числовые данные (сумма, дата и т. п.), по умолчанию, выключено.

Описание

Метод выполняет подготовку распознавания. Распознавание включается командой StartSpeechRecognition.

Примеры

Пример на JavaScript
var Device = new ActiveXObject ("CallOffice.Device");
Device.Open ();
Device.InitSpeechRecognition ();
Device.LogFile = 'CallOffice.log';
Device.LogLevel = 255;
var Words = 'да, нет, выход, ноль, один, два, три, четыре, пять, шесть, семь, восемь, девять, десять';
var StopWords = 'выход';
Device.StartSpeechRecognition (Words, StopWords);
Device.Listen (30);
Device.StopSpeechRecognition (); 
if (Device.VoiceCommand) alert ('Вы сказали слово ' + Device.VoiceCommand);
else alert ('Ничего не произнесено');
Device.Close ();
Пример на VBScript
Dim Device
Set Device = CreateObject ("CallOffice.Device")
Device.Open
Device.LogFile = "CallOffice.log"
Device.LogLevel = 255
Device.InitSpeechRecognition
Words = "да, нет, выход, ноль, один, два, три, четыре, пять, шесть, семь, восемь, девять, десять"
StopWords = "выход"
Device.StartSpeechRecognition Words, StopWords
Device.Listen 30
Device.StopSpeechRecognition

If Device.VoiceCommand Then 
   MsgBox "Вы сказали слово ", Device.VoiceCommand
Else 
   MsgBox "Ничего не произнесено."
End If

Device.Close

Назад к методам объекта Device.