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

Материал из Call Office Wiki
Перейти к навигации Перейти к поиску
Строка 19: Строка 19:
|'''CallbackFunction'''
|'''CallbackFunction'''
|пользовательская функция обратного вызова (callback) прерывания процесса распознавания. По умолчанию - отсутствует.
|пользовательская функция обратного вызова (callback) прерывания процесса распознавания. По умолчанию - отсутствует.
|-
|'''DeferredTime'''
|Время в мс включения отложенного распознавания относительно следующего звукового сообщения. Если значение положительно, распознавание будет включено через указанное время после начала произнесения следующего звукового сообщения. Если отрицательно относительно времени завершения произнесения следующего голосового сообщения. По умолчанию: 0 - отложенное распознавание не используется.
|}
|}



Версия 11:07, 11 апреля 2016

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

Синтаксис

StartSpeechRecognition (BSTR Words, BSTR StopWords, VARIANT CallbackFunction, LONG DeferredTime)

Параметры

Words строка, содержащая распознаваемые слова, разделенные запятыми. По умолчанию - все. Для распознавания Google этот параметр игнорируется, для распознавания Yandex следует использовать следующие языковые модели: notes — тексты, dates — даты, names — имена, numbers — числа, music — музыка, buying — заказы (по умолчанию - notes).
StopWords строка, содержащая слова, разделенные запятыми, останавливающие процесс распознавания голоса. По умолчанию - отсутствуют.
CallbackFunction пользовательская функция обратного вызова (callback) прерывания процесса распознавания. По умолчанию - отсутствует.
DeferredTime Время в мс включения отложенного распознавания относительно следующего звукового сообщения. Если значение положительно, распознавание будет включено через указанное время после начала произнесения следующего звукового сообщения. Если отрицательно относительно времени завершения произнесения следующего голосового сообщения. По умолчанию: 0 - отложенное распознавание не используется.

Пользовательская функция может быть двух видов - выражение в виде текста на языке JavaScript возвращающее функцию или стандартный интерфейс IDispath. Пользовательская функция принимает три параметра:

  1. Text - (строка) распознанный текст;
  2. Confidence - (вещественное число) степень достоверности 0 - 1.
  3. Endofutt - (логическое) признак завершения фразы.

Возвращает логическое выражение, при значении true распознавание прерывается.


Пример пользовательской функции в виде выражения JavaScript:

Device.StartSpeechRecognition (Words, StopWords, "0, function (Text, Confidence, Endofutt) {if (Confidence > 0.3 and Endofutt) return true; return false;}");


Пример пользовательской функции в виде обычной функции JavaScript:

function Check (Text, Confidence, Endofutt) 
{
   if (Endofutt) {          // Если фраза распознана полностью
      if (Confidence > 0.3) return true;   // Если степень достоверности распознанного текста больше 0.3 завершаем распознавание
   } 

   return false;
}

Device.StartSpeechRecognition (Words, StopWords, Check);

Описание

Метод позволяет распознать произнесенные пользователем слова, содержащиеся в словаре, подключаемом командой InitSpeechRecognition.

Примеры

Пример на 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.