# Linux-Voice-Assistant - Installation This guide describes how to install PipeWire, Docker, and then set up the Linux-Voice-Assistant using docker-compose manually. The Linux-Voice-Assistant is a voice assistant that runs locally and supports wake word detection, voice activity detection, and audio playback. ## Prerequisites: - A Linux system (tested on Debian/Raspberry Pi OS/Ubuntu) - Docker and Docker Compose installed (Optional but preffered) - A microphone and speaker for audio input/output ## Overview: The installation process can be divided into the following steps: ``` +-----------------------------------------------------------------------+ | LINUX-VOICE-ASSISTANT INSTALLATION | +-----------------------------------------------------------------------+ | v +-------------------------------+ | 0) Use Prebuilt Pi Image? | | +---------+---------+ | | | YES | NO | | | +---------+---------+ | +-------------------------------+ / \ / \ v v +-------+ +-----------------------+ | READY | | 1) INSTALL AUDIO SYS | | | +-----------------------+ +-------+ | v +-------------------------------------------+ | Audio Service Options | | +-------------+ +-------------+ | | | Existing | | Install | | | | Pipe/Pulse | | Audio Sys | | | +-------------+ +-------------+ | | | | | | v v | | +-------+ +-----+----------+ | | |READY | | a) PipeWire | | | +-------+ | b) PulseAudio | | | +-----+----------+ | | | | +--------------------------+----------------+ / \ v v +---------------------+ +---------------------+ | Audio Ready | | 2) INSTALL APP | +---------------------+ +---------------------+ | v +---------------------------+ | Application Options | | +-----------------------+ | | | a) Docker Compose | | | | b) Bare Metal | | | +-----------------------+ | | | | +-----------+-------#-------+ | v +---------------------------+ | Application Ready | +---------------------------+ ``` ## Installation Steps: ### Option A) Use Prebuilt Pi Image: The easyiest way to get started is to use the prebuilt image. This image comes with all necessary configurations and drivers preinstalled. - Download ready-to-use image from [PiCompose](https://github.com/florian-asche/PiCompose) - Change configuration in /compose/ directory if you need to. - You may need to reboot the board like 3 times for everything to be installed. Especially for the 2MicHat drivers. And give docker-compose some time to download the images. You can watch the logs in /var/log/picompose.log - More information within the PiCompose project. ### Option B) Install on your own: If you want to setup the software on your own hardware, for example if you want to use LVA on your linux desktop, you can use the docker image. #### Step 1: Install Audioservice: It is on your own to choose the audio service you want to use. - **a) Existing PipeWire/PulseAudio** Use if already installed - **b) Install PipeWire** (recommended): Install PipeWire and configure. See [Install Audioservice - Pipewire](install_audioserver.md) - **c) Install PulseAudio** Install PulseAudio as alternative. See [Install Audioservice - PulseAudio](install_audioserver.md) #### Step 2: Install Application: You can run the application in two ways: - **a) Docker Compose** (recommended): Install Docker, download compose files, configure and start. See [Install Application - Docker Compose](install_application.md) - **b) Bare Metal** Install dependencies, clone repo, setup and create systemd service. See [Install Application - Bare Metal](install_application.md)