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

Thanks OzGav. ( I did have to look up how to get the container logs though)
robert@fishhass:~$ docker-compose logs whisper
showed me error: argument --model: invalid choice
and
(choose from <FasterWhisperModel.TINY: 'tiny'> <FasterWhisperModel.TINY_INT8: 'tiny-int8'> <FasterWhisperModel.BASE: 'base'> <FasterWhisperModel.BASE_INT8: 'base-int8'> <FasterWhisperModel.SMALL: 'small'> <FasterWhisperModel.SMALL_INT8: 'small-int8'> <FasterWhisperModel.MEDIUM: 'medium'> <FasterWhisperModel.MEDIUM_INT8: 'medium-int8'>)

So I chose
command: --model medium-int8 --language en
and now I get

robert@fishhass:~$ docker-compose logs whisper
Attaching to whisper
whisper          | INFO:__main__:Ready

Thanks Cadster, see my last reply (medium-int8 worked)

1 Like

I have a Daikin air con unit in my lounge. It is configured with the official Daikin integration and set to the correct “area”. If I understand the programmed sentences correctly, I should be able to type/say into Assist:

What is temp in lounge?

And it should tell me. But it just says “Sorry, I couldn’t understand that.” Why? I know Assist is working generally because I can turn lights on/off with it.

You should be able to add the whisper to the Wyoming integration now.

You can look at the raw debug info to see if here are clues there. It could be that there isn’t a temperature sensor properly configured in the area named lounge or that there isn’t an area named lounge? I have had issues myself including the wrong type of apostrophe in the friendly name!

Yep, this is already on the roadmap. The satellite will be associated with an area, which will prime the intent recognizer so “turn off all lights” will turn off all lights in the current area.

6 Likes

I know that it is possible to deploy multiple Piper containers with different languages. But is there a way to easily discern which integration that you should call?

Usecase: Some things I want expressed in Danish, but others in English.

Neither the area nor air con unit have apostrophes in their names. The area is “Living Room” with an alias “Lounge”, and neither term works. The air con unit is associated with the correct area.

I’ll see if I can look at debug logs when I get a chance.

When you want to use Danish use the danish TTS service, when you want to use English use the English TTS service. Check in Developer Tools → Services to find them.

Probably look at the entity attributes. It likely needs to be in the sensor domain with device_class temperature

Thank you for the help. I am kind of stuck.

I have 2 sets of containers deployed through compose.

services:

  wyoming-piper-en:
    image: rhasspy/wyoming-piper
    container_name: piper-en
    ports:
      - 10200:10200
    volumes:
      - ${DOCKERCONFDIR}/piper/english:/data
    command: --voice en-gb-southern_english_female-low

  wyoming-whisper-en:
    image: rhasspy/wyoming-whisper
    container_name: whisper-en
    ports:
      - 10300:10300
    volumes:
      - ${DOCKERCONFDIR}/whisper/english:/data
    command: --model tiny-int8 --language en

  wyoming-piper-da:
    image: rhasspy/wyoming-piper
    container_name: piper-da
    ports:
      - 10201:10201
    volumes:
      - ${DOCKERCONFDIR}/piper/danish:/data
    command: --voice da-nst_talesyntese-medium

  wyoming-whisper-da:
    image: rhasspy/wyoming-whisper
    container_name: whisper-da
    ports:
      - 10301:10301
    volumes:
      - ${DOCKERCONFDIR}/whisper/danish:/data
    command: --model tiny-int8 --language da

Logs on all 4 are great and displaying they are ready, like this:

INFO:__main__:Downloading FasterWhisperModel.TINY_INT8 to /data
INFO:__main__:Ready

The one running on the regular ports 10200 and 10300, I am able to connect through the Wyoming integration with no issues, and they are working. But the one I mapped to nonconflicting ports 10201 and 10301, I am unable to connect with the Wyoming integration.

Anyone got any pointers?

The first port is the port on the host, the second port is the port in the container. This container always opens port 10200, so you need to change your mapping to:

      - 10201:10200

and likewise for the whisper-da container

      - 10301:10300
2 Likes

Beautiful, I hate ports! :smiley:

image

1 Like

Thanks for the tip. If that is indeed the issue, I’m assuming it can only be fixed by the HA team (since Daikin AC is a core integration)?

Could be the assist integration. All my windows and doors have Xiaomi sensors on them which show as binary_sensor which currently is not supported by assist :frowning:

it’s not lacking, here’s the code for esp32-D1 mini with inmp441 and max98357, pinout for connecting in top of yaml: ESP32-D1 mini Voice Assistant with pinout - Pastes.io

3 Likes

How is it related to M5Stack CoreS3?
I know of the esphome PR for INMP441 et al

Very cool stuff. Can we/how can we, train Piper with our own voices? That way we can have our own voice respond to the voice prompts. For example, you could have mom or dad respond to certain prompts as defined in the pipelines.

They should really update this blog post to specify that Whisper and Piper on a Raspberry Pi 4 is only supported, at least when running Home Assistant OS, on a 64-bit version of the OS (which was not available when I initially installed HA). If you are still running 32-bit like I was, the add-on installation page will tell you these add-ons are not compatible with your operating system.

2 Likes

Whole family could get some fun out of this!