- BrainTools - https://www.braintools.ru -

Умная колонка своими руками

Умная колонка своими руками - 1

В этой статье я расскажу, как сделать своими руками две умные колонки, полностью поддерживающие русский язык:

1) На микроконтроллере esp32s3, используя XiaoZhi

2) На Raspberry Pi автономную голосовую колонку с камерой, которая будет работать и распознавать всё, что не только слышит, но и видит перед собой, даже при отсутствии Интернета! Без облаков, без API-ключей. С локально запущенными моделями ИИ, связка Ollama+Gemma3:1b+Moondream+OpenWakeWord+Whisper.cpp+Silero TTS

А также расскажу, как подключить обе эти колонки к Home Assistant для управления устройствами умного дома.

Содержание статьи:

Умная колонка с ESP32S3 и XiaoZhi
Сборка своей прошивки
Интеграция с Home Assistant
Видео работы готового устройства
Что можно улучшить

Умная колонка на Raspberry Pi и Ollama
Интеграция с Home Assistant
Видео работы готовой колонки
Что можно улучшить
Если не хватает производительности
Ссылки по теме

Умная колонка с ESP32S3 и XiaoZhi

XiaoZhi – это платформа, которая позволяет использовать большие языковые модели в собственных разработках. Благодаря этой платформе можно использовать модели ИИ в микроконтроллерах esp32 (и не только), создавая чатботы, роботы и тому подобные устройства. При этом это полностью бесплатно, не нужно платить за использование токенов! Нужен лишь номер телефона либо учётная запись Google для регистрации.

Поддерживаются модели: Xiaozhi Lite и DeepSeek Quantized (без ограничений), а также поддерживается модель для распознавания изображений (с лимитом по времени использования).
После привязки к своей учётной записи на Github становятся также доступны модели Qwen 3, DeepSeek Full, Doubao, а также ограниченные по времени использования GLM 4.7 и Kimi K2.

Самое главное – поддерживается русский язык, причём даже есть варианты выбора спикера – “женщина”, “брутальный мужик”, “ребёнок”, “сумасшедшая королева”, “амбициозная женщина”, и звучат все эти голоса просто шикарно =)

Для реализации при помощи XiaoZhi голосовых ассистентов на микроконтроллерах предназначен open-source проект XiaoZhi-ESP32 [1]. Поддерживается offline-распознавание слова пробуждения (wake word) при помощи ESP-SR [2]. Можно подключить OLED / LCD – экраны для отображения анимированных эмоций [3] и озвучиваемого ответа языковой модели. Реализовано распознавание говорящего по голосу (3D-Speaker [4]).

Благодаря поддержке MCP (Model Context Protocol) можно подключать свои самодельные устройства на esp32 к Home Assistant и управлять устройствами умного дома. Чем мы с вами в этой статье и воспользуемся. Также можно подключить к esp32 свои исполнительные устройства – реле, сервоприводы и т.д., и датчики, и управлять ими голосом через XiaoZhi.

Помимо общения и управления умными устройствами, можно просто попросить модель включить музыку – в общем, всё, как и в заводских умных колонках. :)

Есть уже готовые прошивки как для работы через Wi-Fi, так и через мобильную связь, используя модуль 4G ML307.

Вот что нам понадобится для сборки нашей умной колонки:

  • Плата с микроконтроллером ESP32-S3 N16R8 (16Mb Flash, 8Mb Psram), 44 контакта

  • Всенаправленный MEMS-микрофон INMP441

  • i2s усилитель MAX98357A

  • Динамик 4/8 Ом 2-3Вт

  • Экран 1.54″ 240х240 на контроллере ST7789, 8 контактов

  • Беспаечная макетная плата (например, BB-801-2S-3P) + набор перемычек

  • usb type-c кабель для питания/программирования

Собираем по схеме на сайте [5]:

Умная колонка своими руками - 2

Далее скачиваем прошивку [5] (файл v2.0.2_bread-compact-wifi-lcd-240×240.zip) и софт для прошивки – Flash Download Tool [6]. Всё распаковываем, после чего запускаем flash_download_tool_3.9.9_R2.exe и выбираем в появившемся окне ESP32-S3, WorkMode Develop и LoadMode UART:

Умная колонка своими руками - 3

Нажимаем “ОК”, и в новом окне указываем путь к прошивке – файлу v2.0.2_bread-compact-wifi-lcd-240×240.bin, ставим галку напротив пути, указываем адрес 0х0, скорость порта 230400, номер виртуального ком-порта, к которому подключена плата (можно посмотреть в диспетчере устройств), и нажимаем кнопку “START”:

Умная колонка своими руками - 4

После появления надписи “FINISH” нажимаем на плате кнопку RST – на экране устройства должно появится название Wi-Fi-сети и IP-адрес для подключения:

Умная колонка своими руками - 5

Со своего телефона или компьютера подключаемся по Wi-Fi к указанной сети, после чего с браузера открываем страницу по адресу http://192.168.4.1, где выбираем из списка Wi-Fi-сеть, через которую устройство может выходить в Интернет, вбиваем пароль и нажимаем “Connect”:

Умная колонка своими руками - 6

Если устройство самостоятельно не перезагрузилось – принудительно нажимаем кнопку RST, после чего плата подключиться к Wi-Fi и отобразит на экране данные для подключения к платформе XiaoZhi:

Умная колонка своими руками - 7

Через браузер заходим на xiaozhi.me, нажимаем кнопку “Console”, и регистрируемся, указав номер телефона либо авторизуясь через Google.

После регистрации нажимаем на сайте кнопку “+ Add Device” и во всплывающем окне указываем шестизначный код с экрана нашего устройства:

Умная колонка своими руками - 8

После нажатия на “Confirm” отобразиться карточка устройства. Нажимаем в ней кнопку “Configure Role” и выбираем роль ассистента (например, учитель по английскому), его имя, язык, спикера:

Умная колонка своими руками - 9

После нажатия на “Save” нас попросят перезагрузить вручную кнопкой RST устройство, чтобы настройки вступили в силу. После этого наша умная колонка начнёт наконец работать по назначению. :)

Но есть нюанс – по-умолчанию голосовая активация не работает. Чтобы начать общение с колонкой, каждый раз нужно нажимать кнопку “BOOT” на плате устройства. Если мы хотим, чтобы устройство пробуждалось по ключевому слову, без нажатия на кнопку, то нам нужно перейти на страницу Manage Devices:

Умная колонка своими руками - 10

Далее выбираем Theme Settings: Customize, жмём Next, и попадаем в раздел Theme Design:

Умная колонка своими руками - 11

Здесь мы можем как выбрать уже предобученную модель (Preset Wake Word), так и задать своё собственное слово пробуждения (Custom Wake Word). В данном примере я выбрал Sophia модели WakeNet9.

Далее выбираем Next -> Generate assets.bin, и начнётся загрузка новой прошивки в память [7] устройства. После перезагрузки больше не нужно нажимать на кнопку для начала общения – достаточно произнести вслух ключевое слово “Софья”, и устройство сразу проснётся.

Сборка своей прошивки

Готовая прошивка – это, конечно, хорошо, но как насчёт того, чтобы собрать свою?

Для этого нам нужно скачать среду разработки ESP-IDF отсюда: https://dl.espressif.com/dl/esp-idf/ [8]

выбираем ESP-IDF v.5.5.3 Offline Installer (там есть 5.3 и другие – они нам не подойдут) и устанавливаем.

Теперь нам нужно скачать репозиторий xiaozhi esp32 с исходниками прошивки нашей умной колонки: https://github.com/78/xiaozhi-esp32 [9]

Распаковываем его в уже существующую папку с примерами ESP-IDF: Espressifframeworksesp-idf-v5.5.3examples

Далее на рабочем столе выбираем “ESP-IDF 5.5 CMD” и в открывшемся окне переходим в паку Espressifframeworksesp-idf-v5.5.3examplesxiaozhi-esp32-main:

Умная колонка своими руками - 12

После этого нам нужно выбрать цель для сборки, указав наш микроконтроллер esp32s3. Делается это следующей командой в терминале:

idf.py set-target esp32s3
Умная колонка своими руками - 13 [10]

После того, как всё будет готово, вводим следующую команду:

idf.py menuconfig
Умная колонка своими руками - 14 [10]

Попадаем в меню конфигурации для сборки нашей прошивки:

Умная колонка своими руками - 15

Переходим в раздел Xiaozhi Assistant и выбираем:

Default Language: Russian

Board Type: Bread Compact WiFi + LCD

LCD Type: ST7789 240×240

Wake Word Implementation Type: Wakenet model with AFE

Умная колонка своими руками - 16

Далее возвращаемся в главное меню и переходим в раздел ESP Speech Recognition. Выбираем:

Load Multiple Wake Words (WakeNet9): Sophia (wm9_sophia_tts)

English Speech Commands Model: english recognition (mn5q8_en)

Умная колонка своими руками - 17

Благодаря этому наша колонка будет откликаться на слова “Софья / София”.

Для сохранения настроек нажимаем клавишу “S”, далее выходим по нажатию “ESC”.

Для сборки прошивки вводим:

idf.py build
Умная колонка своими руками - 18 [10]

Последний шаг – загрузка прошивки в нашу колонку:

idf.py -p COM8 flash
Умная колонка своими руками - 19 [10]

Поменяйте “COM8” на номер ком-порта своей платы esp32. После загрузки прошивки устройство сразу будет готово к работе.

Кстати, есть расширение ESP для редактора VS Code, поэтому можно работать не из консоли, а из редактора. Про установку и настройку рассказано в этом видео: https://www.youtube.com/watch?v=XEmlCJrlPBA [11]

Если хотите проект под эту плату отредактировать под свои нужды – файлы находятся в Espressifframeworksesp-idf-v5.5.3examplesxiaozhi-esp32-mainmainboardsbread-compact-esp32-lcd

Файл локализации на русском – Espressifframeworksesp-idf-v5.5.3examplesxiaozhi-esp32-mainmainassetslocalesru-RUlanguage.json

Интеграция с Home Assistant

Наша умная колонка отлично работает, но ей кое-чего не хватает. Она не умеет то, что умеют колонки вроде Яндекс.Станции – управлять устройствами умного дома. Для решения этой проблемы нашу колонку можно подключить к серверу умного дома Home Assistant через MCP (Model Context Protocol). Работать это будет по следующей схеме:

Умная колонка своими руками - 20

Чтобы это всё работало, нужно установить и настроить Xiaozhi MCP Integration for Home Assistant, как указано в документации: https://github.com/mac8005/xiaozhi-mcp-ha [12]

После установки задаем русские имена устройствам Home Assistant (например, “розетка”), и можно управлять голосовыми командами через нашу колонку (например, “включи розетку в спальне”).

Видео работы готового устройства

Что можно улучшить

Существуют версии модулей ESP32S3 N16R8 с камерой:

Умная колонка своими руками - 21

Для них уже есть готовые прошивки Xiaozhi, которые вместе с инструкцией по сборке находятся здесь: https://my.feishu.cn/docx/GoGBdLVUooHARPxyTLhc9AjdnFh [13]

У меня не было плат с камерой, поэтому в этой статье описал колонку с платой без камеры.

Умная колонка на Raspberry Pi и Ollama

А теперь давайте сделаем полностью автономную умную голосовую колонку с ИИ, которая будет работать даже без Интернета! И более того – даже без внешнего питания, при пропадании электричества =)

Зачем делать свою колонку, когда можно пойти в магазин и купить готовую? В отличии от готовых устройств, тут локальное распознавание и синтез речи, локальный ИИ, работающий даже без Интернет.

Плюсы самодельной колонки по сравнению с теми решениями, которые предлагает рынок:

  • финансовый вопрос использования – другие колонки работают по подписке. А наша колонка будет работать без подписок, без облаков и без API-ключей.

  • вопрос конфиденциальности и безопасности данных – не всегда хочется и приемлемо передавать данные третьей стороне

  • без интернета не работают, наша – легко

  • гибкость: что вам дали – тем и пользуетесь, нет возможности кастомизации под себя

Вот что нам нужно для сборки умной колонки:

  • Raspberry Pi 5 4-16Гб

  • USB-микрофон

  • I2S-усилитель MAX98357A

  • X1002 NVME HAT

  • NVME M.2 диск

  • 5″ LCD-экран с DSI или HDMI-интерфейсом

  • Raspberry Pi камера

Собираем по схеме:

Умная колонка своими руками - 22

Почему бы не использовать гораздо более дешёвую SD-карту? Тут дело не только в том, что SSD-диски ощутимо быстрее по скорости, но в основном в том, что при активном использовании ИИ SD-карты быстро выходят из строя, месяц-два – и карту на выброс. Так что определённо стоит раскошелиться. :)

Подключаем SSD-диск через USB NVMe-переходник к компьютеру, запускаем Raspberry Pi Imager, выбираем Raspberry Pi OS (64-bit), записываем на диск.

После загрузки Raspberry Pi 5 с диска у нас скорость чтения с него будет около 400Мб/с, проверить это можно командой:

sudo hdparm -t --direct /dev/nvme0n1
Умная колонка своими руками - 23 [10]

Чтобы разогнать диск с Gen.2 до Gen.3, открываем файл /boot/firmware/config.txt и добавляем в него:

[all]
dtparam=nvme
dtparam=pciex1_gen=3
Умная колонка своими руками - 24 [10]

После перезагрузки проверяем скорость:

sudo hdparm -t --direct /dev/nvme0n1
Умная колонка своими руками - 25 [10]

Увидим, что она поднялась в два раза – около 800Мб/с :) Важно, чтобы диск получал дополнительное питание – для этого на переходнике X1002 предназначены дополнительные контакты pogo pin, подключающиеся к пинам +5V и GND на Raspberry Pi.

Устройство собрано, теперь пора установить приложение для нашей умной колонки. Оно будет работать по следующей схеме:

Умная колонка своими руками - 26

Давайте разберём составляющие более подробно.

Для пробуждения колонки и определения необходимости записи речи используется OpenWakeWord [14]. Доступны уже обученные модели (одну из таких, “Алекса”, мы будем использовать в нашей умной колонке), также можно обучить свои модели, и для этого есть два пути:

  • Google Colab [15] – наиболее простой и быстрый вариант, обучение [16] занимает около часа

  • Notebook [17] – более сложный и продвинутый, позволяет создавать высококачественные модели

Для преобразования речи в текст выбран Whisper.cpp [18]. Используется модель ggml-base.bin, которая работает с русским языком.

Для обратного преобразования, из текста ответа языковой модели в речь, выбран Silero TTS [19]. Наиболее распространён Piper TTS [20], который просто летает на Raspberry Pi, и у которого просто шикарно звучащие английские модели, но вот модели на русском совсем не понравились – звучат уныло. Я начал искал варианты, которые хорошо звучат на русском, и в итоге остановился на Silero TTS [19] – работает помедленнее, плюс имеет ряд проблем (например, не проговаривает числа, для этого их приходится переводить предварительно в текст), зато модели [21]звучат просто шикарно. :) Я использовал модель v5_ru и спикера baya для озвучки на русском и модель v3_en со спикером en_0 для озвучки на английском.

Отмечу, что тут поддерживается SSML – при помощи расстановки тёгов в тексте можно контролировать паузы и произношение (например, говорить быстро/медленно, тоном выше/ниже, делать паузы в нужном месте в N секунд).

Также существует Silero-VAD [22] – модель для обнаружения голосовой активности (определяет, где в аудиозаписи речь, а где – тишина, когда пользователь начал либо закончил говорить).

В качестве платформы (роутера) для локального запуска моделей искусственного интеллекта [23] выбрана широко распространённая Ollama [24]. Из альтернатив существуют KoboldCpp [25] и LM Studio [26].

В качестве текстовой модели ИИ выбрана модель gemma3:1b [27] – из всех моделей, доступных для загрузки на Ollama, она оказалась самой быстрой на Raspberry Pi. Плюс поддерживает русский язык.

Для распознавания изображения со встроенной камеры выбрана модель Moondream [28]. Причина – не удалось найти другую модель, которая распознавала бы изображение на Raspberry Pi за приемлемое время. На версии с 8Гб памяти она выдаёт ответ за минуту, другие модели – существенно дольше. Но есть проблема – Moondream не поддерживает русский язык. Для решения этой проблемы пришлось создать “бутерброд” – gemma3:1b вначале переводит запрос пользователя с русский на английский, далее получаем картинку с камеры при помощи rpicam-still, и вместе с запросом на английском передаём на вход модели Moondream. Полученный от неё на английском ответ также при помощи gemma3:1b переводим обратно на русский и при помощи Silero TTS озвучиваем пользователю. Получается всё равно гораздо быстрее в плане производительности, чем использовать другую модель зрения [29], поддерживающую нативно русский.

Собственно говоря, умная колонка не является полностью автономной – если модель не знает ответа, она берёт данные извне, используя Api поисковика Duck Duck Go (через библиотеку ddgs). Но если отключить такую возможность, колонка станет полностью автономной. :)

Установка

После сборки схемы умной колонки нам нужно установить весь необходимый софт. Исходный проект автором brenpoly выложен здесь: https://github.com/brenpoly/be-more-agent [30]

Но он не поддерживает русский язык, работу с умным домом и некоторые другие вещи, поэтому я сделал форк и выложил в свой репозиторий: https://github.com/tzirulnicov/be-more-agent [31]

Для начала, обновляем пакеты и ставим git:

sudo apt update && sudo apt upgrade -y
Умная колонка своими руками - 27 [10]

Устанавливаем необходимые библиотеки и приложения:

sudo apt install -y python3-tk libasound2-dev libportaudio2 libatlas-base-dev cmake build-essential espeak-ng git rpicam-apps
Умная колонка своими руками - 28 [10]

Далее, устанавливаем Ollama:

curl -fsSL https://ollama.com/install.sh| sh
Умная колонка своими руками - 29 [10]

Когда установка будет завершена, загружаем модели:

ollama pull gemma3:1b
ollama pull moondream
Умная колонка своими руками - 30 [10]

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

git clone https://github.com/tzirulnicov/be-more-agent.git
cd be-more-agent
python3 -m venv venv
source venv/bin/activate
pip install --upgrade pip
pip install -r requirements.txt
Умная колонка своими руками - 31 [10]

Установить Whisper.cpp

cd be-more-agent
git clone https://github.com/ggerganov/whisper.cpp.git
cd whisper.cpp
sh ./models/download-ggml-model.sh base
cmake -B build
cmake --build build --config Release
Умная колонка своими руками - 32 [10]

Чтобы заработал динамик, подключенный к Raspberry Pi через усилитель MAX98357A, нужно выполнить команды, описанные здесь: https://learn.adafruit.com/adafruit-max98357-i2s-class-d-mono-amp?view=all [32]

Тут появится проблема – динамик работает, а вот микрофон – нет, выводится ошибка [33] “The dmix plugin supports only playback stream”. Решение – использовать asym, для этого возьмите файл be-more-agent/asound.conf, и замените им уже существующий /etc/asound.conf и запустите sudo /etc/init.d/alsa-utils restart.

Проверить работу микрофона можно командой arecord -d 5 test.wav

Работу динамика – aplay test.wav

Если будет ошибка, что устройство не найдено – вызвать aplay / arecord c параметром –list-devices, найти своё устройство записи/воспроизведения, и внести соответствующие настройки в /etc/asound.conf

Запускаем колонку:

source venv/bin/activate
python agent.py
Умная колонка своими руками - 33 [10]

Интеграция с Home Assistant

Управлять голосом через умную колонку устройствами умного дома через сервер Home Assistant мы будем, используя REST API и библиотеку home-assistant-rest-driver [34]

Умная колонка своими руками - 34

Для этого нужно получить токен доступа, для этого на странице Home Assistant переходим в свой профиль, далее вкладка “Безопасность”, в самом низу блок “Долгосрочные токены доступа”. Создаём токен и прописываем настройки в config.yaml на нашей колонке:

home_assistant:
    enable: 1
    url: http://[ip-адрес сервера home assistant]:8123
    token: [долгосрочный токен доступа]
    device_id: [id устройства, которым хотим управлять голосом]
Умная колонка своими руками - 35 [10]

Видео работы готовой колонки

Можно распечатать корпус для этой колонки, вот конечное изделие (файлы для печати – в be-more-agent/stl):

Умная колонка своими руками - 36

Чтобы устройство было полностью законченным в плане функционала, реализуем работу от аккумуляторов при пропадании питания, а также возможность играть в видеоигры при помощи кнопок на корпусе. Для этого нужно добавить компоненты:

  • WaveShare UPS HAT 18650

  • Аккумуляторы 18650 2шт высокотоковые (например, Molicel 18650-P30B)

  • Arduino Nano

  • тактовые кнопки 7шт

Умная колонка своими руками - 37

Гербер-файлы для печати платы кнопок расположены в be-more-agent/pcb репозитория.

Если нет необходимости, чтобы кнопки работали, то можно распечатать заглушку – be-more-agent/stl/dummy-pcb.stl

Для работы кнопок можно использовать Arduino Nano, которая будет эмулировать USB-клавиатуру. Для этого предназначена библиотека Алекса Гайвера EasyHID [35] – помимо примеров кода там же можно посмотреть схему подключения к USB (используется обвязка из стабилитрона, диодов и резисторов).

Что можно улучшить

От используемого микрофона за 100 рублей ждать хорошей работы не приходится, фразы приходится произносить вблизи микрофона. Как вариант – использовать микрофоны подороже:

Умная колонка своими руками - 38
  • конференц usb-микрофон – наиболее бюджетный вариант из представленных (около 500р), обеспечивает дальность порядка трёх метров

  • ReSpeaker 2-mic HAT – два микрофона, чуть дороже предыдущего варианта, требует порой танцев с бубном, чтобы заработало

  • Respeaker XMOS AI-powered 4-mic array – сразу определяется в системе, предназначен как раз для общения с ИИ, хорошее качество звука и дальность, но цена кусается – в 10 раз дороже предыдущего варианта

  • SiPeed 6+1 mic array – массив из 7 mems-микрофонов, вместе с платой с usb аналогичен по цене с предыдущим вариантом

Если не хватает производительности

Умная колонка своими руками - 39

Локальные модели ИИ требуют больших вычислительных ресурсов, для решения этой проблемы выпускаются платы расширения – HAT – для Raspberry PI.

В продаже есть платы расширения на базе ускорителя Hailo-8 производительностью 13 и 26 TOPS – сразу оговорюсь, что они НЕ подходят для генеративных моделей ИИ, т.к. предназначены для ускорения распознавания объектов на изображении.

Для наших нужд подходит плата расширения с ускорителем Hailo-10H – Raspberry Pi AI HAT 2+, имеющая на борту 8Гб памяти. Поддерживает запуск как больших языковых моделей (LLM), так и визуально-языковых (VLM). На данный момент поддерживаются DeepSeek-R1-Distill, Qwen2.5-Coder, Qwen2.5-Instruct, Qwen2 и Llama3.2 до 1,5 млрд параметров, но проект активно развивается.

Ещё один вариант ускорения – подключить к Raspberry Pi внешнюю видеокарту благодаря поддержки PCIe Gen 3 x1, используя плату-переходник M.2 Key E to PCIe x16. На продакшен такое – не вариант, но для экспериментов – почему бы и нет.

Если хочется большей производительности, можно использовать одноплатные компьютеры серии Jetson – например, линеек Nano B01, Orig Nano, Orin NX Super, AGX Orin, производительностью до 275 TOPS, которые как раз предназначены для запуска и использования моделей ИИ:

Умная колонка своими руками - 40

Вместо послесловия

В этой статье мы познакомились с платформой ИИ XiaoZhi, open-source проектом xiaozhi-esp32, запустили оффлайн языковые модели с использованием Ollama и собрали две колонки – на микроконтроллере esp32 с XiaoZhi и полностью (при условии отключения поисковика Duck Duck Go) автономную колонку на Raspberry Pi, работающую не только без Интернета, но даже и без внешнего питания. Рассмотрели возможность подключения устройств умного дома с использованием сервера Home Assistant.

Ссылки по теме:

Сборка умной колонки на ESP32: https://my.feishu.cn/wiki/Zq62wST38iuNxZkwg9JcjkSSnSd [5]

Xiaozhi-esp32: https://github.com/78/xiaozhi-esp32 [9]

Руководство по использованию XiaoZhi на русском: https://xiaozhi.dev/ru/docs/usage/ [36]

Xiaozhi MCP Integration for Home Assistant: https://github.com/mac8005/xiaozhi-mcp-ha [12]

Репозиторий умной колонки на Raspberry Pi: https://github.com/tzirulnicov/be-more-agent/ [37]

Автор: tzirulnicov

Источник [38]


Сайт-источник BrainTools: https://www.braintools.ru

Путь до страницы источника: https://www.braintools.ru/article/26603

URLs in this post:

[1] XiaoZhi-ESP32: https://devtrends.ru/c-plus-plus/78-xiaozhi-esp32

[2] ESP-SR: https://github.com/espressif/esp-sr

[3] эмоций: http://www.braintools.ru/article/9540

[4] 3D-Speaker: https://github.com/modelscope/3D-Speaker

[5] схеме на сайте: https://my.feishu.cn/wiki/Zq62wST38iuNxZkwg9JcjkSSnSd

[6] Flash Download Tool: https://dl.espressif.com/public/flash_download_tool.zip

[7] память: http://www.braintools.ru/article/4140

[8] https://dl.espressif.com/dl/esp-idf/: https://dl.espressif.com/dl/esp-idf/

[9] https://github.com/78/xiaozhi-esp32: https://github.com/78/xiaozhi-esp32

[10] Image: https://sourcecraft.dev/

[11] https://www.youtube.com/watch?v=XEmlCJrlPBA: https://www.youtube.com/watch?v=XEmlCJrlPBA

[12] https://github.com/mac8005/xiaozhi-mcp-ha: https://github.com/mac8005/xiaozhi-mcp-ha

[13] https://my.feishu.cn/docx/GoGBdLVUooHARPxyTLhc9AjdnFh: https://my.feishu.cn/docx/GoGBdLVUooHARPxyTLhc9AjdnFh

[14] OpenWakeWord: https://github.com/dscripka/openWakeWord

[15] Google Colab: https://colab.research.google.com/drive/1q1oe2zOyZp7UsB3jJiQ1IFn8z5YfjwEb?usp=sharing

[16] обучение: http://www.braintools.ru/article/5125

[17] Notebook: https://github.com/dscripka/openWakeWord/blob/main/notebooks/automatic_model_training.ipynb

[18] Whisper.cpp: https://github.com/ggml-org/whisper.cpp

[19] Silero TTS: https://github.com/daswer123/silero-tts-enhanced

[20] Piper TTS: https://github.com/OHF-voice/piper1-gpl

[21] модели : https://github.com/snakers4/silero-models

[22] Silero-VAD: https://github.com/snakers4/silero-vad

[23] интеллекта: http://www.braintools.ru/article/7605

[24] Ollama: https://ollama.com/

[25] KoboldCpp: https://habr.com/ru/articles/924728/

[26] LM Studio: https://habr.com/ru/articles/922340/

[27] gemma3:1b: https://ollama.com/library/gemma3

[28] Moondream: https://ollama.com/library/moondream

[29] зрения: http://www.braintools.ru/article/6238

[30] https://github.com/brenpoly/be-more-agent: https://github.com/brenpoly/be-more-agent

[31] https://github.com/tzirulnicov/be-more-agent: https://github.com/tzirulnicov/be-more-agent

[32] https://learn.adafruit.com/adafruit-max98357-i2s-class-d-mono-amp?view=all: https://learn.adafruit.com/adafruit-max98357-i2s-class-d-mono-amp?view=all

[33] ошибка: http://www.braintools.ru/article/4192

[34] home-assistant-rest-driver: https://github.com/nillium/home-assistant-rest-driver/

[35] EasyHID: https://github.com/GyverLibs/EasyHID/

[36] https://xiaozhi.dev/ru/docs/usage/: https://xiaozhi.dev/ru/docs/usage/

[37] https://github.com/tzirulnicov/be-more-agent/: https://github.com/tzirulnicov/be-more-agent/

[38] Источник: https://habr.com/ru/articles/1005272/?utm_source=habrahabr&utm_medium=rss&utm_campaign=1005272

www.BrainTools.ru

Rambler's Top100