Projet voice control

Essai avec Automate à la place de tasker.

1 « J'aime »

C’est quel modèle ta tablette ? Un petit lineage est possible ?

une Matepad T10 (AGS3-W09), mais je crois que lineage est pas possible.

Salut @Krull56 et @Bob ,
j’ai reçu mon m5stick et le hat spk. Il y a déjà un exemple de configue sur esphome, mais qui finalement est pas complète.

je veus tester un assistant vocal, mais je galère a configurer les GPIO pour l’audio.

le micro

le speaker

le stick

code officielle esphome

i2s_audio:
  id: bus_i2s
  i2s_lrclk_pin: G26 #??
  i2s_bclk_pin: G0  # ??

microphone:
  - platform: i2s_audio
    i2s_din_pin: GPIO34 
    i2s_audio_id: bus_i2s
    adc_type: external
    pdm: true
    id: mic

speaker:
  - platform: i2s_audio
    id: echo_speaker
    i2s_dout_pin: GPIOxx #??
    dac_type: external
    mode: mono

la doc du stick pour les pins: https://docs.m5stack.com/en/core/M5StickC%20PLUS2
la doc de hat spk pour les pins: https://docs.m5stack.com/en/hat/hat-spk

je sais pas trop quoi mettre en i2s_audio pour les GPIO, vous auriez une idée ?

j’ai réussi a sortir de la musique et TTS, avec ce code ( sans i2s_audio ajouter ). Mais quand ta pas de musique, ta un bruit continu de friture :rofl:

media_player:
  - platform: i2s_audio
    name: ESPHome I2S Media Player
    dac_type: internal
    mode: left

Hello

y a pas trop le choix puisque les GPIO exposées sur le connecteur sont très limitées.
l’I2S_dout_pin ne peut être que sur GPIO G36/G25

Ok, je vais tester ca:

i2s_audio:
  id: bus_i2s
  i2s_lrclk_pin: GPIO26
  i2s_bclk_pin: GPIO0

microphone:
  - platform: i2s_audio
    i2s_din_pin: GPIO34 
    i2s_audio_id: bus_i2s
    adc_type: external
    pdm: true
    id: m5stick_micro

speaker:
  - platform: i2s_audio
    id: m5stick_speaker
    i2s_dout_pin: GPIO36
    i2s_audio_id: bus_i2s
    dac_type: external
    mode: mono

J’ai pas regardé le bon modèle de haut parleur :crazy_face:
Mais ça doit pas changer grand chose vu le peu de pins de dispos

1 « J'aime »

Sauf erreur de ma part ce HP n’est pas I2S contrairement au modèle SPK2 (que j’avais initialement regardé pour te répondre) , et vu qu’il utilise les pins 0 et 26 ( utilisée pour le bus i2S du micro ou HP I2S), à mon avis c’est cuit.
Ca explique aussi la « friture » , liée au bus

Et y a quand m^me moins grossier pour se la jouer à la K2000 :stuck_out_tongue_winking_eye: :rofl: :rofl:

(1) Home Assistant « Assist » on Android Wear - YouTube

1 « J'aime »

Ah, erreur de ma part dans le choix alors :sweat_smile:
si je prends le Hat-SPK2 , ca devrais être bon ?

edit:
commander, plus cas attendre 10j :sleepy:

Normalement oui puisqu’il utilisera le bus i2s sur pin 0 et 26 + entree sur pin 36/25

1 « J'aime »

Je comprends mieux pourquoi je galère depuis hier a faire marché ce HP . Merci pour l’éclaircissement des GPIO .

Bonjour @WarC0zes, @Krull56 et tout le monde,
Retour de we donc direct sur HA et son forum, top de suivre tous ces projets vocaux.
J’ai peut être trouvé une raison à mes soucis de media_player, en attendant, en laissant juste un en fonctionnement, je pilote tout à la voix et c’est top.
A très vite.
Bob

Hello

Alors ? Il vient d’ où le pb ?
Tu nous tease mais pas plus d’infos :grin:

@+

Édit: il vient d’où TON pb ? ( car pas le cas pour moi :grin:)

1 « J'aime »

@WarC0zes , testé avec Automate et ça fonctionne aussi :grin:

1 « J'aime »

Voilà le flow Automate

Je fais des tests pour vérifier la piste :wink:

Salut,
speaker spk2 reçu, je vais pouvoir continuer les essaies. J’ai trouvé des informations ( qui été pas bonne sur esphome l’exemple ) pour les GPIO i2s_audio ( il était inverser ).

i2s_audio:
  i2s_lrclk_pin: GPIO0
  i2s_bclk_pin: GPIO26  

microphone:
  - platform: i2s_audio
    id: echo_microphone
    i2s_din_pin: GPIO34
    adc_type: external
    pdm: true

speaker:
  - platform: i2s_audio
    id: echo_speaker
    i2s_dout_pin: GPIO36
    dac_type: external
    mode: mono

J’ai lu ( dans la doc du M5StickC PLUS , pas le 2 l’ancien.) , que si j’utilise le GPIO 36, le GPIO 26 doit être mis en flotant.

  • G36/G25 share the same port, when one of the pins is used, the other pin should be set as a floating input
  • For example, to use the G36 pin as the ADC input, Configuration the G25 pin as FLOATING

pour arduino:

setup()
{
   M5.begin();
   pinMode(36, INPUT);
   gpio_pulldown_dis(GPIO_NUM_25);
   gpio_pullup_dis(GPIO_NUM_25);
}

Pour le GPIO25 sous esphome, ca serais ca la configuration ?

  pin:
    number: 25
    mode:
      input: true
      pullup: true
      pulldown: true

si l’arduino c’est ça

setup()
{
   M5.begin();
   pinMode(36, INPUT);
   gpio_pulldown_dis(GPIO_NUM_25);
   gpio_pullup_dis(GPIO_NUM_25);
}

alors pour espHome c’est ça

pin:
    number: 36
    mode:
      input: true
    number: 25
    mode:
      pullup: true
      pulldown: true
1 « J'aime »

j’y étais presque, input: true en trop pour le 25 :wink:
merci