Объект Device/Методы/InitSpeechRecognition

Материал из Call Office Wiki
Перейти к навигации Перейти к поиску
Метод 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.

Описание параметров потокового распознавания 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.