Micro array esp32-korvo
By Espressif
Array microphone esp32-korvo esp-wroover-e with esphome and home-assistant
This page has been visited ... times
Home-assistant announced at the beginning of 2023, the year of the voice. By hiring Michael Hansen, nickname synesthesiam who is none other than the creator of the software Rhasspy, the company Nabu Casa is digging this breach in the world of voice control which is so lacking in current assistants.
I have for a long time tested various microphone arrays (respeaker 4-micarray and matrix voice), under Rhasspy, but both have disadvantages, they do not work without an additional raspberry which serves as host to the microphones. I added an esp32 to the matrix voice to make it work alone, but the company closed its doors at the beginning of 2023 leaving for dead the evolution of the software. At the time of writing this article, no one has developed or taken over the current software.
it’s a shame because the array matrix microphones (voice and creator) are well thought out modules.
Anyway, back to our topic, we are at the end of 2023 I wanted to take an overview of the evolution of Home Assistant Assist and for that I purchased on Aliexpress a microphone working with an esp32, the esp32-korvo wroover-e version
To begin with there are 2 versions of the microphone developed by Espressif, one works with an ESP32-S3-Korvo-1 v5.0 currently costs more than €50 and is at hardware version 5.0 , it seems that this version is only equipped with 3 array microphones as for the wroover version and not 6. The evolution is mainly found in the management of an external battery.
This version is rarely resold, at least for the moment.
Then you will easily find the tested version, the ESP32-korvo wroover-e, it will only cost you €22 delivered.
Here I am going to announce a pleasant surprise to you, the ESP32-korvo wroover-e is very complete, so complete that it only lacks a mounting box, but frankly for the price… ** There is only Espressif to carry out this type of promotion.**
The ESP32-korvo wroover-e, is an assembly of two cards, the upper card is made up of 12 LEDs from the ws2812 chipset, as well as analog buttons (mode, set, rec, play, vol+/-) and 3 array microphones. You could even add 5 more because the card has pre-soldered slots (see photo).
composition of the 6 microphones: Mic_Bias34
2 x Amic 55mm Mic_Bias12
PS: Despite the photos provided on Github, the upper card is identical on the two versions available and manufactured by Espressif.
There you realize that for the price the menu is very complete:
Thanks to the code below you can easily integrate the ESP32-korvo wroover-e microphone into esphome and thus use it in home assistant.
in order to send the code above in UART mode you will need:
Press the boot button without releasing it, then connect the two USB cables, and finally release the boot button
Important! Once the firmware has been sent by UART, it is important to disconnect the esp32-korvo from the mains, once reconnected, press the reset button for 1 second to launch it
In order to configure your new microphone in home-assistant I invite you to click on this link below, and normally a new esphome instance is discovered, all you have to do is click on configure and restart homeassistant.
Here are the available functions:
In the future update an additional light function will be available which will allow you to choose a light setting for the wakeword (off, day, night)
You can sleep and already test these functions, just integrate ref: dev
into the esphome code
To Install a Local Assistant follow the official home assistant tutorial.
Install a local Home assistant
In Home Assistant, the Assist pipelines are made up of various components that together form a voice assistant.
For each component you can choose from different options. There is a speech-to-text and text-to-speech option that runs entirely local.
The speech-to-text option is Whisper. It’s an open source AI model that supports various languages. We use a forked version called faster-whisper. On a Raspberry Pi 4, it takes around 8 seconds to process incoming voice commands. On an Intel NUC it is done in under a second.
For text-to-speech we have developed Piper. Piper is a fast, local neural text-to-speech system that sounds great and is optimized for the Raspberry Pi 4. It supports many languages. On a Raspberry Pi, using medium quality models, it can generate 1.6s of voice in a second.
The installation of whisper, piper and openwakeword on HA and raspberrypi 4 is restrictive and heavy for the moment this should evolve in the coming months.
Key Componenet | Description |
ESP32-WROVER-E | This ESP32 module contains the latest ESP32-D0WD-V3, a 16 MB flash and a 8 MB PSRAM for flexible data storage, featuring Wi-Fi / BT connectivity and data processing capability. |
Power Regulator | 5V-to-3.3V regulator. |
Power Switch | On: The board is powered on; Off: The board is powered off. |
Battery Port | Connect a battery. |
USB Power Port | Supply power to the board. |
USB-UART Port | A communication interface between a computer and the ESP32-WROVER-E module. |
USB-UART Bridge | Single USB-UART bridge chip provides transfer rates of up to 3 Mbps. |
Reset Button | Pressing this button resets the system. |
Boot Button | Download button. Holding down Boot and then pressing EN initiates Firmware Download mode for downloading firmware through the serial port. |
Micro SD Card | Slot Useful for developing applications that access MicroSD card for data storage and retrieval. |
Audio ADC | High-performance four-channel audio ADC. Among the four channels, three are for microphones, and one for AEC function. |
Audio PA | Amplify audio signals to external speaker at maximum 3 W. |
Speaker Connector | Connect an external speaker. |
Earphone Connector | Connect external earphones. |
FPC Connector | Connect mainboard and subboard. |
Audio Codec | Audio codec ES8311 communicates with ESP32 via the I2S bus, which converts digital signals to analog signals. |
Analog Microphone | Three analog microphone arrays (spacing = 65mm). |
RGB LED | 12 addressable RGB LEDs (WS2812). |
Function Button | Six function buttons, i.e. PLAY, SET, VOL -, VOL +, MODE and REC. These function buttons are user-definable. |
Sizes | 90x90x20mm |
Thanks to this tutorial you will be able to control a complete microphone ESP32-korvo wroover-e in Home-assistant with esphome and test the voice commands. Everything works but is not optimal, you will have to wait a few weeks to test future improvements.
Copyright © 2024 Haade 🎉 by Nicoxygen
Comments