Все о модуле распознавания голоса 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, если захочется вернуть штатный функционал
Все вопросы и пожелания пишите в комментах. Чем смогу — помогу :)
- +25
- 08 августа 2012, 15:44
- darksimpson
- 1
Файлы в топике:
link.txt
Штука довольно интересная, спасибо за развернутое описание раскопок! А нельзя ли где-то со схемами этих плат ознакомится, чтобы натурально представить железо, прежде чем окунаться в него?
- Dominikanez
- 08 августа 2012, 16:07
- ↓
Качайте софт, ставьте FluentChip, там целая папка с доками и даташитами, в том числе и схемы.
- darksimpson
- 08 августа 2012, 16:09
- ↑
- ↓
Статья понравилась! Давно интересовался этим модулем! Спасибо!
А про распознавание само можете поподробнее? Как работает в разных условиях, на каких расстояниях от микрофона и т.п.? Причем интересуют больше именно наши команды, русские.
Ато хотел себе тоже взять в состав умного дома, в общем, если вас не затруднит, расскажите поподробнее, может видео какое демонстрационное?
Видел на сайте самого модуля видео разное, но там как-то все уж очень по сферически и в вакууме: человек говорит в полуметре от робота, громко, четко, и вокруг тишина…
А про распознавание само можете поподробнее? Как работает в разных условиях, на каких расстояниях от микрофона и т.п.? Причем интересуют больше именно наши команды, русские.
Ато хотел себе тоже взять в состав умного дома, в общем, если вас не затруднит, расскажите поподробнее, может видео какое демонстрационное?
Видел на сайте самого модуля видео разное, но там как-то все уж очень по сферически и в вакууме: человек говорит в полуметре от робота, громко, четко, и вокруг тишина…
Со штатным микрофоном ловит команды в комнате спокойно. Но говорить шепотом, конечно, не получится :) В общем и в целом, нечто похожее на те видео и получается. Как оно будет работать в условиях зашумленности посмотрим, когда заделаю голос в тачку.
Русские или нерусские команды для SD не важно. Для T2SI, как и писал выше, с русскими командами геморрой.
Русские или нерусские команды для SD не важно. Для T2SI, как и писал выше, с русскими командами геморрой.
- darksimpson
- 08 августа 2012, 16:12
- ↑
- ↓
Очень интересная статья, спасибо Вам! Скажите, вы заказывали модули в Терраэлектронике или где-то за бугром?
Действительно, несмотря на то, что на сайте разработчика она отмечена как поставщик в России. Если не секрет, где Вы заказывали эти модули?
Да, я тоже было сначала ринулся, но увы :)
Брал в tigal.com, но там доставка — огого! По цене как модуль почти :) Так что, чтоб не так обидно было, взял сразу два модуля :)
В идеале, надо человек 5-7 набрать и заказать там 5-7 модулей. И доставка тогда станет несущественной.
Брал в tigal.com, но там доставка — огого! По цене как модуль почти :) Так что, чтоб не так обидно было, взял сразу два модуля :)
В идеале, надо человек 5-7 набрать и заказать там 5-7 модулей. И доставка тогда станет несущественной.
- darksimpson
- 08 августа 2012, 17:39
- ↑
- ↓
Контора стабильно шлет, проверено… )
www.seeedstudio.com/depot/easyvr-multipurpose-speech-recognition-module-p-920.html?cPath=144
www.seeedstudio.com/depot/easyvr-multipurpose-speech-recognition-module-p-920.html?cPath=144
- jk_edesign
- 08 августа 2012, 17:39
- ↑
- ↓
Статей про такое железо редко где встретишь, да и то однотипное. Плюсую, хороший модуль для умного дома можно забабахать. Автор молодец!
- SpiritKing
- 09 августа 2012, 10:40
- ↓
А по идее в железе чипа ничего особенного нет, все фишки софтовые в библиотеке. Те же кортексы сейчас обладают всем набором необходимых функций, а по тактовой частоте и производительности превзойдут в разы.
- Firelander
- 09 августа 2012, 12:47
- ↓
смотря какие. младшим кортексам (М0 и М3) не хватает векторных операций. М4 уде наверное можно и приспособить.
Все правильно. По М4, в том то и дело, что «наверное можно». У сенсори есть даже софтовое решение, которое, вроде как, и на армах-кортексах должно собираться. Но никто его не видел в живую (в смысле, сам СДК), т.к. стОит оно каких-то очень больших денег. Но успешно используется во всяких Самсунгах Гэлэкси для работы с голосом.
Еще не надо забывать про всякие фильтры, АРУ, микрофонные преапмы и прочую периферию, которая стоит в RSC. Для «тех же кортексов» придется это все навешивать снаружи.
Еще не надо забывать про всякие фильтры, АРУ, микрофонные преапмы и прочую периферию, которая стоит в RSC. Для «тех же кортексов» придется это все навешивать снаружи.
- darksimpson
- 09 августа 2012, 13:02
- ↑
- ↓
А интересно, можно ли приспособить код который распознает команды под другие процы? Чтобы нагенерить команд в QuickT2SI, а потом уже использовать для своих нужд. например на каком-нибудь андроиде или линуксе с 1ГГц ARM'ом ведь должно хватить ресурсов. да и для десктопа неплохо бы было распознавать речь.
Оно Closed Source. Можно, конечно, дизассемблировать и расковырять код… Но его много, что делает задачу по меньшей мере сложной.
Можно, правда, еще сообразить эмулятор проца из статьи на другом проце (том же кортекс-м). Но обычно эмуляторы требуют по меньшей мере десятикратного запаса производительности, а тут еще и векторный ускоритель, ну и это тоже не такая простая задача.
Можно, правда, еще сообразить эмулятор проца из статьи на другом проце (том же кортекс-м). Но обычно эмуляторы требуют по меньшей мере десятикратного запаса производительности, а тут еще и векторный ускоритель, ну и это тоже не такая простая задача.
как-то дороговато для этого вашего дома
за двойную цену можно взять целый 7" планшет и использовать его возможности
www.pandacoder.com/android_speech_recognition/
за двойную цену можно взять целый 7" планшет и использовать его возможности
www.pandacoder.com/android_speech_recognition/
- kalobyte-ya
- 10 августа 2012, 09:29
- ↓
Это похоже на предложение ходить вместо телефона с планшетом и модемом, воткнутым в УСБ, и разговаривать так :) Ну без обид :)
А если, допустим, нужна компактность и возможность запихать все в выключатель?
Да и на даче у меня, допустим, нет интернета для распознавания… Хотя за ссылку спасибо, пригодится.
А если, допустим, нужна компактность и возможность запихать все в выключатель?
Да и на даче у меня, допустим, нет интернета для распознавания… Хотя за ссылку спасибо, пригодится.
- darksimpson
- 10 августа 2012, 11:56
- ↑
- ↓
ну в моем понимании это контроллер с большим экраном, который связан через бт с мк, который реализует все низкоуровневые задачи по управлению периферией и спрятан в щитке
а вот большой сенсорный экран со статистикой всегда висит
к тому же к нему опять же через бт подключены микрофоны и динамики в разных комнатах
а вот большой сенсорный экран со статистикой всегда висит
к тому же к нему опять же через бт подключены микрофоны и динамики в разных комнатах
- kalobyte-ya
- 10 августа 2012, 21:24
- ↑
- ↓
Зачем для управления голосом в автомобиле использовать EasyVR? На моя взгляд, на эту роль куда лучше подойдёт распознавание речи от Google. Вы хотите отказаться от передачи всех данных на сервер гугла — новый Android 4.1 это позволяет, т.к. у него система оффлайн распознавания речи, доступ в Интернет не требуется…
- tzirulnicov
- 30 августа 2012, 10:30
- ↓
Столкнулся с тем, что QuickT2SI не понимает русские буквы в названиях устройств записи.
Соответственно, функция тестирования распознавания не работает.
Решение:
1. Открыть regedit.exe
2. Заменить во всех ключах, где встречаются, значения «Микрофон» на «Microphone»
3. Перезагрузить ЭВМ.
4. Устройство Microphone появится в списке доступных устройств в QuickT2SI
5. ?????????
6. Profit!


Решение:
1. Открыть regedit.exe
2. Заменить во всех ключах, где встречаются, значения «Микрофон» на «Microphone»
3. Перезагрузить ЭВМ.
4. Устройство Microphone появится в списке доступных устройств в QuickT2SI
5. ?????????
6. Profit!
Да хер там плавал! Библиотеки на которых она работает (это, к слову, tcl-tk) скомпилены ваааще без поддержки русского. Мне не удалось прикрутить наш родной и могучий никак.
И под семеркой микрофон у меня отказывается работать в принципе.
И под семеркой микрофон у меня отказывается работать в принципе.
- darksimpson
- 08 сентября 2012, 12:37
- ↑
- ↓
Просто напросто, по истечении времени продукт начинает жадничать и перестает компилировать. Жадность пропадает после запуска моего специального батника, который сбрасывает этот самый периодХм… Не работает. На папку «v2TTEEsyBrmUOgJyBqD» ругается, что не найдена.
Поищи папку с аналогичным именем там же (в %ALLUSERSPROFILE%). Она, вероятно, скрытая. Также можно в FILEMON'е посмотреть к каким папкам обращается софтина и папку с подобным невнятным именем в %ALLUSERSPROFILE% — снести.
%ALLUSERSPROFILE% — это C:\Documents and Settings\All Users?
Просмотрел ProcessMonitor'ом — ничего подозрительного ни по файловому доступу, ни по доступу к реестру не увидел.
Просмотрел ProcessMonitor'ом — ничего подозрительного ни по файловому доступу, ни по доступу к реестру не увидел.
%ALLUSERSPROFILE% — это C:\Documents and Settings\All Users?Да вроде. Просто в консоли выполни cd %ALLUSERSPROFILE% и попадешь туда.
Просмотрел ProcessMonitor'ом — ничего подозрительного ни по файловому доступу, ни по доступу к реестру не увидел.А procmon вообще для этого? Обычно FileMon для отлова папок и файлов используется.
А procmon вообще для этого? Обычно FileMon для отлова папок и файлов используетсяFileMon and Regmon are no longer available for download. They have been replaced by Process Monitor. отсюда Your text to link...
Ну а что делать, если ты не удосужился нормально крякнуть)
Ты вообще исследовал защиту в этом Project-SE? Какого она уровня?
Ты вообще исследовал защиту в этом Project-SE? Какого она уровня?
Так. Что-то не нравится — не кушай. Я, значит, тут изворачиваюсь, а мне еще и претензии какие-то выкатывают. Ну пиздец. Возьми, удосужся, и крякни нормально.
Блять, вот какая проблема найти папку и удалить ее, чтоб триал рестартнул и поправить батник из двух строчек под себя, я не понимаю.
Блять, вот какая проблема найти папку и удалить ее, чтоб триал рестартнул и поправить батник из двух строчек под себя, я не понимаю.
- darksimpson
- 02 октября 2012, 13:40
- ↑
- ↓
Этот метод тоже перестал работать. Теперь при попытке запуска непосредственно mccse.exe под измененной датой пишет Invalid system time. Патч darksimpson'а не работает.
Ув. darksimpson, какие есть мысли по этому поводу?
Ув. darksimpson, какие есть мысли по этому поводу?
Кстати, попробовал запустить Phyton по виртуальной машиной (VirtualBox), он (питон) распознал, что он запущен под ВМ и отказался работать (:
Да, это обертка его распознала и не хочет работать.
Скорее всего, под ХР эти файлы и папки лежат в других местах или называются по другому.
Защита: PC Guard. Попробуйте скачать очень хорошую программку Trial-Reset последней версии, просканируйте ей систему на предмет закладок PC Guard и она найдет то, что нужно.
Скорее всего, под ХР эти файлы и папки лежат в других местах или называются по другому.
Защита: PC Guard. Попробуйте скачать очень хорошую программку Trial-Reset последней версии, просканируйте ей систему на предмет закладок PC Guard и она найдет то, что нужно.
- darksimpson
- 02 октября 2012, 14:56
- ↑
- ↓
24LC64 совершенно спокойно перепаивается в 24LC256 и становится возможным хранить уже 128 шаблонов.Если я правильно понял, то при замене на 24LC256 (24LC512) нужно перекомпилировать программу?
Жива ли еще тема?
Никто не пробовал подключать напрямую к raspberry pi или аналогам?
Никак не могу понять, зачем в такой схемме еще arduino посередине.
Никто не пробовал подключать напрямую к raspberry pi или аналогам?
Никак не могу понять, зачем в такой схемме еще arduino посередине.
Ардуино не нужен. На распберри можно попробовать запустить софтовые распознавалки и говорилки, кои быть должны. Нафига там сабж?
- darksimpson
- 15 июля 2014, 12:45
- ↑
- ↓
Хочу использовать для «Умного дома». На мой взгляд 32 комманд вполне достаточно, особенно если запрограммировать комманду «спроси у гугла»
Сейчас подуключил на пины к raspberry. Вполне, себе, работает.
Пытаюсь переписать на python ардуиновскую бибилиотеку. На сегодняшний момент работает % 20
Сейчас подуключил на пины к raspberry. Вполне, себе, работает.
Пытаюсь переписать на python ардуиновскую бибилиотеку. На сегодняшний момент работает % 20
Автор писал «общение с модулем происходит по UART», т.е. его можно подключить к любому устройству с UART. Я подключал через переходник USB <-> UART к PC. Все прекрасно работает. Но вот для моей задачи (очень умный дом :) ) памяти у модуля маловато. На мою просьбу прислать скомпилированную прошивку для 24LC512 производитель ответил отказом. А жаль. Получилась бы бомба.
Памяти у модуля достаточно, чтобы напихать туда кучу разного функционала. С учетом того, что писать надо все с нуля руками. Штатную прошивку я даже не рассматриваю — все это и затевалось исключительно для того, чтобы от штатной отказаться.
- darksimpson
- 15 июля 2014, 12:46
- ↑
- ↓
Всем добрый день!
Обращаюсь ко всем кто дружит с платой Easy Veer ver.3. помогите запрограммировать ее для независимого распознавания голосовых команд, не за спасибо конечно, живу в москве. scorpion_asa@mail.ru заранее благодарен…
Обращаюсь ко всем кто дружит с платой Easy Veer ver.3. помогите запрограммировать ее для независимого распознавания голосовых команд, не за спасибо конечно, живу в москве. scorpion_asa@mail.ru заранее благодарен…
- Fantom-asa
- 12 июля 2018, 09:32
- ↓
Здравствуйте. Я понимаю что с момента публикации статьи прошла целая вечность, но рискну спросить. Может у кого-то сохранились файлы приложенные в конце статьи — ссылка умерла. Спасибо. contemplator1971@gmail.com
- Contemplator
- 03 октября 2019, 08:49
- ↓
Комментарии (81)
RSS свернуть / развернуть