Как создать собственный голосовой помощник с открытым исходным кодом с помощью Raspberry Pi
Я пристрастился к Алексе. Как только вы начнете использовать умный динамик для установки напоминаний, воспроизведения новостей или включения света, вам будет трудно вернуться назад. Но если вам нужно удобство голосового управления без участия технологического гиганта сбора данных за кулисами, проект с открытым исходным кодом под названием Майкрофт отличная альтернатива. И вы можете запустить его прямо на Raspberry Pi.
Рекламное объявление
Что такое Майкрофт?
Mycroft – это бесплатный голосовой помощник с открытым исходным кодом, предназначенный для работы на устройствах на базе Linux. Он работает аналогично Amazon Alexa и Google Assistant: вы произносите фразу вроде «Привет, Майкрофт», чтобы разбудить его, даете ему команду, и он отвечает собственным голосом, сгенерированным компьютером.
Майкрофт существует уже несколько лет, но в последнее время он приобрел немного большую известность благодаря проблемам конфиденциальности, связанным со сбором данных в Amazon и Google. В отличие от этих помощников, Майкрофт собирает данные только в том случае, если вы согласитесь во время настройки. А для пользователей, которые согласились, Майкрофт обещает никогда не продавать ваши данные рекламодателям или третьим лицам – вместо этого он использует их только для помощи разработчикам в улучшении продукта. Майкрофт даже использует ориентированные на конфиденциальность УткаУтка в качестве поисковой системы вместо Google, когда вы запрашиваете информацию.
Майкрофт выпускает собственный умный динамик под названием Марк I, хотя в настоящее время он распродан с новым Марк II (видео выше) в пути. Однако, поскольку проект имеет открытый исходный код, вы можете установить Mycroft практически на любой Linux-компьютер, включая Raspberry Pi (благодаря предварительно созданной сборке под названием Picroft).
Использование Mycroft на Pi бесплатно, но вы также можете подпишитесь на тарифный план за 1,99 доллара в месяц чтобы поддержать его развитие – вы даже получите несколько вкусностей, таких как другие голоса, которые звучат более реалистично, чем голос робота по умолчанию.
Что вам понадобится
Чтобы запустить Mycroft, вам понадобится плата Raspberry Pi вместе со всеми необходимыми аксессуарами. Майкрофт лучше всего работает на Raspberry Pi 3 B + (хотя только что вышла новая сборка для Pi 4), поэтому я рекомендую покупка такого комплекта чтобы упростить задачу. При желании вы даже можете покупать все по частям, следуя рекомендациям, изложенным в нашем руководстве для начинающих по Raspberry Pi.
Вам также понадобится динамик и микрофон, чтобы ваш голосовой помощник мог произносить (и слышать) ваши команды. У Майкрофта есть список поддерживаемых устройств здесь. Настоятельно рекомендуется PlayStation Eye в сочетании с аналоговым динамиком, так как это самая простая в настройке комбинация.
Динамики Bluetooth плохо работают, но если у вас есть беспроводной динамик с входом 3,5 мм, он должен работать нормально. Я использую Jabra Speak 410 динамик конференц-связи, который имеет чистый внешний вид и встроенный микрофон. Хотя это выглядит неплохо, у некоторых людей были проблемы с ним в прошлом, поэтому я бы пошел по этому пути, только если вы готовы немного повозиться на этом пути.
Наконец, вам необходимо создать учетную запись на home.mycroft.ai. Таким образом вы установите новые навыки на свое устройство и установите такие параметры, как часовой пояс и другие настройки. Создайте эту учетную запись сейчас, так как она вам понадобится при первом запуске Picroft.
Как установить Майкрофт
Установка Mycroft на Raspberry Pi аналогична установке любого другого проекта Pi. Загрузите образ стабильного диска с Страница пикрофта, вместе с Etcher на вашем настольном компьютере. Подключите карту microSD к компьютеру, запустите Etcher и запишите образ Picroft на карту. Когда все будет готово, вы можете вставить карту в Raspberry Pi, подключить микрофон и динамик и подключить блок питания Pi для его загрузки.
Я использовал внешнюю клавиатуру и монитор для выполнения начальной настройки, но если у вас нет лишнего, вы также можете использовать SSH, если Pi подключен через Ethernet. Просто используйте «пи» в качестве имени пользователя и «mycroft» в качестве пароля. Pi должен быть подключен через Ethernet для начальной настройки. После настройки Wi-Fi вы можете использовать SSH через Wi-Fi.
Как настроить Майкрофт
После загрузки Pi или когда вы подключитесь по SSH, Майкрофт перебросит вас в командную строку и спросит, хотите ли вы запустить его пошаговую настройку. Нажмите Y, чтобы войти в мастер, который, среди прочего, поможет вам настроить Wi-Fi, настроить микрофон и протестировать динамик. (В случае сомнений используйте рекомендуемые Майкрофтом настройки.)
Когда вы закончите, Mycroft либо переведет вас в обычную консоль Linux (если вы подключены к монитору), либо в командную строку Mycroft (если вы используете SSH). Если вы находитесь в командной строке Mycroft – вы это узнаете, потому что вверху будет написано «Вывод журнала» с кучей розового и зеленого текста, прокручивающегося по экрану – вы можете выйти в любой момент, нажав Ctrl + C для перехода в командную строку Linux.
Настройте динамик
Обратите внимание, что для работы некоторых динамиков может потребоваться дополнительная настройка, и в этом случае вы можете просто пропустить эти шаги в мастере. Например, с моей Jabra 410 мне пришлось запустить несколько команд из консоли Linux:
pactl набор-по умолчанию-приемник 0
mycroft-config устанавливает play_wav_cmdline “aplay% 1”
mycroft-config устанавливает play_mp3_cmdline “mpg123% 1”
Если у вас возникли проблемы с выбранным микрофоном или динамиком, вы можете проверить Страница устранения неполадок со звуком Майкрофт здесь. После того, как вы внесли эти изменения, вам может потребоваться перезагрузить Pi, чтобы они вступили в силу:
sudo shutdown -r сейчас
Зарегистрировать устройство
Когда звук заработает, вы услышите, как помощник Майкрофта произносит шестизначный регистрационный код примерно каждую минуту. Это понадобится вам для сопряжения вашего Pi с вашей учетной записью Mycroft.
Направляйтесь к ваша панель управления Mycroft, щелкните значок пользователя в правом верхнем углу и выберите «Устройства». Нажмите большую кнопку «Добавить устройство» и пройдите через мастер. Вы сможете установить часовой пояс, слово пробуждения и т. Д. При запросе кода сопряжения введите код, который говорит ваш помощник Майкрофт.
Команды, которые стоит попробовать
После того, как вы закончите, ваш помощник Майкрофт сообщит вам, что он готов слушать основные команды. Вот несколько вещей, которые стоит попробовать:
- «Привет, Майкрофт, поставь будильник на 18:00»
- «Привет, Майкрофт, напомни мне взять молока в 13:00»
- «Привет, Майкрофт, кем был Авраам Линкольн?»
- “Привет, Майкрофт, какая погода?”
- «Привет, Майкрофт, включи новости».
Иногда происходит небольшая задержка, пока Майкрофт получает ваш ответ, но во всех моих тестах Майкрофт работал очень хорошо.
Вы можете увидеть еще больше примеров на сайте Майкрофта. Навыки страница. Навыки, отмеченные зеленой галочкой, уже присутствуют на вашем устройстве, но вы можете установить другие с этой страницы, например это умение что контролирует ваш Умные лампочки LIFX, или же Вот этот который управляет устройствами умного дома на вашем Wink Hub.
Он определенно не такой универсальный, как Alexa или Google Assistant, и может потребоваться некоторое время, чтобы определенные навыки работали так, как вы хотите. Но это хороший компромисс, если вы беспокоитесь о конфиденциальности, увлечены открытым исходным кодом или просто хотите сделать что-то крутое с помощью Raspberry Pi. Если по пути вы столкнетесь с проблемами, не забудьте спросить Сообщество Майкрофта за помощью, поскольку они всегда работают, чтобы сделать Майкрофта лучше.