Projet voice control

Bonjour,
J’expérimente toujours mon atom echo que je compte mettre dans une plus petite pièce mais les essais sont laborieux.
Déjà au niveau du mot de réveil : ca marchait pas trop mal mais suite à la mise à jour esphome 2025.2.0 faite j’ai énormément de difficulté à le réveiller maintenant.
J’ai du mal à comprendre le fonctionnement des wakeword et microwakeword. Sur le ondevice mon sélecteur mot activation est grisé même si je passe sur On device.


J’utilise ce code mais je ne sais pas si je dois mettre les models de wakeword dans mon dossier esphome ou si je mets des liens github. J’utilise la configuration de base ici
Edit : j’avais bloqué l’accès internet à tous mes esp sur mon routeur et donc aussi à mon atom echo, je viens de le réactiver (clean build et recommencer une compilation) mais j’ai toujours des avertissements à la compilation et toujours la case grisée :grimacing:
j’ai cela dans les logs, il ne semble pas voir de model :

[10:36:22][C][micro_wake_word:051]: microWakeWord:
[10:36:22][C][micro_wake_word:052]:   models:
[10:36:22][C][micro_wake_word:015]:     - Wake Word: Hey Jarvis
[10:36:22][C][micro_wake_word:016]:       Probability cutoff: 0.970
[10:36:22][C][micro_wake_word:017]:       Sliding window size: 5
[10:36:22][C][micro_wake_word:021]:     - VAD Model
[10:36:22][C][micro_wake_word:022]:       Probability cutoff: 0.500
[10:36:22][C][micro_wake_word:023]:       Sliding window size: 5
Avertissement compilation
Compiling .pioenvs/atom-echo/components/esp-tflite-micro/tensorflow/lite/micro/kernels/lstm_eval_common.o
In file included from components/esp-tflite-micro/tensorflow/lite/micro/kernels/lstm_eval.cc:25:
components/esp-tflite-micro/tensorflow/lite/kernels/internal/reference/mul.h: In lambda function:
components/esp-tflite-micro/tensorflow/lite/kernels/internal/reference/mul.h:151:34: warning: declaration of 'const tflite::ArithmeticParams& params' shadows a parameter [-Wshadow]
          const uint8_t input2_val) {
                                  ^
components/esp-tflite-micro/tensorflow/lite/kernels/internal/reference/mul.h:126:56: note: shadowed declaration is here
 inline void BroadcastMul6DSlow(const ArithmeticParams& params,
                                ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
components/esp-tflite-micro/tensorflow/lite/kernels/internal/reference/mul.h: In lambda function:
components/esp-tflite-micro/tensorflow/lite/kernels/internal/reference/mul.h:210:28: warning: declaration of 'const tflite::ArithmeticParams& params' shadows a parameter [-Wshadow]
          const T input2_val) {
                            ^
components/esp-tflite-micro/tensorflow/lite/kernels/internal/reference/mul.h:171:44: note: shadowed declaration is here
 BroadcastMul6DSlow(const ArithmeticParams& params,
                    ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
components/esp-tflite-micro/tensorflow/lite/kernels/internal/reference/mul.h: In lambda function:
components/esp-tflite-micro/tensorflow/lite/kernels/internal/reference/mul.h:250:46: warning: declaration of 'const tflite::ArithmeticParams& params' shadows a parameter [-Wshadow]
          const std::complex<float> input2_val) {
                                              ^
components/esp-tflite-micro/tensorflow/lite/kernels/internal/reference/mul.h:221:56: note: shadowed declaration is here
 inline void BroadcastMul6DSlow(const ArithmeticParams& params,
                                ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
Compiling .pioenvs/atom-echo/components/esp-tflite-micro/tensorflow/lite/micro/kernels/maximum_minimum.o
Compiling .pioenvs/atom-echo/components/esp-tflite-micro/tensorflow/lite/micro/kernels/micro_tensor_utils.o
Compiling .pioenvs/atom-echo/components/esp-tflite-micro/tensorflow/lite/micro/kernels/mirror_pad.o
Compiling .pioenvs/atom-echo/components/esp-tflite-micro/tensorflow/lite/micro/kernels/mul_common.o
In file included from components/esp-tflite-micro/tensorflow/lite/micro/kernels/mul_common.cc:19:
components/esp-tflite-micro/tensorflow/lite/kernels/internal/reference/mul.h: In lambda function:
components/esp-tflite-micro/tensorflow/lite/kernels/internal/reference/mul.h:151:34: warning: declaration of 'const tflite::ArithmeticParams& params' shadows a parameter [-Wshadow]
          const uint8_t input2_val) {
                                  ^
components/esp-tflite-micro/tensorflow/lite/kernels/internal/reference/mul.h:126:56: note: shadowed declaration is here
 inline void BroadcastMul6DSlow(const ArithmeticParams& params,
                                ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
components/esp-tflite-micro/tensorflow/lite/kernels/internal/reference/mul.h: In lambda function:
components/esp-tflite-micro/tensorflow/lite/kernels/internal/reference/mul.h:210:28: warning: declaration of 'const tflite::ArithmeticParams& params' shadows a parameter [-Wshadow]
          const T input2_val) {
                            ^
components/esp-tflite-micro/tensorflow/lite/kernels/internal/reference/mul.h:171:44: note: shadowed declaration is here
 BroadcastMul6DSlow(const ArithmeticParams& params,
                    ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
components/esp-tflite-micro/tensorflow/lite/kernels/internal/reference/mul.h: In lambda function:
components/esp-tflite-micro/tensorflow/lite/kernels/internal/reference/mul.h:250:46: warning: declaration of 'const tflite::ArithmeticParams& params' shadows a parameter [-Wshadow]
          const std::complex<float> input2_val) {
                                              ^
components/esp-tflite-micro/tensorflow/lite/kernels/internal/reference/mul.h:221:56: note: shadowed declaration is here
 inline void BroadcastMul6DSlow(const ArithmeticParams& params,
                                ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
Compiling .pioenvs/atom-echo/components/esp-tflite-micro/tensorflow/lite/micro/kernels/neg.o
components/esp-tflite-micro/tensorflow/lite/kernels/internal/reference/mul.h: In instantiation of 'typename std::enable_if<((! tflite::is_small_integer<T>::value) || enable_for_short_integers), void>::type tflite::reference_ops::BroadcastMul6DSlow(const tflite::ArithmeticParams&, const tflite::RuntimeShape&, const T*, const tflite::RuntimeShape&, const T*, const tflite::RuntimeShape&, T*) [with T = int; bool enable_for_short_integers = false; typename std::enable_if<((! tflite::is_small_integer<T>::value) || enable_for_short_integers), void>::type = void]':
components/esp-tflite-micro/tensorflow/lite/kernels/internal/reference/mul.h:260:28:   required from 'void tflite::reference_ops::BroadcastMul4DSlow(const tflite::ArithmeticParams&, const tflite::RuntimeShape&, const T*, const tflite::RuntimeShape&, const T*, const tflite::RuntimeShape&, T*) [with T = int]'
components/esp-tflite-micro/tensorflow/lite/micro/kernels/mul_common.cc:147:56:   required from here
components/esp-tflite-micro/tensorflow/lite/kernels/internal/reference/mul.h:206:34: warning: declaration of 'const tflite::ArithmeticParams& params' shadows a parameter [-Wshadow]
   BroadcastMulRecursiveDimensions(
   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
       params, 0, input1_data, input2_data, output_data, &input1_offset,
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       &input2_offset, &output_offset, desc1, desc2, extended_output_shape_dims,
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       [](const ArithmeticParams& params, const T input1_val,
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          const T input2_val) {
          ~~~~~~~~~~~~~~~~~~~~~    
         T output_activation_min;
         ~~~~~~~~~~~~~~~~~~~~~~~~  
         T output_activation_max;
         ~~~~~~~~~~~~~~~~~~~~~~~~  
         GetActivationParams(params, &output_activation_min,
         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                             &output_activation_max);
                             ~~~~~~~~~~~~~~~~~~~~~~~~
         return ActivationFunctionWithMinMax<T>(input1_val * input2_val,
         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                output_activation_min,
                                                ~~~~~~~~~~~~~~~~~~~~~~
                                                output_activation_max);
                                                ~~~~~~~~~~~~~~~~~~~~~~~
       });
       ~~                          
components/esp-tflite-micro/tensorflow/lite/kernels/internal/reference/mul.h:171:44: note: shadowed declaration is here
 BroadcastMul6DSlow(const ArithmeticParams& params,
                    ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
components/esp-tflite-micro/tensorflow/lite/kernels/internal/reference/mul.h: In instantiation of 'typename std::enable_if<((! tflite::is_small_integer<T>::value) || enable_for_short_integers), void>::type tflite::reference_ops::BroadcastMul6DSlow(const tflite::ArithmeticParams&, const tflite::RuntimeShape&, const T*, const tflite::RuntimeShape&, const T*, const tflite::RuntimeShape&, T*) [with T = float; bool enable_for_short_integers = false; typename std::enable_if<((! tflite::is_small_integer<T>::value) || enable_for_short_integers), void>::type = void]':
components/esp-tflite-micro/tensorflow/lite/kernels/internal/reference/mul.h:260:28:   required from 'void tflite::reference_ops::BroadcastMul4DSlow(const tflite::ArithmeticParams&, const tflite::RuntimeShape&, const T*, const tflite::RuntimeShape&, const T*, const tflite::RuntimeShape&, T*) [with T = float]'
components/esp-tflite-micro/tensorflow/lite/micro/kernels/mul_common.cc:202:52:   required from here
components/esp-tflite-micro/tensorflow/lite/kernels/internal/reference/mul.h:206:34: warning: declaration of 'const tflite::ArithmeticParams& params' shadows a parameter [-Wshadow]
   BroadcastMulRecursiveDimensions(
   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
       params, 0, input1_data, input2_data, output_data, &input1_offset,
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       &input2_offset, &output_offset, desc1, desc2, extended_output_shape_dims,
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       [](const ArithmeticParams& params, const T input1_val,
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          const T input2_val) {
          ~~~~~~~~~~~~~~~~~~~~~    
         T output_activation_min;
         ~~~~~~~~~~~~~~~~~~~~~~~~  
         T output_activation_max;
         ~~~~~~~~~~~~~~~~~~~~~~~~  
         GetActivationParams(params, &output_activation_min,
         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                             &output_activation_max);
                             ~~~~~~~~~~~~~~~~~~~~~~~~
         return ActivationFunctionWithMinMax<T>(input1_val * input2_val,
         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                output_activation_min,
                                                ~~~~~~~~~~~~~~~~~~~~~~
                                                output_activation_max);
                                                ~~~~~~~~~~~~~~~~~~~~~~~
       });
       ~~                          
components/esp-tflite-micro/tensorflow/lite/kernels/internal/reference/mul.h:171:44: note: shadowed declaration is here
 BroadcastMul6DSlow(const ArithmeticParams& params,
                    ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
Compiling .pioenvs/atom-echo/components/esp-tflite-micro/tensorflow/lite/micro/kernels/pack.o

Ma configuration :

substitutions:
  name: atom-echo
  friendly_name: Atom Echo
  micro_wake_word_model: hey_jarvis

packages:
  m5stack.atom-echo-wake-word-voice-assistant: github://esphome/wake-word-voice-assistants/m5stack-atom-echo/m5stack-atom-echo.yaml@main

esphome:
  name: ${name}
  name_add_mac_suffix: false
  friendly_name: ${friendly_name}
  
api:
  encryption:
    key: Hd3laS+97BKdvBwnbIjsFM3KI/IhDBMwiQuTIsazz/g=

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  # Optional manual IP
  manual_ip:
    static_ip: 192.168.1.132
    gateway: 192.168.1.1
    subnet: 255.255.255.0

Quelqu’un utilise microwakeword et si oui quel code et config vous utilisez ?

C’est vraiment pas le meilleur device pour utiliser un wakeword…
il marche pas trop mal en appuyant sur le bouton, mais en wakeword, le micro est trop mauvais.

Ok même retour que @WarC0zes , jusqu’à là, il marchait pas trop mal, enfin c’est vrai qu’on a tendance à lui gueuler dessus quand même :sweat_smile: On en rigole avec ma compagne, Jarvis sur le dos :rofl:
Si c’est pour utiliser le bouton, il n’y a plus grand intérêt, j’ai déjà des télécommandes dans la pièce que je souhaite l’installer. Je continue mes expérimentations sur assist et le micro wake word pour le moment…

si jamais, les ventes vers l’EU sont à présent disponibles visiblement (je viens juste de commander le mien) concernant https://futureproofhomes.net/

du coup, ça a donné quoi le résultat du wake word qui était grisé ? je viens d’avoir le même problème et je comprends toujours pas pourquoi c’est devenu grisé alors que ça fonctionnait pour ma part

Bonjour,

J’ai laissé tomber Atom écho et je t’avoue ne plus savoir comment j’avais fait.

Je crois qu’il faut ajouter un micro wake word dans la config.

Voir peut-être ici https://github.com/esphome/micro-wake-word-models

Bonjour,
pour mon atom echo je suis passer par le firmware :

l’ancien firmware voice assistant, n’est plus mis a jour, il faut passer par le wake-word-voice-assistants maintenant.

Ca inclus un media_player et le voice assistant.


c’est ce que j’ai également, juste la partie “Mot d’activation” qui n’est pas active sans raison particulière, enfin si dois y en avoir une que je ne connais pas encore….

Hello tout le monde,

Ça donne quoi le projet Voice Control, ça a bien avancé ? Je m’y étais mis lors de son lancement sur l’Atom Écho mais ai laissé tombé ça par manque de temps mais je souhaite my remettre. Ou vaut-il mieux acheter sur Domadoo l’assistant vocal de Nabu Casa ?

Salut,
pour le atom echo utilise le firmware wake-word-voice-assisant. Ça inclut un media_player et le voice assistant.

Ils ont sorti speech to phrase qui peut remplacer Vosk ou porcupine.

Après le HA VPE est quand même plus puissant que l’atom echo. Un meilleur volume sonore de l’enceinte, une led circulaire… ce n’est pas le même prix :wink:

2 « J'aime »

Merci pour le retour, je vais me remettre le nez dedans :wink:

Ce sujet a été automatiquement fermé après 60 jours. Aucune réponse n’est permise dorénavant.