Allow multiple languages in HA Assist

Currently Assist only understands prompts in the language set for the user interface. In my case I have it set to english (for easier troubleshooting), but I would like to be able to make Assist prompts in polish (without changing UI’s language).

Assist already supports multiple languages, so it shouldn’t be hard to detect prompt’s language when it’s different than UI’s.

This might be similar to this FR.

2 Likes

For sure they are similar, but the other one focuses on setting different languages for Assist and UI, while mine is more about using multiple languages within Assist (possibly at the same time).

Maybe link to my FR could be added to @aviadlevy 's post (as it’s more general and popular), but I would prefer to keep them separate.

I think there is a place for both requests.
Since I presume that adding support for multiple languages could be more complicated then being able to choose different language, I focused my request on the “easier” feature in hope that it might be done soon, but I’ll add my vote for this request as well

Are you thinking of running two (or more) wakeword and Whisper/Piper instances simultaneously ?

Can both Voice Assist wakeword processes listen to the same microphone audio, then channel the request through the appropriate wyoming path ?

OR

do you want to combine words from both languages in the same voice command ?

I Found a solution, create a new Voice assistant, eu can change the stt configuration directly in the file , i did and works…
path : \config.storage\assist_pipeline.pipelines

1 Like

Thanks for that information! Yesterday I was able to make the assist STT multilingual, but I don’t understand why lol.

I am using whisper V3 Large Turbo with Groq and also this HACS custom integration so I can use the Groq whisper in HA.

From what I understand, if you send to whisper the parameters like this:

task=“transcribe”, language=None

It will understand any language. It can even understand different languages in the same sentence.

So what I did was go to that file assist_pipeline.pipelines and change the language to None like this:

“stt_language”: “None”,

After restarting HA, I starting having issues using that assist on the voice PE. The voice PE made the wake noise when I said the wake word, but it didn’t turned the ring light on and when I went to the Debug section, it said there were no events.

So I went to the assist configuration UI and saw that the language I had before (Spanish) was already selected and when I clicked on the Update button, it changed the configuration file back to:

“stt_language”: “es”,

Now it can understand multiple languages for some reason lol. I tried speaking to it full sentences in English and it understood perfectly (it didn’t before) and responded in Spanish. We had a common issue with my wife that when we wanted the voice PE to play a song that the name was in English, it didn’t understood that part. Now we don’t have that issue. I even tried saying some phrases in other languages like “parli italiano?” (Italian) and “Domo arigato” (Japanese) and it seems to be transcribing those phrases correctly (although I didn’t test that before, so I don’t know if these phrases worked before these changes).

I think there should be an option in the STT language drop-down to say “Multi” or “None” that will put “None” in the language parameter that is being sent to whisper. That way we could have the assist understand multiple languages. Hopefully they can add a solution like this in the future.

1 Like