Объект Device/Методы/InitSpeechRecognition: различия между версиями
Евгений (обсуждение | вклад) |
Jugin (обсуждение | вклад) |
||
(не показано 12 промежуточных версий 2 участников) | |||
Строка 5: | Строка 5: | ||
==Синтаксис== | ==Синтаксис== | ||
:<syntaxhighlight lang="c"> | :<syntaxhighlight lang="c"> | ||
InitSpeechRecognition ( | InitSpeechRecognition (BSTR Parameters) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
|} | |} | ||
==Параметры== | ==Параметры== | ||
Доступны три способа распознавание голоса - при помощи широко известной библиотеки '''Sphinx''' и ее голосовых баз, при помощи сервиса '''Google''' или '''Yandex'''. | Доступны три способа распознавание голоса - при помощи широко известной библиотеки '''Sphinx''' и ее голосовых баз, при помощи сервиса '''Google''' или '''Yandex'''. Если не указан способ распознавания, по умолчанию используется '''Sphinx'''. | ||
=== Распознавание голоса с использованием библиотеки Sphinx === | === Распознавание голоса с использованием библиотеки Sphinx === | ||
Для использования распознавания '''Sphinx''' | Для использования распознавания '''Sphinx''', значение параметра должно начинаться со слова '''Sphinx''' за которым могут идти параметры: | ||
InitSpeechRecognition ("SpeechRecognition\\init.cfg") | * '''ConfigFileName''' - имя конфигурационного файла Sphinx, по умолчанию <каталог установки Call Office>\SpeechRecognition\init.cfg. Можно указать как абсолютное расположение, так и расположение относительно каталога установки Call Office. | ||
InitSpeechRecognition ("Sphinx;ConfigFileName=SpeechRecognition\\init.cfg;") | |||
=== Распознавание голоса с использованием сервиса Google === | === Распознавание голоса с использованием сервиса Google === | ||
Строка 30: | Строка 31: | ||
=== Распознавание голоса с использованием сервиса Yandex === | === Распознавание голоса с использованием сервиса Yandex === | ||
Для распознавания используя сервис '''Yandex''', значение параметра должно начинаться со слова '''Yandex''', за которым могут идти параметры: | Для распознавания используя сервис '''Yandex''', значение параметра должно начинаться со слова '''Yandex''', за которым могут идти параметры: | ||
* ''' | * '''Model''' - модель распознавания, ([https://cloud.yandex.ru/docs/speechkit/stt/models| описание на сайте Яндекс]). | ||
InitSpeechRecognition (" | * '''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]]'''. | ||
==Примеры== | ==Примеры== |
Текущая версия на 17:51, 1 ноября 2023
Метод InitSpeechRecognition» подготавливает распознавание голоса.
Синтаксис
|
Параметры
Доступны три способа распознавание голоса - при помощи широко известной библиотеки 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 необходимо:
- Подробная инструкция по созданию ключа распознавания Google Cloud Platform Создание ключа распознавания Google Cloud Platform.
- В некоторых случаях дополнительно нужно установить Распространяемый пакет 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