Как стать автором
Обновить

Моя б̶е̶з̶умная колонка или бюджетный DIY голосового ассистента для умного дома

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров31K
Всего голосов 87: ↑87 и ↓0+87
Комментарии34

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

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

А что не так с прямыми углами? Электроны не успеют повернуть на 90 градусов?

Искажения и помехи, если кратко. Можете вскрыть любое фабричное устройство и увидите, что прямых углов на дорожках нету.

На этих линия не такие высокие частоты чтобы образовавшаяся паразитные ёмкость и индуктивность повлияли на что-то, и они не слаботочные, чтобы был какой-то crosstalking. С таким же успехом можно требовать залитый полигон общего провода с обратной стороны текстолита и крыжку от наводок сверху. Это ни на что не повлияет.

Немного дополню предыдущего оратора.
Насколько помню, как бы мы качественно не стабилизировали и не фильтровали питающее напряжение, оно всегда будет иметь пульсации. В результате чего во всех аналоговых схемах цепи питания относятся максимально далеко от входных цепей. Здесь же Vcc проходит параллельно с входной цепью левого канала. В результате получаем паразитную помеху, которую будем слышать как гул.

Да, на плате это место выглядит подозрительно и это хорошо, что вы это видите, и я бы лично дорожку не вёл параллельно линии питания, и конденсаторы поставил бы ближе к микросхеме. Но, это мои тараканы и чувство прекрасного, а по факту это здесь ни на что не повлияет.
Кстати, умозрительно помехи тут в основном будут не из-за плохой фильтрации питающего напряжения (фильтруется оно тут нормально, учитывая, что оно само по себе придёт отфильтрованным после розетки уже 2 раза), а из-за потребителя на линии питания, то есть самой PAM8403, т.к. линия питания "контактирует" со звуковой уже после конденсаторов. Как PAM8403 потребляет ток я не знаю, но судя по всему её цифровая часть работает на частоте намного выше звуковой. Не думаю, что люди её услышат, даже если бы она сильно наводилась.

А управляет умными устройствами сама колонка, или это только интерфейс взаимодействия с home assistant?

Может и сама колонка управлять, у меня она напрямую управляет устройствами.

А как у вас распознавание голоса происходит при работающем динамике? Как-то компенсируете?

Во время воспроизведения, она не "слушает"

Спасибо за статью. Очень интересно будет почитать про программную часть проекта. По поводу I2C интерфейса - то он на этой плате присутствует.

Спасибо за отзыв. Возможно вы перепутали с I2C, мне был нужен I2S интерфейс для подключения цифрового микрофона.

Круто!

Завидую белой завистью, как обладатель двух Алис, одной Google-станции и Сбер-стика (он тоже с голосовым интерфейсом).

Спасибо )

Когда ждать продолжение с программной частью?

Ё! Если я всё правильно понял, то это как раз то, что мне (всем нам) нужно — свободный, автономный и отвязанный от всех (хитрожопых) корпораций голосовой помощник.

Дайте два!

Опенсорс голосовой помощник Ирина вам в помощь: https://github.com/janvarev/Irene-Voice-Assistant (там же ссылки на 3 статьи на Хабре о нём )))

Вот тоже.. и мне кажется более важно что это платформа.

Хочу себе такую штуку именно в собранном красивом работающем виде а с софтом уровня "вот ssh, софт полноценный ставьте сами, вот исходники ядра, вот документация на плату".

Вот сколько такое может стоить?

Готовая ж платформа для Ирины той же.

Сейчас занимаюсь коробочным решением, в плане ПО для данной умной колонки, с нормальным пользовательским интерфейсом, чтобы человек далёкий от программирования смог использовать данную систему.

Класс! Буду следить. Тоже нужен такой девайс. Точнее несколько, в разных комнатах, как-то прикрутить все в один HA, хочу чтобы команда "выключи свет" работала в той комнате, где её произнес

Интересно... Особенно на код посмотреть :)

В коде ничего особенно нет - определяем от какой железки пришло STT, соответственно, в ее зоне управляем оборудованием. А вот что автор использует в качестве оператора STT и TTS, особенно не используя облачные сервисы, - вот это очень интересно)

Сеточка декоративная под динамик будет не лишней

Я сторонник автономных решений в плане их использования в критической инфраструктуре. А системы умного дома я отношу к этим категориям, поэтому, с моей точки зрения, использование устройств, зависящих от внешних систем, недопустимо. Описанное в статье решение не использует внешних сервисов для распознавания речи, векторизации запросов, синтеза речи и управления устройствами. И, конечно, я имею полный контроль над алгоритмами моего устройства, включая приватность.
Спасибо за каждое слово:)

Пожалуйста). Хотя моя фраза:

И, конечно, я имею полный контроль над алгоритмами моего устройства, включая приватность.

Звучит двояко и немного зловеще )

@CyberexTechхорошая реализация! Поздравляю. У меня есть реализация mdmTerminal2 на Orange Pi Zero - всё работает почти замечательно. Но есть вопросы:

  1. Что за продукт используется для голосового ассистента?

  2. Что с нагревом процессора у этой платы?

  3. На сколько стабилен wi-fi в этой реализации?

  4. Не пробовали использовать массивы микрофонов со всеми фишками типа DOA, BMF и прочие?

Спасибо за отзыв.

Что за продукт используется для голосового ассистента?

В своих проектах я использую собственные решения. Распознавание и синтез речи выполняется на устройстве, без использования внешних API. Используются внешние API только для второстепенных функций, таких как ChatGPT и курсы валют.

Что с нагревом процессора у этой платы?

С нагревом нет проблем, радиатора, что можно видеть на фото, вполне хватает. Температура SoC не поднимается выше 65 ℃, что в эксплуатационных рамках.

На сколько стабилен wi-fi в этой реализации?

Проблем с подключением к сети по Wi-Fi ни разу не наблюдал.

Не пробовали использовать массивы микрофонов со всеми фишками типа DOA, BMF и прочие?

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

В своих проектах я использую собственные решения. Распознавание и синтез речи выполняется на устройстве, без использования внешних API

Ну не с нуля же писали? Наверное, это что-то типа Azure/RHvoice/Vosk/Kaldi с локальными словарями?

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

Вот это очень интересно! Мне одного микрофона явно недостаточно. У меня кейс следующий - железка в виде "светодиодного" светильника установлена в потолок посередине помещения. Алиса и Маруся явно лучше "слышат" своими 4-6 микрофонами.

Тем более то что мой голосовой ассистент помимо того, что подключен к локальному серверу УД, еще завязан на LMS. Соответственно, музыка играет (акустика разнесена от самой железки) и ассистент должен слушать. Поэтому было бы очень круто звук с микрофона с помощью нейронной сети обрабатывать.

Очень интересна программная часть.

Ждем с нетерпением продолжения, железо уже куплено)

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

Стоит ожидать продолжение?

Однозначно стоит!

Зарегистрируйтесь на Хабре, чтобы оставить комментарий