Mycroft v1.5-popey
tl;dr: I followed a few videos, documentation sites, reviewed some source repositories, and used Home Assistant's Voice (PE) to make my own "Alexa" with Alan Pope's voice 😁
Going to put a bunch of links here for now, but once I have a more time I'll flush out all the information and create some type of Ansible playbook or big docker/podman-compose file to help other people do the same. Most of this was pretty straightforward, but some things weren't as much (e.g. using an Ollama version that has tool support & Whisper not supporting GPUs yet).
Software
- Home Assistant
- Ollama
- rhasspy + wyoming protocol
- whisper.cpp - STT
- Piper - TTS
- openWakeWord
- Containers (Docker engine)
- Nvidia Graphics - LLM acceleration
Hardware
- Home Assistant Voice (preview edition)
- TrueNAS Scale VM w/GPU Passthrough - Ollama
- 2 laptops for
- TTS, OpenWakeWord
- STT - wanted on one laptop w/GPU, but tl;dr: it is too old... & support is in progress RN 😢
Extra Links
A list of extra links for documentation, YT tutorials, and source repos to help understand things + piece them together
- Purchased HA Voice PE - https://cloudfree.shop/product/home-assistant-voice-preview-edition/
- Promo code (I used a long time ago): SELFHOSTED
- HA Voice PE docs - https://voice-pe.home-assistant.io/documentation/
- Networkchuck videos
- before HA Voice PE: https://youtu.be/XvbVePuP7NY
- review of HA Voice PE: https://youtu.be/An4IapvutzM
- Alan Pope's voice
- Heard it on one of the podcasts he was on, but here's a blog post about it: https://popey.com/blog/2022/10/blog-to-speech-in-my-voice/
- Led me to this, which is an archive for the next link: https://github.com/MycroftAI/mimic3
- Their voice models are here: https://huggingface.co/rhasspy/piper-voices/tree/main/en/en_GB/alan/medium
- Ode to Mycroft - https://web.archive.org/web/20151217182149/https://mycroft.ai/
- I always wanted a Mycroft device, but I'd always been too broke to afford them & then they went defunct. So, I made my wake word "Hey Mycroft" as a remembrance to their company.
Final product – Home Assistant's Assistant configuration