#ESP32 (USB-C version) voice assist not working

1 messages · Page 1 of 1 (latest)

dusk tulip
#

Hi, so I've been battling with my ESP to get the voice assistant to work, but with no luck. i followed this guide: https://www.youtube.com/watch?v=zhlIaBG3Ldo&t=655s
Any logs I assume could give anything (wyoming, ESPhome devices log), hasn't shown any indication on device not working All should be ok. I've tried another power supply, checked wiring for the mic, tried out speech-to-text on both whisper and cloud as well as in TTS (i had speaker connected at one point but no sound was generated other than random static crackling), re-flashed a few times on 2 different ESP devices.

What would be the best indicator to check wheteher the ESP is actually listening and what does it hear?

#

In settings - voice assistants - ... -debug shows no events that were caused by using wakeword.
also I've tried "hey jarvis", "alexa" and "ok nabu" as wakewords.

#

One note i have my ESP32 in NoT network (as well as other ESPhome devices and they work fine)... does this need to be in IoT or in the same network as my HA server? AFAIK the data goes via HA server so IMO ESP does not need connection to WAN directly...?

#
esphome:
  name: assist-test
  friendly_name: Assist_test
  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: esp-idf
      version: recommended
# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "NOTFORYOU"

ota:
  password: "NOTFORYOU"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "NOTFORYOU"
    password: "NOTFORYOU"

captive_portal:
    

i2s_audio:
  i2s_lrclk_pin: GPIO27
  i2s_bclk_pin: GPIO26

microphone:
  - platform: i2s_audio
    id: mic
    adc_type: external
    i2s_din_pin: GPIO13
    pdm: false

speaker:
  - platform: i2s_audio
    id: big_speaker
    dac_type: external
    i2s_dout_pin: GPIO25
    mode: mono
    
voice_assistant:
  microphone: mic
  use_wake_word: false
  noise_suppression_level: 2
  auto_gain: 31dBFS
  volume_multiplier: 2.0
  speaker: big_speaker
  id: assist

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(assist).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(assist).set_use_wake_word(false);
daring musk
#

is the mic you are using an inmp441? with a max98357 Dac/Amp\

#

as long as the esp and HA are on the smae network and there is no restrictions. the setup requires the esp to have access to all udp ports as a random one will be created by the pipeline when it streams audio to the esp

dusk tulip
#

Yes, that is the combo.
And i see, that is (most likely) the problem then, tho i thought that all access between HA to/from ESP devices is allowed but i might test them in the same network.

#

@daring musk ping bc forgot to "reply"

daring musk
#

if you open the logs for the device from the ESPHome dashboard, this should give a good indication as to what is happening. if you could copy and paste the logs in here ,