Best Open-Source Voice Assistants and Speech Tools

Open-source voice stacks let you build an assistant that listens, thinks and speaks without sending everything to a cloud provider. The pieces are speech recognition, a language model, speech synthesis and, for hardware, a server that connects to the device.

This list covers all of those: a speech recognition toolkit, backend servers for Xiaozhi ESP32 voice hardware, on-device SDKs and runtimes, and desktop assistants that run locally.

AgentIndex · Updated 2026-10-14

Quick picks

  • FunASR — industrial speech recognition toolkit with streaming support; pick it for the recognition layer.
  • runanywhere-sdks — SDKs for running LLMs, speech-to-text and text-to-speech on-device in mobile apps.
  • xiaozhi-esp32-server — self-hosted backend for xiaozhi-esp32 voice hardware with MCP and a knowledge base.
  • xiaozhi-esp32-server-java — Java server and admin console for Xiaozhi ESP32 devices, with STT/TTS, several LLM providers, MCP, RAG and OTA updates.
  • jarvis — local-first desktop voice assistant that runs speech and language models on your own hardware.
  • OGAM — mobile and Mac app that runs chat, image generation, vision and voice fully on-device, with a paid Pro tier.

Side-by-side comparison

ToolWhat it isStarsLicenseLast pushInstall
FunASRIndustrial speech recognition toolkit with streaming support20.7kMIT2026-10-13pip install funasr
runanywhere-sdksSDKs for running LLMs, speech-to-text and text-to-speech on-device in mobile apps10.3kApache-2.02026-10-13npm install @runanywhere/core @runanywhere/llamacpp
xiaozhi-esp32-serverSelf-hosted backend for xiaozhi-esp32 voice hardware with MCP and knowledge base10.8kMIT2026-10-13git clone https://github.com/xinnan-tech/xiaozhi-esp32-server.git
xiaozhi-esp32-server-javaMIT Java server and admin console for Xiaozhi ESP32 voice devices, with STT/TTS, LLM providers, MCP tools, RAG and OTA updates1.4kMIT2026-09-27git clone https://github.com/joey-zhou/xiaozhi-esp32-server-java
py-xiaozhiPython desktop client for the Xiaozhi voice assistant, with wake word and MCP tools3.5kMIT2026-09-11pip install -r requirements.txt
jarvisLocal-first desktop voice assistant that runs speech and language models on your own hardware, with memory and MCP tools2.0kn/a2026-10-13git clone https://github.com/isair/jarvis.git
OGAMMIT mobile and Mac app that runs chat, image generation, vision, voice and tools fully on-device, with a paid Pro tier3.2kMIT2026-10-13git clone https://github.com/off-grid-ai/OGAM.git
osaurusmacOS runtime that runs local MLX and cloud models and exposes tools over MCP8.0kMIT2026-10-13brew install --cask osaurus

Tools in this list with an in-depth AgentIndex review: 8/8

How to choose

  • Decide where it should run: on a phone or Mac, on a desktop, on an ESP32 device with a server, or in the cloud.
  • Check what is local. Speech recognition, the language model and synthesis can each be local or cloud.
  • For hardware projects, check compatibility with your device and firmware.
  • Local models need disk and memory; some servers here report around 2 GB of RAM in their own tests.
  • Note licences: most are MIT or Apache-2.0, but one desktop assistant lists no standard licence.

FAQ

Can I run a voice assistant completely offline?

Yes, in principle: choose local speech recognition, a local language model and local speech synthesis. Tools such as Jarvis and Off Grid AI aim for fully on-device operation. Expect to download models and to need enough memory.

What is Xiaozhi ESP32?

It is an open-source voice assistant project for ESP32 hardware. The listed servers provide the backend that handles speech recognition, the language model and speech synthesis for those devices, and py-xiaozhi is a Python desktop client.

Which speech recognition tool should I start with?

FunASR is a widely used open-source toolkit with streaming support and is a good starting point for the recognition layer. If you want a complete assistant instead of a component, look at the desktop and server projects in this list.

How we compiled this list

Tools are chosen by hand from the projects in our index, favouring those we have reviewed in depth. Stars, licence, last-push date and install command come from each repository and are refreshed with the site data. We read each project's README and docs; we have not run every tool ourselves, so test before you depend on one.

More lists