I’ll give you a production-ready solution design, from simple → advanced AI.

 

Raspberry Pi 5
Home Assistant docker

Sherpa-ONNX Silero VAD
Sherpa-ONNX  STT

Ollama
LiteLLM
GitHub Models

Piper TTS
ESP32-S3 Box3B

 

Wyoming architecture

            ┌────────────────────────────────────────────────────────────────┐
            │                                                                │
            │  ┌──────────────────────────────────────────────────────────┐  │
            │  │                 Consumer Integrations                    │  │
            │  │        (Device-specific RF codes and entity types)       │  │
            │  │                                                          │  │
            │  │  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐       │  │
            │  │  │   STT       │  │   TTS       │  │             │  ...  │  │
            │  │  └─────────────┘  └─────────────┘  └─────────────┘       │  │
            │  └───────────────────────┬──────────────────────────────────┘  │
            │                          │ Use                                 │
            │                          ▼                                     │
            │  ┌──────────────────────────────────────────────────────────┐  │
            │  │               voice assistant domain                     │  │
            │  │                                                          │  │
            │  │  • RadioFrequencyEntity                                  │  │
            │  │  • Protocol definitions (OOK, FSK, etc.)                 │  │
            │  │  • async_get_transmitters() helper                       │  │
            │  └──────────────────────────────────────────────────────────┘  │
            │                          │ Implemented by                      │
            │                          ▼                                     │
            │  ┌──────────────────────────────────────────────────────────┐  │
            │  │              Wyoming Integrations                        │  │
            │  │          (Hardware-specific implementations)             │  │
            │  │                                                          │  │
            │  │  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐       │  │
            │  │  │   ESPHome   │  │  STT        │  │   TTS       │  ...  │  │
            │  │  └─────────────┘  └─────────────┘  └─────────────┘       │  │
            │  └──────────────────────────────────────────────────────────┘  │
            └────────────────────────────────────────────────────────────────┘

https://github.com/home-assistant/architecture/discussions/1365#discussion-9798132

 

stt -  wyoming-funasr arm

This is pure Wyoming, no HA add-on, no Docker required.

System requirements

Debian 12 (Bookworm)

amd64

 

Homepage:https://github.com/alibaba-damo-academy/FunASR

PyPi:https://pypi.org/project/funasr/

GitHub Repo:https://github.com/alibaba-damo-academy/FunASR

 

Install system deps

33  sudo apt update

   34  sudo apt install -y   python3 python3-venv python3-pip   git sox ffmpeg   libglib2.0-0

 

Create Python virtual environment 

35  mkdir -p ~/funasr-wyoming

   36  cd ~/funasr-wyoming

   37  python3 -m venv venv

   38  source venv/bin/activate

Note

Debian 12 blocks system-wide pip installs → must use venv

 

39  python --version

output

(venv) root@debian:~/funasr-wyoming# python --version
Python 3.11.2

 

 40  pip install --upgrade pip

Install PyTorch (CPU version)

amd64

pip install torch torchaudio --index-url https://download.pytorch.org/whl/cpu

arm64 (RPi 5)

pip install torch torchaudio

 

Install FunASR + Wyoming

pip install \
  funasr==1.0.27 \
  torch \
  torchaudio \ 
  wyoming==1.5.0 \
  numpy \
  soundfile

   41  pip install   funasr==1.0.27   torch torchaudio   numpy soundfile   wyoming==1.5.0

 

Install via PyPI

pip3 install -U funasr

output

Successfully installed funasr-1.3.0 modelscope-1.34.0

 

 

 

 

 

Download paraformer-zh model

mkdir -p /models && \
    curl -L \
      https://alphacephei.com/vosk/models/vosk-model-small-en-us-0.15.zip \
      -o /tmp/model.zip && \
    unzip /tmp/model.zip -d /models && \
    rm /tmp/model.zip

 

(venv) root@debian:~/funasr-wyoming# pwd

/root/funasr-wyoming

 

Wyoming FunASR STT server

from wyoming.asr import Transcribe, Transcript
from wyoming.audio import AudioChunk, AudioChunkConverter, AudioStart, AudioStop
from wyoming.event import Event
from wyoming.info import AsrModel, AsrProgram, TtsVoice, TtsProgram, Describe, Info, Attribution
from wyoming.server import AsyncEventHandler, AsyncTcpServer
from wyoming.tts import Synthesize

 

 

Test server manually

(venv) root@debian:~/funasr-wyoming# python3 ./server.py  

 

 

 

Comments


Comments are closed