Распознавание речи в мобильном приложении 1С на Android

15.07.21

Разработка - Разработка внешних компонент

Внешняя компонента для мобильной платформы 1С, работающая в связке с отдельной службой и позволяющая реализовать распознавание речи в мобильном приложении на Android.

Скачать файлы

Наименование Файл Версия Размер
Распознавание речи в мобильном приложении 1С на Android:
.zip 58,15Mb
13
.zip 20210715 58,15Mb 13 Скачать

В мобильном приложении 1С есть простой способ распознавания речи с использованием объекта ЗапускПриложенияМобильногоУстройства.

Приложение = Новый ЗапускПриложенияМобильногоУстройства("android.speech.action.RECOGNIZE_SPEECH");
Результат = Приложение.Запустить(Истина);
Если Результат = 0 Тогда
    Возврат;
КонецЕсли;
                
СтрокаВвода = Приложение.ДополнительныеДанные.Получить("query").Значение;

Вот хорошая статья, описывающая работу с подобным подходом. Казалось бы, запускай и радуйся, но мне понадобилось сделать свою Алису фоновое распознавание в непрерывном режиме, поэтому и пришлось реализовать следующую связку:

  1. Приложение (фоновая служба) для Android «Сервис распознавания речи для мобильной 1С»
  2. Внешняя компонента для мобильной платформы, которая взаимодействует с указанной службой.
Схема работы выглядит следующим образом:

Схема работы

На устройство Android устанавливает отдельное приложение (служба), которая работает в фоновом режиме, а в мобильное приложение добавляется внешняя компонента, умеющая с этой службой договариваться и генерирующая внешние события.

Наличие соединения с интернет для распознавания не обязательно, но качество распознавания, как мне показалось, немного лучше, когда оно есть.

Подключение и запуск распознавания:

Если ПодключитьВнешнююКомпоненту("ОбщийМакет.КомпонентаРаспознаванияРечи", "Component", ТипВнешнейКомпоненты.Native) Тогда
    Компонента = Новый("AddIn.Component.SpeechRecognizer");
    Компонента.ЗапуститьРаспознаваниеРечи();
КонецЕсли;

Обработка внешних событий:

&НаКлиенте
Процедура ВнешнееСобытие(Источник, Событие, Данные)
	
	Если Событие = "initialization" Тогда
		Компонента.ЗапроситьСтатусСервиса();
		ПодключитьОбработчикОжидания("ПроверкаСтатусаСервисаРаспознавания", 1, Истина);
	ИначеЕсли Событие = "RecognitionResult" Тогда
		ОбработатьГолосовойВвод(Данные);
	ИначеЕсли Событие = "RecognitionReady" Тогда
		ДатаПоследнегоОтветаКомпоненты = ТекущаяДата();
		ЕстьПромежуточныеРезультаты = Ложь;
	ИначеЕсли Событие = "RecognitionPartialResult" Тогда
		ДатаПоследнегоОтветаКомпоненты = ТекущаяДата();
		ЕстьПромежуточныеРезультаты = Истина;
	ИначеЕсли Событие = "ServiceStatus" Тогда
		СтатусСервисаРаспознавания = Данные;
	ИначеЕсли Событие = "onBeginningOfSpeech" Тогда
		ДатаНачалаПроизношения = ТекущаяДата();
	КонецЕсли;	
	
КонецПроцедуры

Остановка распознавания:

Компонента.ОстановитьРаспознаваниеРечи();
 
Свойства и методы компоненты
Требования:

Для работы приложения требуется Android API 28 и выше.

Тестировалось в следующих условиях:

Релизы мобильной платформы 8.3.17.76, 8.3.18.47

Исходники:

Исходники можно взять тут https://github.com/salexdv/speechrecognizer

Для скачивания:

В архиве находится сама компонента, демонстрационная конфигурация, а также для apk-файла. Тот, который самый маленький - это приложение-служба, а большой - демонстрационной приложение (ARM64)

Благодарности:

В разработке использованы материалы, которые на конференции INFOSTART 2018 EDUCATION представил Игорь Кисиль, в частности статья Внешние компоненты мобильной платформы 1С для ОС Андроид, за что ему большое спасибо! Также очень помогла вот эта публикация и репозиторий.

Android мобильное приложение внешняя компонента распознавание речи speech recognizer intent

См. также

SALE! 30%

Распознавание и загрузка сканов в 1С "одним нажатием": УПД, ТОРГ-12, накладные, счета, номенклатура, заказы и т.д.

Загрузка и выгрузка в Excel Документооборот и делопроизводство (СЭД) Учет документов Распознавание документов и образов Управляемые формы 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление холдингом 1С:Комплексная автоматизация 2.х Бухгалтерский учет Управленческий учет Платные (руб)

Универсальная программа для распознавания ЛЮБЫХ СКАНОВ ИЛИ ФОТО ТОВАРНЫХ ДОКУМЕНТОВ в 1С. Не требует указания параметров и предварительной настройки. Просто выбираете файл (PDF, JPG, DOC, XLS, HTML и т.д.) выбираете документ 1С и нажимаете кнопку "Распознать и загрузить".

5400 4968 руб.

04.06.2019    98011    286    173    

296

"Штрихкод-информер" - мобильный ТСД и прайс-чекер в смартфоне

Мобильная разработка Сканер штрих-кода Терминал сбора данных Управляемые формы Мобильная платформа 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

Сбор заказов, инвентаризация, проверка ценников, просмотр полной информации об остатках и ценах со смартфона Онлайн. Отправка данных со смартфона выполняется либо напрямую в открытую форму документа, отсканировав QR-код, либо в общую корзину учетной системы, не подходя к компьютеру. Кассир или оператор сможет просмотреть список присланных данных и загрузить в любую форму, поддерживающую работу с ТСД. Для работы с мобильным приложением требуется опубликовать HTTP-сервис из поставляемого расширения.

2880 руб.

03.12.2018    52651    120    101    

148

"Мобильный ТСД" - инвентаризация и сбор штрихкодов для iOS и Android

Сканер штрих-кода Терминал сбора данных Мобильная разработка Монитор заказов Оптовая торговля Розничная торговля Ценообразование, анализ цен Платформа 1С v8.3 Мобильная платформа 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Управленческий учет Платные (руб)

Простой мобильный терминал сбора данных для смартфонов на iOS и Android, не требующий сложных настроек и установки дополнительных программ. Обмен между Вашей 1С и мобильным приложением осуществляется через облачный сервис и расширение конфигурации. Работает с конфигурациями УТ 11, ERP, КА2, Розница 2, Розница 3, УНФ 1.6, УНФ 3.0. Полнофункциональный демо-доступ для своей конфигурации можно запросить в настройках мобильного приложения - все необходимое придет на почту автоматически.

2000 руб.

22.04.2019    89191    466    185    

278

Склад 15 - программа для подключения ТСД к 1С

Логистика, склад и ТМЦ Сканер штрих-кода Терминал сбора данных Мобильная разработка Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)

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

3450 руб.

28.04.2023    7476    14    0    

6

SALE! 15%

Что нам стоит бота построить? Нарисуем - будет жить! Графический конструктор телеграм-ботов/Telegram

Мобильная разработка Мессенджеры и боты Платформа 1С v8.3 Платные (руб)

Теперь создать telegram-бота - элементарно. Достаточно просто нарисовать блок-схему телеграм-бота, и он сразу заработает. Это возможно при использовании Графического конструктора телеграм-ботов. Это единственный конструктор ботов для telegram, чье качество и функционал подтверждены фирмой 1С, есть сертификат 1С:Совместимо. Расширение в интерактивном режиме, с помощью блок-схем, позволяет с минимальными трудозатратами создать телеграм-ботов в любой конфигурации, работающей на платформе «1С:Предприятие 8.3».

13200 11220 руб.

27.12.2021    30578    70    146    

161

Распознавание документов в "1С:Предприятие 8.3": расширение для типовых конфигураций.

Учет документов Распознавание документов и образов Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Расширение для типовых конфигурация и для самостоятельной интеграции системы распознавания документо удостоверяющих личность и прочих документов непосредственно из информационных баз "1С:Предприятия 8.3" с помощью Content AI - Passport Reader SDK. Расширение позволит не изменяя типовой код конфигурации, расширить текущий функционал несколькими кликами мыши.

12000 руб.

26.01.2016    68410    77    0    

100

Внешняя компонента WebSocket для 1С (c поддержкой Authorization token bearer)

Разработка внешних компонент Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Внешняя компонента в виде библиотеки (.dll файл), позволяющая посылать команды и получать ответы по протоколу WebSocket из 1С. Компонента работает только на стороне "клиента".

4440 руб.

22.06.2020    15919    13    33    

19
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. s.sintsov 242 15.07.21 17:41 Сейчас в теме
При установке приложения-службы распознавания выдает Ошибка при синтаксическом анализе пакета. Android 7.0
2. salexdv 2230 15.07.21 17:54 Сейчас в теме
(1) Нужен Android API 28 и выше. В репозитории это указал, дополню описание и здесь. Возможно, что будет работать с версией и ниже, но надо пробовать.
3. Serg O. 215 16.07.21 09:26 Сейчас в теме
по этой же теме - есть не только распознавание,
но и "перевод" и "говорилка" (синтез речи)
https://infostart.ru/public/943973/
4. salexdv 2230 16.07.21 09:45 Сейчас в теме
(3) Спасибо за ссылки! Тема схожая, но подходы разные. Использование вот такой конструкции
ЗапускПриложенияМобильногоУстройства("android.speech.action.RECOGNIZE_SPEECH")

вызывает появление системного окна, что иногда нежелательно.
Для фонового распознавания еще можно пользоваться, например Yandex.SpeechKit или speech-to-text от Google. У этих способов есть свои недостатки. Если не говорить о том, что эти сервисы платные, например, у Яндекса самые короткие тарифицируемые отрезки по 15 сек и, произнося текст, ты не сразу видишь результат. Еще из поддерживаемых форматов там только wav и oggopus. Первый много весит, со вторым проблемы на мобильных платформах.
В общем под каждую задачу свой инструмент, благо выбор с каждым днем становится все шире.
Pilokarpios; Serg O.; +2 Ответить
5. sinichenko_alex 171 17.07.21 17:43 Сейчас в теме
Давно ждал что-то подобное. Сходу большой и жирный плюс! Еще вопрос какие версии ОС андроид включительно поддерживаются? Я когда то писал компоненты для мобильного приложения с поддержкой андроид 4 или 5 и выше, почему-то в новых версиях (Старше 8.0) они запускаться отказались... На тот момент было уже не актуально и я не стал разбираться. А так в целом за идею, а тем более за её реализацию однозначно плюс и снова плюс!
6. salexdv 2230 17.07.21 22:20 Сейчас в теме
(5) Спасибо! В данный момент требуется Android API 28 и выше (Android 9). С незначительными переделками, в теории, можно запустить на 26 версии (Android 8.0). Если нужна ещё более ранняя версия Android, то переделок будет больше т.к. API сильно менялся
Pilokarpios; Serg O.; sinichenko_alex; +3 Ответить
Оставьте свое сообщение