From Fedora Project Wiki
Home Assistant voice architechture and components. These are explained in 2023 December video.

Home Assistant voice system consists input and output streams that can be local or remote. Input stream can be activated physically by pressing a microphone button, or with a wakeword. These streams are connected to conversation process that also can be local or remote.

Both streams are implemented as add-ons, other operating system processes/daemons and they communicate with Home Assistant with Wyoming protocol which is an integration.

Following modules implement different parts of voice system:

  • pvporcupine - wakeword detector process.
  • wyoming-porcupine1 - wyoming protocol for wakeword
  • openai-whisper - remote OpenAI daemon for speec-to-text conversion
  • piper_tts - local daemon for text to speec conversion
  • wyoming-piper - wyoming protocol for Piper
  • whisper

modules implement the Python code but lack required parts to run them as system daemons.

Installation

This theory, in practise these might not work due version conflicts or upstream hasn't released tarballs. Manual compilation on Fedora fails.

$ pip install piper_tts whisper woming-piper wyoming-porcupine1 wyoming-faster-whisper 
$ TMPDIR=/var/tmp pip --no-cache-dir install --upgrade openai-whisper

See also


External links