Year of the Voice - Chapter 2: Let's talk

Anyone successfully created a yaml self? I run into 2 issues:

  1. a lot of compile warnings. (dpaste/6r36P (Python))
    2. I cannot get the M5 stack in boot load.
    → I did it now via browser instead of esphome flasher… seems some sort of baud issue.

pressed both buttons on boot, left-face button,longer, shorter…

Using 'COM12' as serial port.
Connecting.....
Detecting chip type... ESP32
Connecting.....

Chip Info:
 - Chip Family: ESP32
 - Chip Model: ESP32-PICO-D4 (revision 1)
 - Number of Cores: 2
 - Max CPU Frequency: 240MHz
 - Has Bluetooth: YES
 - Has Embedded Flash: YES
 - Has Factory-Calibrated ADC: YES
 - MAC Address: 4C:75:25:A6:3E:E4
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 460800
Changed.
Unexpected error: Reading chip details failed: Timed out waiting for packet header

EDIT: Despite of the compile warnings it seems to do the job. Now I can manually update esphome :slight_smile:

is it possible to create an option for the new voip integration to enter an external sip phone server with credentials? So that i can use my home telephone for home assistant assist, connected through a modem.

1 Like

Is there a way to get the wav file that was fed to whisper?
Recognition rate is quite low for me, but I have no way to tell if it’s whisper or the microphone quality/setup.

1 Like

I see there is support for the Grandstream HT801.

I don’t have one of those but I do have a couple Obihai obi200 devices which appear to perform the same function as the Grandstream.

Does anyone know if it is possible to set up the obi200 to work with the Voice Over IP integration?

Check the device’s manual for direct SIP dialing.

I’ve been working on this as I use an Obi202. I was able to get the Obi202 configured to call HA and the entities show up, but it looks like the VOIP integration today only supports the newer OPUS codec, not any other SIP standard codecs, so it isn’t working.

I’m hoping they will support older codecs (G711U, G771A, G729) which will enable a TON of existing ATA devices (and straight up SIP clients) to work.

I have opened a feature request, please engage there! https://community.home-assistant.io/t/support-for-other-codecs-in-voip-integration/568580

Maybe I missed something. The on/off switch control works?
The light entities work for me, but not the switches.

Concerning the implementation of wake-word detection, you guys should definitely have a look at what this guy has done. He did the whole process two years ago already. Saw the video already a few months back: Build your own Alexa with the ESP32 and TensorFlow Lite - YouTube

The code is also available: GitHub - atomic14/diy-alexa: DIY Alexa

1 Like

Wakeword already worked pretty well in Rhasspy, so I assume it’s just a matter of time…

1 Like

Wait, does this means you will force https in the app ?, meaning noone with local installation can use it ?, or have to run HA over https ?

For me it works fine on my android, i have not configured SSL either places.

In my opinion, it will work so that the microphone will communicate directly from assist and not through the browser.

2 Likes

ahh ok, make sense ( well if i don’t have to install SSL , that is ) :slight_smile:

Did you find a way to install multiple voices?

Any way to include multiple voices via command:?

Hi :slight_smile:
Any plans for a wyoming-whisper GPU variant/tagged docker image?
Thanks

When I try to manually add the Wyoming Integration I get the message
“Failed to connect”
It might be that I have not input the correct Host and Port.
Should the host be simply the IP address or localhost and what port should I specify?

My docker-compose file includes:-

    whisper:
      container_name: whisper
#    command: --model medium --language nl
      command: --model medium --language en-us
      image: rhasspy/wyoming-whisper
      volumes:
        - ./whisper:/data
      environment:
        - TZ=Pacific/Auckland
      restart: unless-stopped
      ports:
        - 10300:10300

    piper:
      container_name: piper
      image: rhasspy/wyoming-piper
#    command: --voice nl-nathalie-x-low
      command: --voice en-us-ryan-low
      volumes:
        - ./piper:/data
      environment:
        - TZ=Pacific/Auckland
      restart: unless-stopped
      ports:
        - 10200:10200

and I get the following:-

robert@fishhass:~$ docker-compose pull
Pulling homeassistant ... done
Pulling whisper       ... done
Pulling piper         ... done
robert@fishhass:~$ docker-compose up -d
home-assistant is up-to-date
Recreating whisper ... done
Recreating piper   ... done

The ports are as shown in your compose file. The IP will be the IP of the host running docker.

Thanks OzGav.
I was trying using 10.1.1.12 on port 10300
I just tried 10.1.1.12:10200 and now Piper works
but I cannot get 10.1.1.12:10300 to work (for whisper)

Check the logs to see if Whisper is actually starting. I had issues finding a combination of model and language that worked. Edit: you might want to drop the model size back as well otherwise you need to be running on a fast machine

I still have the same problem (on my working machine and on a test machine).

robert@fishhass:~$ docker-compose config
services:
  homeassistant:
    container_name: home-assistant
    environment:
      TZ: Pacific/Auckland
    image: homeassistant/home-assistant:stable
    network_mode: host
    privileged: true
    restart: always
    volumes:
    - /srv/homeassistant:/config:rw
  piper:
    command: --voice en-us-ryan-low
    container_name: piper
    environment:
      TZ: Pacific/Auckland
    image: rhasspy/wyoming-piper
    ports:
    - published: 10200
      target: 10200
    restart: unless-stopped
    volumes:
    - /home/robert/piper:/data:rw
  whisper:
    command: --model medium --language en
    container_name: whisper
    environment:
      TZ: Pacific/Auckland
    image: rhasspy/wyoming-whisper
    ports:
    - published: 10300
      target: 10300
    restart: unless-stopped
    volumes:
    - /home/robert/whisper:/data:rw
version: '3'