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

15.07.21

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

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

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

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

В мобильном приложении 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

См. также

INFOSTART TECH EVENT 2023, 11-13 октября, Санкт-Петербург

Инструментарий разработчика Мобильная разработка DevOps и автоматизация разработки Администрирование СУБД Мероприятия Россия Платные (руб)

XIII конференция по управлению и технологиям автоматизации учета на платформе 1С:Предприятие, которая пройдет в Санкт-Петербурге и соберет 1500 участников из разных регионов России и мира.

5100 руб.

09.12.2022    30068    5    0    

406

Базовый курс по разработке мобильных 1C-приложений для Android-устройств. С 31 июля по 6 сентября 2023 г.

1С-программирование Мобильная разработка Платные (руб)

Данный онлайн-курс предусматривает изучение базовых принципов создания приложений для операционной системы Android, работающих на мобильной платформе “1С:Предприятие”. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие” при разработке прикладных решений для “обычных” компьютеров, но пока ещё не занимался разработкой 1С-приложений, предназначенных для работы на мобильных устройствах.

1500 руб.

08.06.2023    5421    36    0    

42

SALE! 35%

Распознавание и загрузка сканов в 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С и нажимаете кнопку "Распознать и загрузить". Программа сама находит таблицу в файле, необходимые для загрузки данные в ней (номенклатура, количество, НДС, цена, сумма) и загружает ее в 1С. Вместе с номенклатурой может найти контрагента, номер и дату документа, штрих-коды, серии ГТД, страну и т.д. Распознает товарные документы ЛЮБОЙ ФОРМЫ (УПД, ТОРГ-12, накладную, заказ клиента и т.д.). Содержит модуль работы с электронной почтой. Для поиска таблиц используются новейшие методы OCR-нейросети. Загружает только то, что нужно, т.е. пропускает повторы шапки таблицы, заголовки, промежуточные итоги, подписи и т.д.

5400 4968 руб.

04.06.2019    95690    274    169    

285

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

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

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

2880 руб.

03.12.2018    51345    113    99    

141

"Мобильный ТСД" - инвентаризация и сбор штрихкодов для 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    87796    443    185    

267

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

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

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

13200 руб.

27.12.2021    28541    71    140    

159

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

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

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

12000 руб.

26.01.2016    67780    75    0    

98

Медиадисплей. Рекламный информационный монитор для покупателя.

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

Монитор покупателя может отображать текущую покупку на кассовом месте, показывать видеорекламу, баннеры, во время простоя разворачивать рекламу на весь экран. Можно использовать в качестве графического меню-борда в кафе и видеовывески. Управление выводом на телевизор через hdmi-приставку на базе Windows или Android. В качестве устройства отображения можно использовать Android-планшеты, фоторамки с Android, монитор любого Windows-компьютера, доступного по сети. Настраивается ЛЮБОЙ ДИЗАЙН экрана!

10800 руб.

30.05.2017    50836    32    67    

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

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