Как сделать джарвиса на компьютер

Джарвис снова в деле

Наверняка, каждый мечтает о своем голосовом ассистенте, под катом еще одна реализация «Джарвиса» из известного фильма.

Как сделать джарвиса на компьютер. Смотреть фото Как сделать джарвиса на компьютер. Смотреть картинку Как сделать джарвиса на компьютер. Картинка про Как сделать джарвиса на компьютер. Фото Как сделать джарвиса на компьютер

Давно не покидала мысль о своем «Jarvis» и управлении техникой в доме голосом. И вот, наконец, руки дошли до создания сего чуда. Над «мозгами» долго думать не пришлось, Raspberry Pi подходит идеально.

Реализация

Работать наш ассистент будет по принципу Alexa/Hub:

Оффлайн активация

Активация будет происходить с помощью CMU Sphinx, и все бы хорошо, но из коробки распознание происходит очень медленно, больше 10 сек, что абсолютно не подходит, для решения проблемы нужно очистить словарь от ненужных слов.

Устанавливаем все необходимое:

удаляем все кроме нужного нам Джарвиса:

Теперь pocketsphinx распознает довольно быстро.

Распознавание речи

Сначала была идея воспользоваться сервисом гугла, к тому же его поддержка есть в SpeechRecognition. Но как оказалось гугл берет за это деньги и не работает с физ. лицами.

Благо Яндекс тоже предоставляет такую возможность, бесплатно и предельно просто.

Регистрируемся, получаем API KEY. Все работу можно производить curl’om.

Синтез речи

Тут нам опять поможет Яндекс. Посылаем текст в ответ получаем файл с синтезированным текстом

Jarvis

Собираем все вместе и получаем такой скрипт.

Что тут происходит. Запускаем бесконечный цикл, arecord’om записываем три секунды и отправляем sphinx на распознание, если в файле встречается слово «jarvis»

проигрываем заранее записанный фаил оповещения об активации.

Опять записываем 3 секунды и отправляем Яндексу, в ответ получаем нашу команду. Далее выполняем действия исходя из команды.

На этом собственно все. Сценариев выполнения можно придумать великое множество.

Use-case

Теперь немного примеров реального моего использования

Philips Hue

В приложении Hue устанавливаем статический IP:

Как сделать джарвиса на компьютер. Смотреть фото Как сделать джарвиса на компьютер. Смотреть картинку Как сделать джарвиса на компьютер. Картинка про Как сделать джарвиса на компьютер. Фото Как сделать джарвиса на компьютер

Выписываем ID нужных схем, вида «470d4c3c8-on-0»

Конечный вариант скрипта:

В джарвиса добавляем:

LG TV

Берем скрипт отсюда. После первого запуска и ввода кода сопряжения, сам код не меняется, поэтому можно выпилить эту часть из скрипта и оставить только управляющую.

В джарвиса добавляем:

Радио

В джарвиса добавляем:

Еще можно поставить homebridge и управлять всем через Siri, в случае если до джарвиса не докричаться.

Что касается качества распознавания речи, не Alexa конечно, но на расстоянии до 5 метров процент верного попадания приличный. Главная проблема — речь из телевизора\колонок записывается вместе с командами и мешает распознаванию.

На этом все, спасибо.

Ой, у вас баннер убежал!

Редакторский дайджест

Присылаем лучшие статьи раз в месяц

Скоро на этот адрес придет письмо. Подтвердите подписку, если всё в силе.

Похожие публикации

Вывод температуры, пробок и курса валют на светодиодную матрицу Raspberry Pi

Гирлянда на Raspberry Pi

Управление домашними электроприборами («умный дом») через чат бот на Raspberry Pi

Вопросы и ответы

Как автоматические воспроизводить следующий трек из очереди?

Чем определение функций в классе через classmethod лучше, чем простое хранение их в файле?

Как сделать черный список для команд?

Почему я не могу нажать на кнопку в Selenium?

Как сделать распознавание маски на лице на Ubuntu?

AdBlock похитил этот баннер, но баннеры не зубы — отрастут

Минуточку внимания

Комментарии 55

Наверняка, каждый мечтает о своем голосовом ассистенте

Как сделать джарвиса на компьютер. Смотреть фото Как сделать джарвиса на компьютер. Смотреть картинку Как сделать джарвиса на компьютер. Картинка про Как сделать джарвиса на компьютер. Фото Как сделать джарвиса на компьютер

Как сделать джарвиса на компьютер. Смотреть фото Как сделать джарвиса на компьютер. Смотреть картинку Как сделать джарвиса на компьютер. Картинка про Как сделать джарвиса на компьютер. Фото Как сделать джарвиса на компьютер

Очень даже удобно. Я реально пользуюсь управлением светом.
https://www.youtube.com/watch?v=U-6_s7yuGQE&t=28s

Как сделать джарвиса на компьютер. Смотреть фото Как сделать джарвиса на компьютер. Смотреть картинку Как сделать джарвиса на компьютер. Картинка про Как сделать джарвиса на компьютер. Фото Как сделать джарвиса на компьютер

Как сделать джарвиса на компьютер. Смотреть фото Как сделать джарвиса на компьютер. Смотреть картинку Как сделать джарвиса на компьютер. Картинка про Как сделать джарвиса на компьютер. Фото Как сделать джарвиса на компьютер

Как сделать джарвиса на компьютер. Смотреть фото Как сделать джарвиса на компьютер. Смотреть картинку Как сделать джарвиса на компьютер. Картинка про Как сделать джарвиса на компьютер. Фото Как сделать джарвиса на компьютер

Как сделать джарвиса на компьютер. Смотреть фото Как сделать джарвиса на компьютер. Смотреть картинку Как сделать джарвиса на компьютер. Картинка про Как сделать джарвиса на компьютер. Фото Как сделать джарвиса на компьютер

>Наверняка, каждый мечтает о своем голосовом ассистенте

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

Как сделать джарвиса на компьютер. Смотреть фото Как сделать джарвиса на компьютер. Смотреть картинку Как сделать джарвиса на компьютер. Картинка про Как сделать джарвиса на компьютер. Фото Как сделать джарвиса на компьютер

Я Алексу прошу
* Включить музыку пока готовлю
* Включить/выключить свет на кухне если руки заняты
* Включить/выключить монитор (на нем нет физической кнопки)
* Включить/выключить свет в зале когда мы на диване телек смотрим к примеру
* Поставить таймер на N минут
* Узнать погоду
* Включить/выключить группу приборов
* Включить отопление

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

Как сделать джарвиса на компьютер. Смотреть фото Как сделать джарвиса на компьютер. Смотреть картинку Как сделать джарвиса на компьютер. Картинка про Как сделать джарвиса на компьютер. Фото Как сделать джарвиса на компьютер

Включить/выключить свет в зале когда мы на диване телек смотрим к примеру

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

В принципе неплохо работает, иногда есть какие то непонятки. Некоторые слова упорно не хочет понимать, возможно потому, что я на иностранном для меня языке говорю. Хотя в логе видно, что предложение поняла. Говорю к примеру «включи монитор», она все распознала, видно в логе, но все равно переспрашивает, какой девайс я имел ввиду. Если тут скажу «монитор» она его включает. Я обошел эту проблему переименовав монитор в «компьютер». Стала понимать слету, даже шепотом.

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

По моему личному мнению, с вероятностью в 99,9% такого не будет в ближайшие не знаю сколько лет. А то, может и никогда не будет.

Поэтому только условные сценарии, которые более-менее покрывают потребности обитателей. Ну либо мириться с приличным количеством ошибок, если полагаться на некое подобие искусственного интеллекта, который пытается силой своего скудного разума пронзить привычки человека.

Как сделать джарвиса на компьютер. Смотреть фото Как сделать джарвиса на компьютер. Смотреть картинку Как сделать джарвиса на компьютер. Картинка про Как сделать джарвиса на компьютер. Фото Как сделать джарвиса на компьютер

И вот я снова становлюсь занудой. Собственно, здесь (на ГТ) каждый, кому не лень, говорит, что то, что мы называем умным домом, это не умный дом.

Вот и я соглашусь: сейчас дома автоматические. А вот до умного нам как до Марса пешком.

Предположим, вы обклеите все датчиками и даже поставите камеры, которые будут (вместе с другим железом) распознавать пол и возраст каждого. Но вот ситуации:

а) Вы приходите домой один
б) Вы приходите домой с известной дому дамой
в) Вы приходите с неизвестной дому дамой
г) Вы приходите домой с известной дому дамой, которой неизвестно, что в пункте в) вы приходили домой с неизвестной дамой
д) Вы приходите домой с известной дому дамой, с которой романтика уже закончилась

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *