🗣️

Creating a Local AI Voice Assistant

Jan 29, 2025

Building a Local AI-Powered Voice Assistant

Introduction

  • Discusses frustrations with cloud-based voice assistants (like Alexa)
  • Goal: Create a fully local voice assistant using an AI server (Terry)
  • Aim to follow a multi-level setup from basic to advanced

Level 1: Basic Setup

Parts List

  • Provides a parts list for basic and advanced setups
  • Mentions use of a Raspberry Pi and Home Assistant

Home Assistant

  • Local home automation software
  • Steps to set up Home Assistant
  • Integrates with voice assistant services like Rhaspy

Initial Setup

  • Use of open-source tools like Rhaspy for offline voice assistance
  • Installation of Whisper (STT) and Piper (TTS)
  • Addition of Assist microphone for local device input
  • Setting up a wake word (e.g., "Microft")

Level 2: Expanding the System

Wyoming Protocol

  • Utilizes Wyoming protocol for creating remote voice assistants
  • Connects Raspberry Pi as a satellite for remote voice assistance

Setting Up Wyoming Satellite

  • Installation and configuration of necessary drivers
  • Creating a service to run voice assistant on a Raspberry Pi
  • Testing and troubleshooting voice commands

Level 3: Advanced AI Integration

Using LLaMA (LLM)

  • Integrating the LLaMA model to enhance AI interaction
  • Hosting LLaMA on local hardware for faster processing

Offloading Whisper and Piper

  • Moving Whisper (STT) to a more powerful server
  • Similarly hosting Piper (TTS) for better performance

Enhancements

  • Utilizes Docker containers for managing STT and TTS services
  • Testing speed and accuracy improvements with offloaded processing

Additional Features and Troubleshooting

Custom Wake Word

  • Guide on creating a custom wake word using Google Colab
  • Implementation using Samba for file transfer

Custom Voice

  • Attempt to create a custom voice for Terry
  • Challenges faced in configuring a unique voice

Conclusion

  • Successful creation of a local voice assistant
  • Offloaded AI processing improves speed and functionality
  • Future goals to further customize wake words and voices

Final Thoughts

  • Enthusiasm for local AI solutions despite existing challenges
  • Importance of privacy and control with local processing

Tools and Resources

  • Links provided for various levels of setup and configuration
  • Encouragement to explore further customizations and integrations