Компонента была написана на модуле NativeAPI для 1с8 (//infostart.ru/public/81644/), за основу был взят проект MSpeech http://code.google.com/p/mspeech/ .
Масштаб использования компоненты очень велик, но основными являются — это распознавание голосовых команд и искусственный интеллект. Ну а теперь поговорим о функционале компоненты.
Функций и свойств у нее не много.
Функция Start, Старт, Параметров 0;
Функция GetNameDevice, ПолучитьИмяУстройства, Параметр 1-Индекс устройства ввода;
Функция SetIndexDevice, ПрисвоитьНомерУстройства, Параметр 1-Индекс устройства ввода;
Функция GetDefaultDevice, ПолучитьНомерУстройстваПоУмолчанию, Параметров 0 ;
Свойство FileName, ИмяФайла, Чтение и Запись;
Свойство RecTime, ВремяЗаписи, Чтение и Запись;
Свойство DeviceCount, ЧислоУстройств, Чтение;
Свойство Recording, Запись, Чтение;
Свойство EnableProxy, ВключитьПрокси, Чтение,Запись;
Свойство ProxyHost’,’ПроксиАдрес, Чтение,Запись;
Свойство ProxyPort’,’ПроксиПорт, Чтение,Запись;
Свойство ProxyUser’,’ПроксиПользователь, Чтение,Запись;
Свойство ProxyPass’,’ПроксиПароль, Чтение,Запись;
Свойство HTTPTimeOut’,’ТаймаутЗапроса, Чтение,Запись;
Способ работы компоненты так же очень прост. При вызове функции «Старт» происходит запись данных с устройства ввода и по истечению таймера с установленным значением «ВремяЗаписи»
данные отправляются на сервер. После этого возвращается ответ сервера с результатом распознавания.
Ну вот в принципе и все. Много писать не люблю да и краткость сестра таланта )))).
PS: Добавил свою прогу для выполнения голосовых команд на компьюторе в качестве примера и возможности этой технологии.
Ну всё. Эра «хочу кнопочку которая будет делать то что я хочу» ушала в прошлое. Теперь бухгалтерши будут желать непосредственного общения с 1С ) «ОСВ по счёту 41.1 сформируйся»
(1)Так это же хорошо ))
(2)
А я и не спорю. Иногда лучше чтобы с бухгалтером говорила 1С а не программист.
(3)))))
(1) Ibrogim,
А будет как обычно:
Voice recognition technology? In a 1C? In Russia? You ever tried voice recognition technology?
ELEVEN!
🙂
Вот интересно, а если повесить эту обработку на постоянное ожидание через фоновое задание ? Справится?
(6)Попробуй ))
(3) Ibrogim, а у нашего отдела была идея научить попугая простым казалось бы фразам: «Перезагрузите компьютер»,»Восстановите последовательность по партиям»,»Это к сисадминам».)
(2) спасибо за идею. Сразу много разных мыслей по прикручиванию к Рознице.
Очень интересная штука. НА данный момент смущает лишь то, что нужно устанавливать «время записи». Было бы интересно посадить на «постоянное прослушивание» и оперативный анализ
Начал тестить — и ничего!
Нажимаю кнопку «Стар», она становится «не активной» и все….индикатор не идет, ничего не выводится. Обработчит ожидания только крутится и все:
Процедура ОбработчикОжидания()
Если Об.Запись=Ложь тогда
ЭлементыФормы.ОсновныеДействияФормы.Кнопки.ОсновныеДействияФормыВыполнить.Доступность=Истина;
КонецЕсли;
КонецПроцедуры
???
Кто скачал, поделитесь впечатлениями!!!)) Как все это дело работает? Реально ли запускать обмен между базами?))
Возможно ли создание реализации и подбор номенклатуры голосовой командой и т.п.?))
Требуются ли какие-либо вмешательства в код для корректной работы???
В темуhttp://infostart.ru/public/126505/ попробуй ей сказать (открыть справочник контрагенты)
(9)Не за что, скоро обновленную версию компоненты выложу с постоянной записью и с прокси настройками!
(11)Там небольшой глюк, комп должен быть подключен к инету, скоро выложу обновленную версию
(14) ждём!
(15) так он у меня и так подключен! Причем без всяких прокси.
(10)(16)Все обновил! Смотрим и коментим!
(18) Что-то оно как не работало, так и не работает. Нажимаю «Старт» и все — ноль эмоций.
ПРОКСИ НЕТ!
Что не так делаю?!
(19)Давай в личку, будем разбираться
Интересная разработка, ставлю плюс… Попробовал очень даже ничего, но сделать что-то сложное пока не представляю как.
Блин, еще одну ошибку у себя нашел кнопка Стоп не срабатывает. Уже исправил но пока не выложил
Приколько, главное чтобы мои Юзьвери не наткнулись на данную статью, а то точно попросят что то вроде «Анализ доступности товаров на складе по сезону Весна-Лето, тапочки женские». Ну а в целом, зачетная компонента, я думаю можно найти ей применение.
P.S. не хотите расширить функционал для программиста, а то пальци писать устали, я бы поговорил на языке 1с с платформой.
(23)чуть попозже планирую добавить функционал SpeechAPI5(синтез речи только движок устанавливай а управление из компоненты), плюс поиск слова в интернете( в WIKI) что оно означает.
Не работает. Выбираю устройство ввода. Нажимаю «Старт». Говорю «Раз, два, три». И ничего не происходит
(25)Я вот как раз по этому поводу с mzelensky и разбираюсь. У него тоже не работает. У тебя в виндовс имя учетки случайно не на русском языке?
(25)Я вот как раз по этому поводу с mzelensky и разбираюсь. У него тоже не работает. У тебя в виндовс имя учетки случайно не на русском языке? А индикатор работает когда раз два три говоришь?
(27) Имя учетки на английском. Win 7. Индикатор не работает. Кнопка «старт» залипает. Кнопка «Стоп» — не действует
(28)64 битная винда?
(29) 32 бита
у меня 64
(30)(31)Все решил проблему для Win7x32 файлы libeay32.dll,libFLAC.dll,ssleay32.dll кидаем в system32 и подчищаем старое место их сохранения. Для Win7x64 если в system32 не заработает то кидаем WOW64 и отписываемся получилось или нет!
(32) Надо по новой скачивать или код самому подправлять?
(33)Скачай по новой я там процедуру стоп доработал там небольшая ошибочка была и подправь в ручную пути этих 3 длл которые перечислил выше, потом отпешись!
(34) Скачал. изменил код:
Показать
Запустил.
Нажал «Старт». Говорю «рад, два, три» — работает индикатор.
Нажимаю «Стоп» — и ничего.
и еще при закрытии обработки, конфигурация подвисает. приходится ее перезапускать
(35)Ставишь Время записи 2500 мили сек. Нажимаешь старт и говоришь «раз дв…..», потом по истечению 2500 мили сек. компонента отправляет запрос на Google server. После прихода ответа на запрос кнопка старт становится активной. кнопку стоп не надо жать. После нажатия кнопки стоп распознавание не произойдет, она просто останавливает запись файла.
Интересна информация о технологии. Интересна в контексте наличия незрячих друзей.
(36) Заработало. Спасибо за идею и реализацию.
при запуске 1С падает
падает на: ПодключитьВнешнююКомпоненту(ВремКаталог+»GoogleRcn.dll»,»DemoLib»,AddInType.Native);
(40)кАКАЯ система(Windows)? XP? x32 x64?
(41) win 7 x64
(42)Пробовал это-Все решил проблему для Win7x32 файлы libeay32.dll,libFLAC.dll,ssleay32.dll кидаем в system32 и подчищаем старое место их сохранения. Для Win7x64 если в system32 не заработает то кидаем WOW64 и отписываемся получилось или нет!
Win7x64. Закинул в папку system32 — заработало!
Теперь возникает вопрос. При обработке «речи» идет некая пауза, на то чтобы записать файл, отправить на сервер и дождаться ответа. Можно ли уменьшить эту паузу?!
Побочный вопрос — можно ли уйти от интернет-сервиса и юзать какую-нибудь локальную библиотеку?! Тем самым ускорить обработку.
(44)нет нельзя!
Плохо 🙁
Пауза мешает оперативной работе
Интересная идея!
(45) Сделал адаптацию под управляемую форму.
Поменял алгоритм.
Теперь пауза не так сильно влияет.
Улучшил внешний вид.
1. Открываете обработку
2. Нажимаете кнопку «Подключить» — должна появиться строка с выбором микрофона. Для этого необходимо, чтобы соблюдались правила (43)
3. Выбираем микрофон
4. При необходимости настраиваем прокси через кнопку «Настройка»
5. Нажимаем кнопку «Начать запись» — в поле «Длительность записи» будет видно уменьшающееся время на разговор, надо успеть пока цифры уменьшаются. После этого идет отправка файла и ожидание ответа распознавания. Затем можно опять говорить, когда цифры будут уменьшаться. Цикл записи можно настроить в кнопке «Настройка»
6. Когда надоест говорить. Нажмите кнопку «Остановить запись»
есть нерешенная проблема: После закрытия обработки — подвисает конфигурация — ее необходимо перезагружать. Возможно это связано с процедурой подключения библиотеки
{Форма.Форма.Форма(65)}: Тип не определен (AddIn.DemoLib.GoogleRcn)
по причине:
{Форма.Форма.Форма(65)}: Тип не определен (AddIn.DemoLib.GoogleRcn)
В обработке так
ВремКаталог=»C:WindowsSystem32″;
ПодключитьВнешнююКомпоненту(ВремКаталог+»GoogleRcn.dll»,»DemoLib»,AddInType.Native);
Об = Новый(«AddIn.DemoLib.GoogleRcn»);
Ошибка при создании объекта
Win7x64. Закинул в папку system32 — не заработало
«кидаем WOW64» -это где?
(48) verter.me,
попробуй переменную с объектом убивать при закрытии
Об=Неопределено;
(49)в категории WindowsSysWOW64
(50)Объект создается при создании обработки, и уничтожается автоматически при уничтожении обработки. А уничтожение обработки происходит при закрытии формы.
(48)
Там поток висит в ожидании на закрытие. попробуй вот ети обработки.Попробуй GoogleRcn и GoogleRcn2. В GoogleRcn2 там поток должен разрушаться без ожидания окончания
(51)
переместил в эту папку,при открытии обработки падает 1с
(54)Может у тебя какие-то права ограничены на запись файлов или еще на что нибудь?
(50) ranger, (53) Попробую. О результатах сообщу.
(56)ок
(55)
не могу понять.
Я в процедуре ВыгрузитьDllФайлыИзМекета()
оставил только
ПодключитьВнешнююКомпоненту(ВремКаталог+»GoogleRcn.dll»,»DemoLib»,AddInType.Native);
Об = Новый(«AddIn.DemoLib.GoogleRcn»);
где ВремКаталог пробовал ставить и «C:WindowsSysWOW64»,и C:WindowsSystem32
А что, прикольно, надо прикрутить ее к системе учета задач. «Новая задача» -> «Не забыть раздать звиздюлей» -> «Записать»
При открытии обработки, 1С падает.
WIN7 32
(59) прикольно к прикрутить к БСП подсистемы напоминаний пользователю)
(58)Ну так правильно она и будет падать, все файлы и компоненту (GoogleRcn.dll) кинул в C:WindowsSystem32, а пытаешься подключить с этого пути ВремКаталог+»GoogleRcn.dll»
(60)Смотри комментарии выше!
(50) ranger, Не работает.
(53) Не нашел отличий. И что понимается под потоком?
переместил в sysWow, вот такая ошибка
(62)
что правильно?
Я сначала кинул,как ты посоветовал,в C:WindowsSystem32-не работает,возникла Ошибка при создании объекта(из временного каталога 1с удалил),потом перекинул в «C:WindowsSysWOW64″(из System32 удалил)-падает при открытии обработки
(65)Значит в system32 кидай
(66) Это внутри компоненты запускается поток
(68) такая же ошибка
(67)В прикрепленном файле лежит обработка и три dll файла. Три dll файла кидаем в C:WindowsSystem32 и запускаем обработку. Ну если это не получится я тогда не знаю почему у тебя вылетает. С виндозовскими правами поковыряйся!
(70)Смотри (71)
(71) вылетает в дамп
(73)Не знаю тоды, может dll не хватает, проверь в system32 есть такой файл msvcrt.dll если нету то закинь.
(63) Копирование файлов в систем32 не помогает. При открытии обработки валится 1С.
(74) такой файл есть.
(75)(76)У verter.me пошло норм на Win7
(75)(76)А платформа 1С у вас какая? и Конфа какая?
(78) 8.2.17.153, конфа бухгалтерия 2.0
Добавлю, что после копирования файла libeay32.dll в систем32 перестал работать клиент-банк(не проходила проверка сертификата и ругался эксплорер на этот файл), после удаления его клиент-банк заработал.
(77) Я, на всякий случай все dll закинул в system32 и попытался зарегистрировать GoogleRcn.dll. Не уверен, что получилось — но программа заработала
(79)За основу брал проект MSpeech, там были все эти длл. ssleay32.dll отвечает за шифрование а тот файл новерное привязка к нему. Я удалил его из обработки чтоб проверить. Работает!
(61) ineshyk, не, это не наш вариант, у нас своя клевая система управления задачами )
инструкцию можно чтоб работало
теперь я понял проблему 1с и нас в общем мы мало придаем значение справки или воопще её игнорируем
(83)Уточните именно, какую справку? Если у вас Win7 читайте коменты там все написано!
А у меня пишет, что работа 1С прекращена. Windows пытается решить этот вопрос (((
(86)Попробуй зарегистрировать GoogleRcn.dll . Читайте коменты
Автор, дай я тебя обниму!)))
(88) LaNaite, Вообще то. Тут и другие кой-какую лепту внесли. Мы тоже требуем поощрения
У этого направления большое будущее…но не в бухгалтерии. В торговле, может быть.
Говорить по времени дольше, чем набивать. Разве что хохлушек (или просто тех, кто умеет трещать) будут брать.
У меня ХР и не понятно о какой GoogleRcn.dll идет речь. Где её брать из макетов??
(90) Aleks1973, Соглашусь. Распознавание пока не очень. Баловство одно. НО!!! Отдельные-то слова распознает замечательно. Значит, на первое время к каждому объекту в 1С (справочник, документ) прикручиваем теги (приходник, ПКО, Приходно-кассовой ордер). Вешаем в фон прослушку, там же анализируем. Поймав например текст «Система ПКО», где Система ключевое слово, а за ним название объекта — можно открывать документ и далее пользователь работает с ним как обычно.
Надо только решить проблему с подвисанием конфигурации.
(88) ))
Интересненько… Сразу фантазия заиграла и идеи появились)
Как будет время — погляжу.
Заранее спасибо!
На Win7 работает, а на XP нет.
Что не хватает XP что есть в 7-ке, что бы эта обработка заработала?
(95)может .net!
Ставлю + за идею
У кого-нибудь эта херня работает?
(98)Да, эта хреня работает!