Все о модуле распознавания голоса EasyVR (ex VRbot)


Сегодня я наконец возьму и эпически сорву покрова с этих самых модулей EasyVR, так как тема сисек, ящитаю, практически не раскрыта. Покрова буду «срывать полностью, полностью буду срывать», так что готовьтесь :)

Итак, дело началось с того, что мне захотелось добавить управление голосом в автомобиль (систему комфота) и в комнату дома. Хотя, больше, конечно, хотелось «поиграться» и посмотреть, что из этого получится. Про VRBot я уже где-то слышал, но в руках не держал, так что уже знал, что какие-то готовые решения есть.

Копание в интернетах показало, что как таковых VRBot'ов уже не существует и вывело меня на сайт их производителя и переемника VeeaR. Переемником VRBot стал модуль, практически не отличающийся от своего предшественника — EasyVR. Также, появилась более «крутая» его версия — SmartVR, которая позволяла писать аж свои приложения для какой-то там встроенной виртуальной машины. Но для SmartVR необходимо было допиливать хоть и немного, но внешний обвес (либо покупать дорогую плату разработчика), по этому для начала, ничтоже сумняшеся, я заказал пару EasyVR на «поковырять», даже и не думая, что мои ковыряния потом зайдут так далеко…

После того, как модули мне пришли, я начал с ними играться. Поставил штатный софт, подключил, пообучал, посмотрел возможности. Конечно, функционал этих модулей из коробки достаточно узок — распознавание некоторого количества команд управления роботом (больше они, ИМХО, ни для чего не годятся), зашитых намертво в прошивку на нескольких европейских языках + возможность добавить до 32-х своих собственных команд (то, ради чего модули и заказывались). Также, была очень заманчивая возможность сделать «избу-говорильню» — прошить в модуль наборы звуков, которые потом можно было бы воспроизводить через него как ответы.
Распознавание зашитых команд было «человеконезависимое», т.е., по факту, модулю было все равно кто и каким голосом называет команды — он их уверенно распознавал (только нужно было обеспечить правильное произношение). Пользовательские же команды требовали сначала обучения под конкретного пользователя. Еще существовала возможность распознавания конкретного человека по характеристикам голоса — «голосовой пароль», что вполне неплохо работало и тоже было достаточно интересной фишкой.

Все вроде было замечательно, но меня очень сильно будоражил вопрос: «почему для SmartVR можно писать свои собственные программы, а для EasyVR нельзя?» И черт меня дернул раскопать всю эту кухню глубже.
Начал я с того, что выяснил такой момент — оба модуля работают на абсолютно одинаковых чипах, RSC-4128 компании Sensory. Что-то из услышанного когда-то давно подсказывало мне, что чип хороший, годный, стабильный и использовался в куче всяких роботизированных игрушек типа Furby. Так оно и оказалось.
На сайте разработчика с большим трудом были найдены и выкачаны разные доки — даташит на чип, описание технологических библиотек, СДК, примеры и много-много другого барахла. После изучения всего добра я влюбился в этот чип :) Его возможности, фактически, оказались уникальны: других специализированных однокристальных решений (кроме более старшего семейства этой же фирмы) как-бы и не существовало. Итак, по порядку.

RSC-4128

Чип представляет собой специализированный микроконтроллер на совместимом с 8051 ядре, который несет на себе периферию для записи и воспроизведения звука (микрофонный преамп с АЦП, ЦАП с ШИМ для динамика, аудио-компараторы, фильтры). На чипе есть немного оперативки (4.8 килобайт) и РОМ, размер которого означается последними цифрами названия чипа (в данном случае 128 килобайт). Ядро работает на частоте 14 с лишним мегагерц от внешнего резонатора с PLL. Доступно 5 таймеров (3 обычных, 1 тик-таймер, 1 ватчдог), 8 источников прерываний (от таймеров и от пинов), интерфейс подключения внешней памяти, ускоритель векторной математики. На чипе нет аппаратной периферии связи — UART, SPI, I2C. Есть только GPIO с прерываниями от некоторых пинов, но вопрос этот вполне неплохо решается софт-драйверами. Хорошо работает подсистема энергосбережения (все-таки, чип рассчитан на батарейное питание). С регистрами все очень просто и понятно, никаких заморочек. Чип может считывать программу либо полностью из внутреннего рома, либо полностью из внешнего (адресуя до 1 мегабайта без изъебств), в зависимости от состояния пина nXM. Также существуют механизмы доступа к разного рода навесной памяти, которые, в общем-то, не очень сильно нужны (ИМХО).
Основная же соль чипа — софт-библиотека FluentChip, которая и реализует все возможности по распознаванию и синтезу, а также много других полезных функций.

FluentChip

Это набор объектных файлов, которые содержат в себе весь волшебный функционал синтеза и распознавания, т.к. чип, по сути — голая болванка с периферией и сам ничего не умеет. Реализован следующий функционал:
  • Воспроизведение звука: с помощью специальной программы QuickSynthesys можно подготавливать библиотеки звуков, слов и предложений из них; музыку для встроенного MIDI-секвенсора. С помощью простых библиотечных функций можно воспроизводить звуки, слова, мидишки со своими инструментами и даже со словами поверх музыки; можно воспроизводить DTMF, пищать и посылать токены SonicNet в любой комбинации. Присутствует очень хорошее сжатие для речи — SX.
  • Запись звука: собственно, запись звука с последующим воспроизведением. Нам не актуально, т.к. для этого нужна особая навесная оперативка или флэшка приличного объема, которую к модулям никак не подключить.
  • Распознавание речи: отдельный разговор. Об этом функционале поговорим ниже.
  • SonicNet: позволяет посылать через динамик и слушать микрофоном специальные посылки-токены, не слышимые человеком и таким образом общаться нескольким устройствам между собой.
  • «Анимация»: набор функций для интерактивной обратной связи. Детектор и предсказатель ритма, детектор высоты тона или ноты, «синхронизатор движения губ» как для заранее зашитых звуковых библиотек, так и работающий в реальном времени с микрофона.
  • SoundSource: используя немного обвеса, возможно соорудить «электронные уши», детектировать положение источника звука и, например, поворачивать устройство или его «голову» к говорящему. Нам, к сожалению, прелестями воспользоваться не удастся ввиду ограниченного числа выведенных GPIO на модуле.
  • Утилитарные функции, типа функций настройки таймеров, доступа к буферам в оперативке, управления питанием, генерации задержек и проч. Есть готовый софтовый драйвер UART.

Теперь поговорим о распознавании речи. Библиотека умеет выполнять два принципиально разных метода распознавания: T2SI (text-to-speaker-independent, «человеко-независимый», говорящим может быть кто угодно) и SD (speaker-dependent, говорить должен тот, кто обучал систему).

T2SI использует достаточно сложный и интересный подход. Сначала на компьютере в специальной программе (QuickT2SI) формируются словари путем вбивания нужных слов или фраз с клавиатуры. Затем программа, в зависимости от выбранной языковой модели проводит преобразование этих слов и фраз к фонемам (при необходимости результат можно корректировать, вплоть до ручного набора слов фонемами IPA). После этого можно произвести тонкую настройку распознавания и сформировать объектные файлы с данными для вашего набора слов, которые должны быть включены в программу. Таких наборов может быть очень много, а нужный просто выбирается при вызове библиотечной функции распознавания.
Этот метод сложен технически, использует акустические модели фонем для разных языков, нейросети для их распознавания и скрытую марковскую модель (HMM) для статистического анализа и угадывания слов. Соль в том, что самая сложная работа — построение и обучение нейросети и формирование скрытой марковской модели — происходит на компьютере, а в устройство зашивается уже готовая нейросеть (в библиотеке на чипе есть софтовый нейропроцессор и анализатор HMM). Готовая нейросеть и модель содержит в себе только нужные состояния и фонемы для набора, поэтому получается очень компактная и быстрая.
Результат работы этого метода, конечно, впечатляет. Получается очень точное распознавание даже на больших словарях и с разными «говорителями». Но у метода есть для нас один очень большой недостаток. Нет модели русского языка :( Причем, принципиально нет никаких ограничений, чтобы ее сделать, но разработчику, походу, это не особо нужно. Тем не менее, есть возможность использовать более-менее похожие модели испанского/итальянского с некоторыми ограничениями и набирать нужные слова сразу фонемами, но это не так удобно, хотя качество распознавания русских слов, запиленных таким образом, достаточно неплохое.

Второй метод — SD — основан на высчитывании огибающих слова/фразы и, возможно еще какой-то информации, типа FFT и генерации «паттерна» — отпечатка, соответствующего этому слову или фразе. По всей видимости, это какой-то векторный массив, наподобие паттернов, описывающих отпечаток пальца после векторного анализа. Только здесь, в качестве исходной информации выступает не картина папиллярного узора, а захваченная звуковая информация. Каждый паттерн занимает в памяти строго определенное количество байт — 256. Из нескольких паттернов в процессе обучения комбинируется «шаблон» (тоже 256 байт), который затем сохраняется в памяти, присваивается к какому-либо словарю и в дальнейшем можно запустить по этому словарю распознавание.
На практике же, при небольшом словаре с разными по произношению словами, система способна точно распознавать слова, даже если их говорит другой человек, что есть очень и очень хорошо!
На этом же принципе построена и SV — верификация говорящего, «голосовой пароль». Только разница в том, что информация векторизуется по другим признакам, и большее внимание уделяется конкретным характеристикам голоса говорящего. По этому и получается «пароль». А технически оно работает точно так же, как и SD.
Возможно запускать одновременно T2SI и SD/SV распознавание по разным наборам. Библиотечные функции достаточно просты и понятны, есть куча примеров, вполне читабельный хелп и аппноуты. Не утонете.
Для сохранения шаблонов требуется какая-то память. В комплекте библиотеки идет несколько модулей для работы с разными типами навесной памяти. Их достаточно просто подключить и настроить в конфигурационном файле, а библиотека возьмет на себя все остальное. На наших модулях установлена для этих целей I2C память 24LC64, которая как раз и позволяет хранить 32 шаблона. Драйвер для I2C памяти в поставке библиотеки есть. Даже с исходником. Примеры работы тоже есть.

Учтите, что библиотека занимает кучу ресурсов МК, так что оперативки остается порядка 250-300 байт (+ 256 байт RAMY буфера, которые используются для хранения паттернов при обучении SD и работе SD, но их можно использовать под свои нужды, на то есть библиотечные функции). При работе библиотечных функций практически не остается и процессорного времени, так что будьте аккуратны в прерываниях. Некоторым процессам (распознаванию, например) похеру и они просто будут работать дольше, а некоторым (воспроизведению звука) не похеру, и звук может начать трещать или вообще функция осыпется и вернет ошибку, что «недостаточно свободных циклов». Подробнее описано в документации (там такая большая таблица со всеми цифрами потребления). Но это все мелочи и решаются они просто грамотным программированием.
Да. Все программы из комплекта библиотек бесплатны. Кроме QuickT2SI, которая стоит $3500 в полном варианте. Жадность программы лечится скачиванием мною пропатченой версии по ссылкам во вложении к статье — «link.txt».

Среда разработки

Конечно же, к чему весь этот разговор и должен был привести. Собственно, «где и в чем писАть?». Вариантов тут совсем не много. Точнее говоря, по факту, всего один — решение от Phyton под названием Project-SE. Есть еще компилятор от mikroElektronik'и, но он уже снят с производства и поддержки, да и при этом косой очень. Так что, пользоваться придется Phyton'ом.
Среда очень корявая в плане интерфейса (IAR после нее покажется вам просто каким-то Эклипсом), но к ней за пару дней привыкаешь. Можно даже все настроить под свои нужды (кнопочки всякие, панели).
Никаких тонкостей и особенностей нет — среда заточена конкретно под этот камень. Создаем проект, настраиваем, подключаем библиотеки и всякие сгенерированные объектники со звуками и нейросетями и вперед — пишем на C или ASM. Примеров, опять же повторюсь, очень много. Все предельно просто и понятно.
Единственный, пожалуй, нюанс — конфигурационный файл, который должен быть подключен к каждому проекту — «config.mca». Там описываются настройки библиотек — пины, память, и прочее. Для нашего модуля я написал свой правильный конфиг, который можно скачать по ссылкам из вложения к этой статье.
Да. Продукт Project-SE работает после установки 14 дней в триальном режиме. Триальный режим по сути ничем не отличается от нормального. Просто напросто, по истечении времени продукт начинает жадничать и перестает компилировать. Жадность пропадает после запуска моего специального батника, который сбрасывает этот самый период. Батник можно скачать, опять же, по ссылкам во вложении к этой статье.

Модуль EasyVR

Модуль — штука самодостаточная. На нем установлен весь необходимый обвес, от стабилизатора питания, до памяти и преобразователя уровней напряжения (для UART). Изначально, общение с модулем происходит по UART, также есть разъем для микрофона (с микрофоном в комплекте), разъем для динамика (выход PWM, без динамика в комплекте) и колодка с тремя дополнительно выведенными GPIO + выводы nXM и RST. На модуле установлена флешка в 1 мегабайт максимально адресуемого пространства (на ней изначально хранится прошивка и звуки) и EEPROM 24LC64 для хранения шаблонов SD или какой-нибудь своей информации, типа конфигурации.


24LC64 совершенно спокойно перепаивается в 24LC256 и становится возможным хранить уже 128 шаблонов. 24LC512 к сожалению шире корпусом и на плату не влезает :)

Питается модуль от 3 до 5 вольт. На пинах, которые используются под UART стоит микросхема-преобразователь уровней (чтоб можно было шпарить до 5 вольт). На остальные пины подавать больше 3 вольт НЕЛЬЗЯ! Спалите пины или чип! Это вам не AVR!
А теперь самое главное, ради чего все затевалось! Разработчики модуля не афишируют эту возможность, но тем не менее, в модуль можно зашить абсолютно любой код! Устроено все так: в РОМе самого чипа сидит загрузчик, с которым может общаться программка «VeeLoader.exe» от VeeaR (из комплекта оригинального софта). А во флешке, которая на 1 мегабайт, собственно и лежит прошивка. Т.к. чип может работать либо со встроенным РОМом, либо с внешним флэшом, то вот и получается наша картина: подцепляем nXM на 3 вольта и чип стартует с вшитого по маске загрузчика, который может спокойно читать и писать флэшку без всяких ограничений или защит через UART. А если мы оставим висеть nXM свободно (на самом деле pull-down внутри чипа на несколько килоом), то чип будет стартовать с внешней флэшки. Таким образом, достаточно просто скормить HEX-файл своей программы VeeLoader'у и, вуаля, он зашьет ее во флэш! Делов-то :)

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

Во вложении вы найдете ссылку на архив со всем необходимым (архив с софтом и пилюлями уникален и больше вы его нигде не достанете):
1. Инструментарий Sensory последних версий: QuickT2SI 3.1.7 (с лечивом), QuickSynthesis 5.2.1, библиотеки FluentChip 3.1.6 с примерами и всей документацией, в том числе на чип и железо.
2. Инструментарий Phyton: Project-SE 1.22.00 (с лечивом)
3. Инструментарий VeeaR: VeeLoader.exe и последняя прошивка EasyVR, если захочется вернуть штатный функционал

Все вопросы и пожелания пишите в комментах. Чем смогу — помогу :)
Файлы в топике: link.txt

Комментарии (77)

RSS свернуть / развернуть
Какая хорошая штука! :)
0
Да, штука просто офигенная!
0
Штука довольно интересная, спасибо за развернутое описание раскопок! А нельзя ли где-то со схемами этих плат ознакомится, чтобы натурально представить железо, прежде чем окунаться в него?
0
Качайте софт, ставьте FluentChip, там целая папка с доками и даташитами, в том числе и схемы.
0
Статья понравилась! Давно интересовался этим модулем! Спасибо!
А про распознавание само можете поподробнее? Как работает в разных условиях, на каких расстояниях от микрофона и т.п.? Причем интересуют больше именно наши команды, русские.
Ато хотел себе тоже взять в состав умного дома, в общем, если вас не затруднит, расскажите поподробнее, может видео какое демонстрационное?
Видел на сайте самого модуля видео разное, но там как-то все уж очень по сферически и в вакууме: человек говорит в полуметре от робота, громко, четко, и вокруг тишина…
0
Со штатным микрофоном ловит команды в комнате спокойно. Но говорить шепотом, конечно, не получится :) В общем и в целом, нечто похожее на те видео и получается. Как оно будет работать в условиях зашумленности посмотрим, когда заделаю голос в тачку.
Русские или нерусские команды для SD не важно. Для T2SI, как и писал выше, с русскими командами геморрой.
0
Там было видео про управление светом в комнате. Вот как раз на вашу тему.
0
О, да, раньше не видел этого видео (вообще сайт другой был :), давно было), сейчас погляжу, спасибо!
0
Очень интересная статья, спасибо Вам! Скажите, вы заказывали модули в Терраэлектронике или где-то за бугром?
0
  • avatar
  • harm7
  • 08 августа 2012, 16:35
В терре их нет, увы.
0
Действительно, несмотря на то, что на сайте разработчика она отмечена как поставщик в России. Если не секрет, где Вы заказывали эти модули?
0
Да, я тоже было сначала ринулся, но увы :)
Брал в tigal.com, но там доставка — огого! По цене как модуль почти :) Так что, чтоб не так обидно было, взял сразу два модуля :)
В идеале, надо человек 5-7 набрать и заказать там 5-7 модулей. И доставка тогда станет несущественной.
0
Контора стабильно шлет, проверено… )
www.seeedstudio.com/depot/easyvr-multipurpose-speech-recognition-module-p-920.html?cPath=144
0
Да, появились-таки in-stock. Когда я заказывал — не было их в Seeed.
0
Спасибо!
0
Статей про такое железо редко где встретишь, да и то однотипное. Плюсую, хороший модуль для умного дома можно забабахать. Автор молодец!
0
А по идее в железе чипа ничего особенного нет, все фишки софтовые в библиотеке. Те же кортексы сейчас обладают всем набором необходимых функций, а по тактовой частоте и производительности превзойдут в разы.
0
Можно доступное готовое решение в студию?
+1
смотря какие. младшим кортексам (М0 и М3) не хватает векторных операций. М4 уде наверное можно и приспособить.
0
Все правильно. По М4, в том то и дело, что «наверное можно». У сенсори есть даже софтовое решение, которое, вроде как, и на армах-кортексах должно собираться. Но никто его не видел в живую (в смысле, сам СДК), т.к. стОит оно каких-то очень больших денег. Но успешно используется во всяких Самсунгах Гэлэкси для работы с голосом.
Еще не надо забывать про всякие фильтры, АРУ, микрофонные преапмы и прочую периферию, которая стоит в RSC. Для «тех же кортексов» придется это все навешивать снаружи.
0
А интересно, можно ли приспособить код который распознает команды под другие процы? Чтобы нагенерить команд в QuickT2SI, а потом уже использовать для своих нужд. например на каком-нибудь андроиде или линуксе с 1ГГц ARM'ом ведь должно хватить ресурсов. да и для десктопа неплохо бы было распознавать речь.
0
Мда, что к чему??? Не подумайте, не придираюсь, просто Вы наверное не прочитали то, что написали=) Или думали одно, а пальцы набрали другое. Так сказать генератор мыслей пошел в разнос с приводом рук =)))
0
Оно Closed Source. Можно, конечно, дизассемблировать и расковырять код… Но его много, что делает задачу по меньшей мере сложной.
Можно, правда, еще сообразить эмулятор проца из статьи на другом проце (том же кортекс-м). Но обычно эмуляторы требуют по меньшей мере десятикратного запаса производительности, а тут еще и векторный ускоритель, ну и это тоже не такая простая задача.
0
как-то дороговато для этого вашего дома
за двойную цену можно взять целый 7" планшет и использовать его возможности
www.pandacoder.com/android_speech_recognition/
0
Это похоже на предложение ходить вместо телефона с планшетом и модемом, воткнутым в УСБ, и разговаривать так :) Ну без обид :)
А если, допустим, нужна компактность и возможность запихать все в выключатель?
Да и на даче у меня, допустим, нет интернета для распознавания… Хотя за ссылку спасибо, пригодится.
0
ну в моем понимании это контроллер с большим экраном, который связан через бт с мк, который реализует все низкоуровневые задачи по управлению периферией и спрятан в щитке

а вот большой сенсорный экран со статистикой всегда висит
к тому же к нему опять же через бт подключены микрофоны и динамики в разных комнатах
0
При запуске QuickT2SI запрашивает лицензионный номер видимо. Ни где не нашел, ткните плз.
0
Там как бы экзешник патченый лежит.
0
Сегодня я наконец возьму и эпически сорву покрова с этих самых модулей EasyVR, так как тема сисек, ящитаю, практически не раскрыта. Покрова буду «срывать полностью, полностью буду срывать», так что готовьтесь :)
Полчаса готовился. А сиськи-то — где?
0
  • avatar
  • SWG
  • 11 августа 2012, 08:59
Вот же они!
+1
Ну, наконец — то!
А то я уж было расстроился…
0
Спасибо нашел. :)
0
Сделай и залей видео на ютуб. Очень хочется посмотреть насколько хорошо и какие слова он распознает.
0
  • avatar
  • a9d
  • 14 августа 2012, 04:15
Зачем для управления голосом в автомобиле использовать EasyVR? На моя взгляд, на эту роль куда лучше подойдёт распознавание речи от Google. Вы хотите отказаться от передачи всех данных на сервер гугла — новый Android 4.1 это позволяет, т.к. у него система оффлайн распознавания речи, доступ в Интернет не требуется…
0
Опробовано. Работает галимо много чего не распознает и часто ошибается.
0
  • avatar
  • a9d
  • 08 сентября 2012, 11:58
Вероятно, галимо опробовано? :)
0
Очень хорошо опробовано. Я не выговариваю одну букву. Так, что распознается там все через анус не говоря уже об офлайне.
0
  • avatar
  • a9d
  • 08 сентября 2012, 15:52
А каким образом невыговаривание буквы связано со speaker-dependant распознаванием?
0
Столкнулся с тем, что QuickT2SI не понимает русские буквы в названиях устройств записи.Соответственно, функция тестирования распознавания не работает.
Решение:
1. Открыть regedit.exe
2. Заменить во всех ключах, где встречаются, значения «Микрофон» на «Microphone»
3. Перезагрузить ЭВМ.
4. Устройство Microphone появится в списке доступных устройств в QuickT2SI
5. ?????????
6. Profit!
0
  • avatar
  • LexaK
  • 08 сентября 2012, 10:40
Можно еще попробовать с AppLocale поиграться.
0
  • avatar
  • Vga
  • 08 сентября 2012, 11:50
Да хер там плавал! Библиотеки на которых она работает (это, к слову, tcl-tk) скомпилены ваааще без поддержки русского. Мне не удалось прикрутить наш родной и могучий никак.
И под семеркой микрофон у меня отказывается работать в принципе.
0
Ну апплокаль для того и нужен, чтобы запустить на одной винде то, что рассчитано на другую. Самое известное применеие — японские эроге в неяпонской винде запускать — большинство их иначе просто падает.
Не факт, правда, что он поможет именно в этом случае.
0
  • avatar
  • Vga
  • 08 сентября 2012, 13:45
чтобы запустить на одной винде то, что рассчитано на другую
Упс. Я имел в виду разные локализации винды, а не версии.
0
  • avatar
  • Vga
  • 08 сентября 2012, 13:46
Надо попробовать.
0
Еще замечание:
В модуле питание микрофона заведено на P2.0
По умолчанию подтяжка не включена, микрофон не работает.
Решение:
в файл config.mca, который приложил к архиву ув. darksimpson дописать секцию:
;-------------- MIC ---------------------------
DefPort MIC_OFFSET,  p2, 0, OUTPUT, 1
0
  • avatar
  • LexaK
  • 08 сентября 2012, 15:37
Просто напросто, по истечении времени продукт начинает жадничать и перестает компилировать. Жадность пропадает после запуска моего специального батника, который сбрасывает этот самый период
Хм… Не работает. На папку «v2TTEEsyBrmUOgJyBqD» ругается, что не найдена.
0
  • avatar
  • LexaK
  • 25 сентября 2012, 23:27
Поищи папку с аналогичным именем там же (в %ALLUSERSPROFILE%). Она, вероятно, скрытая. Также можно в FILEMON'е посмотреть к каким папкам обращается софтина и папку с подобным невнятным именем в %ALLUSERSPROFILE% — снести.
0
  • avatar
  • Vga
  • 25 сентября 2012, 23:37
%ALLUSERSPROFILE% — это C:\Documents and Settings\All Users?
Просмотрел ProcessMonitor'ом — ничего подозрительного ни по файловому доступу, ни по доступу к реестру не увидел.
0
%ALLUSERSPROFILE% — это C:\Documents and Settings\All Users?
Да вроде. Просто в консоли выполни cd %ALLUSERSPROFILE% и попадешь туда.
Просмотрел ProcessMonitor'ом — ничего подозрительного ни по файловому доступу, ни по доступу к реестру не увидел.
А procmon вообще для этого? Обычно FileMon для отлова папок и файлов используется.
0
  • avatar
  • Vga
  • 26 сентября 2012, 01:01
А procmon вообще для этого? Обычно FileMon для отлова папок и файлов используется
FileMon and Regmon are no longer available for download. They have been replaced by Process Monitor. отсюда Your text to link...
0
Забавно. В моем паке SysInternal Suite они, однако ж, есть. Правда, он довольно старый.
0
  • avatar
  • Vga
  • 26 сентября 2012, 01:45
Пока же приходится перед работой ставить системное время на пару недель назад. Неудобно-с :(
0
  • avatar
  • LexaK
  • 26 сентября 2012, 12:37
Это плохой метод.
0
Ну а что делать, если ты не удосужился нормально крякнуть)
Ты вообще исследовал защиту в этом Project-SE? Какого она уровня?
0
Так. Что-то не нравится — не кушай. Я, значит, тут изворачиваюсь, а мне еще и претензии какие-то выкатывают. Ну пиздец. Возьми, удосужся, и крякни нормально.
Блять, вот какая проблема найти папку и удалить ее, чтоб триал рестартнул и поправить батник из двух строчек под себя, я не понимаю.
0
Не-не, никаких претензий. Просто конкретно в моем случае этот метод не работает. Просмотрел всю Documents and Settings — никаких подозрительных папок не нашел. Судя по FileMon'у туда даже обращений никаких нет…
0
Экий обидчивый. Да еще и обиделся на шутку, лол.
Возьми, удосужся, и крякни нормально.
Возможно. Если руки дойдут. Лично у меня этих модулей нет и не предвидится. А значит — и нужды в сабже.
0
«Ну и шутки у тебя, боцман»
0
Этот метод тоже перестал работать. Теперь при попытке запуска непосредственно mccse.exe под измененной датой пишет Invalid system time. Патч darksimpson'а не работает.
Ув. darksimpson, какие есть мысли по этому поводу?
0
  • avatar
  • LexaK
  • 02 октября 2012, 09:55
ОС какая?
0
WinXP
0
Кстати, попробовал запустить Phyton по виртуальной машиной (VirtualBox), он (питон) распознал, что он запущен под ВМ и отказался работать (:
0
Да, это обертка его распознала и не хочет работать.
Скорее всего, под ХР эти файлы и папки лежат в других местах или называются по другому.
Защита: PC Guard. Попробуйте скачать очень хорошую программку Trial-Reset последней версии, просканируйте ей систему на предмет закладок PC Guard и она найдет то, что нужно.
0
Заработало, спасибо!
0
24LC64 совершенно спокойно перепаивается в 24LC256 и становится возможным хранить уже 128 шаблонов.
Если я правильно понял, то при замене на 24LC256 (24LC512) нужно перекомпилировать программу?
0
  • avatar
  • Jekl
  • 18 апреля 2013, 20:05
Да. Или скачать инструментарий и написать свою.
0
Жива ли еще тема?
Никто не пробовал подключать напрямую к raspberry pi или аналогам?
Никак не могу понять, зачем в такой схемме еще arduino посередине.
0
Ардуино не нужен. На распберри можно попробовать запустить софтовые распознавалки и говорилки, кои быть должны. Нафига там сабж?
0
Хочу использовать для «Умного дома». На мой взгляд 32 комманд вполне достаточно, особенно если запрограммировать комманду «спроси у гугла»
Сейчас подуключил на пины к raspberry. Вполне, себе, работает.
Пытаюсь переписать на python ардуиновскую бибилиотеку. На сегодняшний момент работает % 20
0
Автор писал «общение с модулем происходит по UART», т.е. его можно подключить к любому устройству с UART. Я подключал через переходник USB <-> UART к PC. Все прекрасно работает. Но вот для моей задачи (очень умный дом :) ) памяти у модуля маловато. На мою просьбу прислать скомпилированную прошивку для 24LC512 производитель ответил отказом. А жаль. Получилась бы бомба.
0
Памяти у модуля достаточно, чтобы напихать туда кучу разного функционала. С учетом того, что писать надо все с нуля руками. Штатную прошивку я даже не рассматриваю — все это и затевалось исключительно для того, чтобы от штатной отказаться.
0
Я имел ввиду малый «словарный запас». Можно записать своих всего 32 слова.
0
Перепаяйте память, в чем проблема?
0
Перепаять не проблема. Проблема написать свою прошивку для новой памяти.
0
Опишите подробней пожалуйста. Может быть у Вас остался код?
0
Код предоставить не могу. Качайте инструментарий и курите маны. Там все очень ясно и понятно написано.
0
Курю, написал уже библиотечку для питона, хотелось бы просто сравнить.
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.