stt - wyoming-funasr amd64
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