mNo edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
[[File:Voice.components-202312.png|right|600px|thumb|Home Assistant voice architechture and components. These are explained in 2023 December [https://www.youtube.com/watch?v=djEkgoS5dDQ&t=8m48s video].]] | [[File:Voice.components-202312.png|right|600px|thumb|Home Assistant voice architechture and components. These are explained in 2023 December [https://www.youtube.com/watch?v=djEkgoS5dDQ&t=8m48s 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. | |||
$ 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 == | |||
* [[Home Assistant]] | |||
== External links == | |||
* [https://www.home-assistant.io/blog/2023/04/27/year-of-the-voice-chapter-2/ ] | |||
* [https://www.home-assistant.io/docs/assist/voice_remote_local_assistant/ ] |
Revision as of 13:39, 3 January 2024
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.
$ 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