Idem, et pour me lancer sur un gadget à base d’ESP32.
Mon envie, réaliser un petit objet sous forme de boule avec micros pour commander Home Assistant, haut parleur si possible de bonne qualité pour pouvoir faire aussi enceinte, petit écran peut-être tactile pour quelques retours d’infos. En plus de toute la partie technique, je réfléchi à ce que je pourrais fabriquer en impression 3D pour un boitier sympa…
Hâte de voir le résultat et que tu nous partage les infos.
C’est la partie amplification qui peche un peu au niveau audio.
Je n’ai pas d’imprimante 3D, mes ESP sont donc tout nu pour l’instant ( j’ai remis le chauffage heureusement).
J’ai aussi dans l’idée d’ajouter un petit écran tactile, @bob est sur le coup pour cette partie
@+
Un peu pareil chez moi, une quinzaine d’ESP32 posés ici et là Pour l’écran tactile 2.8 pouce c’est tout bon, un peu d’ergo à faire, pour le ili9488 (2 fois la taille du ili9341), je compte publier prochainement car j’ai pu tout faire fonctionner aussi.
Bob
Bonjour,
avec snowboy comme wakeword et le sensibilité sur 1, ca fonctionne bien pour l’ATOM echo.
a plusieurs mètres (3m) du micro ca détecte bien la commande. Alors qu’avec la sensibilité sur 0.5, fallait être coller au micro pour qu’il capte la commande.
Hello @WarC0zes,
Au top la vidéo, par contre, comment tu fais pour avoir un retour aussi rapide ? Moi ça met 10 plombes et ça ne comprend jamais rien…
Salut,
J’utilise Vosk a la place de Whisper, c’est plus rapide comme tu le vois sur RPI.
Et j’utilise Snowboy pour le wakeword.
Regarde ce post Year of the voice - Chapitre 5, c'est ce mercredi
Snowboy fonctionne vraiment bien de loin avec tes paramètres merci
Quelqu’un serait comment faire pour faire un wakeword personnalisé avec snowboy ?
Est-ce que ce site fonctionne ou bien c’est seulement compatible avec openwakeword ?
La réponse pour snowboy est dans ce fil
Pour le site que tu mentionne, c’est pour openwakeword et n’utilise qu’un dictionnaire Anglais, donc pas de wakeword perso vraiment fonctionnel avec un accent français ( plusieurs tests effectués dès le début et m^me en phonétique)
perso, j’utilise principalement porcupine ( pas le porcupine1), référence dans le fil cité, et snowboy dans des pièces plus silencieuses car il y a un peu plus de faux positifs
Bon dimanche
Une idée de HP à monter sur un Max98357 pour un test et commande sur Ali
Bob
Bonjour a tous,
Je viens de lire ce fil dans son intégralité (trés interessant)
je me considère comme débutant averti sur HA
voici mes questions
en partant d’un esp32 wrom et seulement un micro INMP441
sur la base du post 11 de @Krull56 est t’il possible de faire un
système « minimaliste » ?
si oui quel firmware injecter dans l’ESP32 ?
par avance merci de vos réponses.
Hello,
Bien sûr, tu peux faire un système plus minimaliste sans HP ni LED.
Il suffit de retirer les lignes correspondantes à ces éléments dans le Yaml que j’ai indiqué précédemment, ce qui donne :
esphome:
name: satellite-Base
friendly_name: Satellite-Base
on_boot:
- priority: -100
then:
- wait_until: api.connected
- delay: 1s
- if:
condition:
switch.is_on: use_wake_word
then:
- voice_assistant.start_continuous:
esp32:
board: esp32dev
framework:
type: arduino
# Enable logging
logger:
# Enable Home Assistant API
api:
encryption:
key: xxxxxx
ota:
password: yyyyyyyy
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Test Fallback Hotspot"
password: xxxxxx
captive_portal:
i2s_audio:
- id: i2s_in
i2s_lrclk_pin: GPIO25
i2s_bclk_pin: GPIO32
microphone:
- platform: i2s_audio
adc_type: external
pdm: false
id: mic_i2s
bits_per_sample: 32bit
i2s_audio_id: i2s_in
i2s_din_pin: GPIO33
voice_assistant:
id: va
microphone: mic_i2s
use_wake_word: true
noise_suppression_level: 2
auto_gain: 0dBFS
volume_multiplier: 4.0
switch:
- platform: template
name: Use wake word
id: use_wake_word
optimistic: true
restore_mode: RESTORE_DEFAULT_ON
entity_category: config
on_turn_on:
- lambda: id(va).set_use_wake_word(true);
- if:
condition:
not:
- voice_assistant.is_running
then:
- voice_assistant.start_continuous
on_turn_off:
- voice_assistant.stop
- lambda: id(va).set_use_wake_word(false);
@+
@Krull56 je me rend compte qu’avec un ATOM echo, ca plante au bout de quelque commande quand on active la fonction wakework. Obliger de reboot l’esp, mais si on utilise pas la fonction wakeword, juste avec l’appuie sur le bouton, ca plante plus.
C’est un soucis des modules, du atom echo ou du RPI4 ?
Bon j’ai avancer un peut le micro est souder et connecter a l’ESP32 WROOM
j’ai adapter la configuration donnée ci-dessus
mais pendant la compilation j’ai ce message d’erreur
[17:35:25][E][voice_assistant:468]: No API client connected
j’ai oublié quelque chose ?
Hello,
C’est pas faute d’en avoir parlé plus haut dans ce post.
pas mal de « mauvais » retours sur le forum anglophone concernant l’atom echo…
As-tu mis à jour esphome et récupéré le yaml ici : firmware/voice-assistant/m5stack-atom-echo.yaml at main · esphome/firmware (github.com)
Tu compile bien directement depuis ESPHOME ?
Peux-tu publier le yaml que tu as modifié stp ?
@Krull56 voilà
esphome:
name: esphome-web-4c24c4
friendly_name: ESPHome Web 4c24c4
on_boot:
- priority: -100
then:
- wait_until: api.connected
- delay: 1s
- if:
condition:
switch.is_on: use_wake_word
then:
- voice_assistant.start_continuous:
esp32:
board: esp32dev
framework:
type: arduino
# Enable logging
logger:
# Enable Home Assistant API
api:
encryption:
key: "96an93ttWkK3W1sJ7pgP1foBBipVC44oiQ7+6xf4n98="
ota:
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Esphome-Web-4C24C4"
password: "BSsG9zMMEiIf"
captive_portal:
i2s_audio:
- id: i2s_in
i2s_lrclk_pin: GPIO25
i2s_bclk_pin: GPIO32
microphone:
- platform: i2s_audio
adc_type: external
pdm: false
id: mic_i2s
bits_per_sample: 32bit
i2s_audio_id: i2s_in
i2s_din_pin: GPIO33
voice_assistant:
id: va
microphone: mic_i2s
use_wake_word: true
noise_suppression_level: 2
auto_gain: 0dBFS
volume_multiplier: 4.0
switch:
- platform: template
name: Use wake word
id: use_wake_word
optimistic: true
restore_mode: RESTORE_DEFAULT_ON
entity_category: config
on_turn_on:
- lambda: id(va).set_use_wake_word(true);
- if:
condition:
not:
- voice_assistant.is_running
then:
- voice_assistant.start_continuous
on_turn_off:
- voice_assistant.stop
- lambda: id(va).set_use_wake_word(false);
Vas dans paramètres , Appareils et services , ESPHOME, tu devrais voir afficher ton ESPHOME WEB… clique sur configuer à côté et coche « Autorisez l’appareil à passer des appels de service Home Assistant »
j’ai coché recompiler et même erreur !
je viens d’installer ton code yaml (a part key api , ota ) sur un esp32 tout juste sorti d’une boite, et aucun souci