ARLIResearch
Deep Analysis · Infrastructure Research

The Open Voice Agent Stack
ODS · Qwen Audio Agent · HF Speech-to-Speech

How three open-source projects assemble into a complete local voice-agent platform, architecture, economics, and every practical use case. Sources: github.com/Osmantic/ODS · github.com/QwenAudio/qwen-audio-agent · github.com/huggingface/speech-to-speech · qwenaudio.github.io

13.1KHF speech-to-speech stars · #1 GitHub Trending on v1.0 release
6.3KODS stars · 3,266 commits · 57 contributors
2.4KQwen Audio Agent stars · 27 releases · v1.11 stable
3,000+Reachy Mini robots running the HF pipeline in production

1. Executive Summary

Three open-source projects, released and battle-tested through 2026, now compose into something that did not exist eighteen months ago: a fully local, fully open voice-agent platform that runs on consumer hardware, exposes OpenAI-compatible interfaces, and costs nothing per token beyond electricity. ODS solves provisioning, it turns any PC, Mac, or Linux box into a private AI server by installing and wiring Ollama, Open WebUI, n8n, ComfyUI and privacy tooling automatically. HuggingFace's speech-to-speech solves the audio engine, a modular VAD→STT→LLM→TTS pipeline that speaks the OpenAI Realtime API event set over WebSocket and WebRTC, so any client built for OpenAI's hosted voice simply re-points its endpoint. Qwen Audio Agent solves presence, a realtime voice runtime where the agent stays in conversation while working, announcing results back mid-dialogue instead of falling silent.

The strategic significance is not any single component but the seams between them: every layer speaks a commodity protocol (OpenAI-compatible LLM slots, Realtime event sets, MCP tool calls), so each can be swapped without touching the others. This analysis maps the architecture, dissects each project's mechanism and economics, and enumerates the practical use cases, from a $0 personal assistant on a Mac mini to certified voice agents for enterprise telephony, robotics, healthcare, and one-person companies.

THE ONE-SENTENCE VERDICT

2024's voice AI was a demo you rented by the minute from a hosted API; 2026's voice AI is a stack you own. ODS provisions it, speech-to-speech powers it, Qwen Audio Agent converses through it, and the marginal cost of a conversation has collapsed to zero.

2. The Stack in One Picture

Each project occupies one layer. None of them tries to do the others' job, which is precisely why they compose cleanly.

Layer map, who owns what
OPEN VOICE AGENT STACK. LAYER OWNERSHIP LAYER 4 · YOUR AGENT HARNESS (the brain) Hermes · Claude Code · your own build, models, tools, MCP, skills, cron nobody here replaces it, all three projects plug into it LAYER 3 · PRESENCE RUNTIME (the interface) Qwen Audio Agent, full-duplex talk while working · orb/TUI/WebUI/remote "It's ready", results announced mid-conversation, never silent LAYER 2 · AUDIO ENGINE (ears + mouth) HF speech-to-speech. VAD → STT → LLM → TTS, OpenAI Realtime events over WS/WebRTC every component swappable · production-proven on 3,000+ Reachy Mini robots LAYER 1 · MODEL SERVER + SERVICES (the substrate) ODS. Ollama + Open WebUI + n8n + ComfyUI + RAG, one-command install private by default · no cloud · no subscriptions YOU speech in / speech out COMMODITY PROTOCOLS OpenAI-compat Realtime events WebSocket/WebRTC MCP tool calls swap any layer, keep the rest

3. ODS: The Provisioning Layer

Osmantic Deployment System (6.3K stars, Apache-2.0, stable release v2.6.0, 3,266 commits from 57 contributors) attacks the most boring problem in local AI: assembly. Running AI locally has technically been possible since Ollama shipped, but the real experience of wiring model inference, a chat UI, workflow automation, image generation, and privacy tooling into a coherent stack took a weekend of YAML archaeology. ODS turns that weekend into one command.

3.1 What it actually installs and wires

CapabilityComponents ODS wiresWhat you get
Local inferenceOllamaOpen models on your own hardware; GGUF quantization handled
Chat UIOpen WebUIChatGPT-style browser interface for every model on the box
Control planeODS dashboardModels, services, GPU status, setup, extensions — one place
Agents & workflowsn8n + voice stackAutomations that listen, speak, call tools, and execute
RAG & searchLocal retrieval stackPrivate document search; nothing leaves the machine
Image generationComfyUILocal diffusion without sending prompts to hosted APIs
Ops & privacyAuth, secrets, observabilityService auth, diagnostics and monitoring in one local stack

3.2 The engineering maturity signal

Most homelab projects fail on trust, not features. ODS is unusually explicit about this: operational changes are validated on a release-grade fleet and distro lab, zero-prerequisite bootstrap, fresh installs, full-model capability flows, lifecycle recovery, and a final "User Green" gate before release. Twelve installer aliases are verified on every pass; uninstall keeps sudo prompts terminal-safe; custom install roots resolve from the invoked script. The repo even carries CLAUDE.md, it is developed agent-first, and lists claude among its contributors.

WHY THIS MATTERS FOR DEPLOYMENT DECISIONS

Release validation is what separates an appliance from a science project. A stack that documents what a green run proves, fresh install, recovery, lifecycle, can be pinned and audited for production-like installs; ODS explicitly instructs forks and labs to pin tagged releases and keep their own validation receipts. This is the discipline consumer homelab tooling historically lacked.

3.3 ODS economics

$0License cost · Apache-2.0, forever
1Command to full stack (vs a weekend of manual wiring)
0Prompts leaving the machine in local mode
16–24GBRAM/VRAM class hardware that runs the stack

4. HuggingFace Speech-to-Speech: The Audio Engine

speech-to-speech (13.1K stars, Apache-2.0, v1.0.0 released September 2026, #1 GitHub Trending repository of the day) is the highest-leverage of the three projects. It is a low-latency, fully modular voice pipeline. VAD → STT → LLM → TTS, whose genius decision is its interface: it exposes the core OpenAI Realtime GA event set over WebSocket and WebRTC.

The speech-to-speech pipeline, every stage swappable
VAD → STT → LLM → TTS. PRODUCTION MODULAR PIPELINE 1. VAD Silero VAD voice activity enterprise-grade, runs on CPU 2. STT Parakeet TDT 0.6B (NVIDIA) swaps: Whisper, Paraformer, MMS 3. LLM any OpenAI- compatible slot hosted / HF providers / vLLM / llama.cpp 4. TTS Qwen3-TTS 1.7B CustomVoice swaps: Kokoro, ChatTTS, Supertonic EXPOSED INTERFACE: OpenAI Realtime GA event set WebSocket + WebRTC, any OpenAI Realtime client re-points its endpoint pip install speech-to-speech · one terminal · packaged mic/speaker client PRODUCTION: conversation backend for thousands of Reachy Mini robots

4.1 Why the OpenAI Realtime event set is the killer decision

OpenAI's Realtime API became the de-facto event vocabulary for speech agents: clients, integrations, and tooling across the industry already speak it. By exposing that same event set from an open, self-hosted pipeline, HF turned its project into a drop-in replacement, the README's headline animation literally shows a client switching an endpoint from hosted OpenAI to a self-hosted speech-to-speech server. The consequences:

4.2 Hardware envelopes and privacy modes

ConfigurationHardware planningData leaves the machine?
Apple Silicon, fully localMac with 16GB+ unified memoryNothing — audio, text, all local
NVIDIA GPU, fully local~24GB VRAM for unquantized LLM + speech modelsNothing — fully local stack
Local speech + hosted LLM~8GB available memory (16GB recommended)Text only — transcription, instructions, history; microphone audio stays local

PRIVACY ARCHITECTURE NOTE

Even the hybrid mode is architected around a privacy boundary: microphone audio never leaves, only the transcribed text goes to the hosted LLM. For industries where audio capture is regulated (healthcare, legal, finance) but cloud text is acceptable, this is a deliberately useful split. Full-local mode removes the boundary entirely.

4.3 Production pedigree

The most underappreciated fact in this analysis: this pipeline runs in production today as the conversation backend for thousands of Reachy Mini robots. HuggingFace's open desktop robot. Voice agents that merely work in a demo are common; voice agents with thousands of deployed hardware instances, handling real microphones, real rooms, and real interruption behavior, are not. v1.0.0 (September 2026) marks the API as stable: typed queues and handlers, strong signatures, split CI, pytest and ruff gates, uv packaging.

5. Qwen Audio Agent: The Presence Runtime

qwen-audio-agent (2.4K stars, Apache-2.0, v1.11 stable with 27 releases, v2.0 in active development, commits landing daily from the Qwen/Alibaba team) solves the problem every voice assistant demos badly and ships worse: agent presence. The framework's own tagline is the thesis, "realtime voice conversation with Agent execution, so conversation and work can happen together and results flow naturally into the dialogue."

Agent presence, talk while working
AGENT PRESENCE. CONVERSATION AND WORK IN PARALLEL YOU "book me a table tomorrow 7pm" "and add it to my calendar" AGENT "checking restaurants…" AGENT WORKING: tools → booking flow → calendar write runs in background "done, table for 2, 7pm, on your calendar" THE BROKEN PATTERN ELSEWHERE: agent goes silent while working user: "hello?" … agent: (nothing until task completes). Qwen's fix: the agent STAYS present FORMS: desktop orb · TUI · WebUI · remote client (phone, second machine) REUSES: your model, your tools, your MCP servers, your Skills, your memory CONTROL: talk while checking progress, add instructions, cancel mid-task

5.1 What "presence" means mechanically

The runtime decouples two channels that every other voice assistant couples: the conversation channel (always listening, always answering) and the work channel (tool calls, searches, multi-step tasks running in the background). While the work channel executes, the conversation channel stays live, you can keep chatting, check progress, add instructions ("actually, make it for four people"), or cancel the task. When work completes, the agent announces the result into the ongoing dialogue. The official site frames this as "Agent Presence": conversation and work happen together, and results flow naturally into the dialogue.

Architecturally it is a frontend over your existing harness: you choose a backend agent (reuse current models/tools/skills, or run frontend-only mode), the Gateway process connects voice clients to that backend, and the protocol layer was refactored for exactly this, gateway and protocol modules grouped in shared/, backend templates grouped in config/, runtime launchers grouped in scripts/. Personalization (names, communication preferences, things to remember) and a knowledge library (grounding answers in your own documents) are first-class features, not afterthoughts.

THE KEY DISTINCTION

Qwen Audio Agent is not a model and not a pipeline. It is the last mile between an agent and a human mouth-and-ears, the layer that makes an agent companionable rather than transactional. Wake word (你好千问), interruption handling, and task-cancellation mid-sentence are the hard parts, and they are all here.

6. How the Three Compose: Reference Architectures

The protocol seams make several stacks possible. Here are the four that matter:

Reference architectures, from $0 personal to certified enterprise
FOUR REFERENCE ARCHITECTURES A · PERSONAL, $0 PER MONTH Mac mini (16GB) or any Linux box ODS → Ollama (local LLM) + speech-to-speech (Parakeet + Qwen3-TTS) + Qwen Audio Agent orb privacy: absolute · nothing leaves the room B · PERSONAL + HOSTED BRAIN same box, but LLM slot → hosted frontier model audio local · text to provider max IQ per dollar · mic audio never uploaded switch to A any time (endpoint change) C · EMBEDDED / ROBOTICS already proven: Reachy Mini fleet speech-to-speech as conversation backend + robot's action API as the "tool layer" voice-first HMI for hardware · no cloud dependency relevant to Shenzhen robotics cluster D · ENTERPRISE VOICE AGENT self-hosted Realtime endpoint behind your firewall + your agent harness (certified via ARLI 8-axis) + guardrails + audit log + escrow payment rails telephony, support desks, compliance-sensitive lines audio stays in-house: the regulated-industry unlock

7. The Complete Use-Case Map

7.1 Individuals and one-person companies

Use caseStack sliceWhy it wins over SaaS
Voice-first personal assistantODS + S2S + QAA on a Mac mini$0/mo vs $20–200/mo subscriptions; answers grounded in your own documents via RAG; wake word; runs when the internet is down
Daily briefing while you make coffeeODS n8n workflows + voiceAgent summarizes your inbox, calendar, and news aloud — you listen, not read; cron-driven, no prompt typing
Hands-busy workQAA presence modeCooking, driving, gym: talk to your agent while it edits files, books things, researches; results announced mid-conversation
Private journaling / thought captureLocal STT + local LLMVoice notes never leave the machine; searchable locally via RAG
OPC back-officeODS n8n + agent harnessInvoice chasing, lead research, content pipelines as speaking workflows you supervise by voice
Language practiceS2S pipeline, any voiceFull-duplex conversation partner with interruption — a speaking partner that never tires, with zero per-minute cost

7.2 Enterprise and regulated industries

Use caseStack sliceThe unlock
Healthcare intakeFull-local S2S (hybrid mode if text-to-cloud is acceptable)Microphone audio is the regulated artifact — it never leaves; PHI stays in-house even when the LLM is hosted
Legal / finance front doorSelf-hosted Realtime endpoint + certified agentOpenAI Realtime-compatible so existing telephony integrations port; audit logs on your infra
Call-center triageS2S + guardrail layer + your harnessPer-seat cost collapses from hosted-minute pricing to hardware amortization; component swaps let you A/B STT/TTS per language
Industrial / shop floorS2S on local GPU + robot/PLC toolsNo cloud dependency on the factory floor; the Reachy Mini production pedigree is the reference
Sovereign / on-prem mandatesODS + S2S fully localGovernment and defense buyers who legally cannot use hosted voice now have an auditable open stack
AccessibilityAll layersVoice-first interfaces for low-vision users, elderly family members — private, always-on, no subscription cliff

7.3 Developers, robotics, and education

Use caseStack sliceNote
Robot voice HMIS2S (proven) + robot action APIThousands of Reachy Minis already run this exact pipeline
OpenAI Realtime client migrationS2S endpoint swapExisting Realtime integrations move on-prem with a URL change
Course material / labsAll threeA university lab can hand students a full voice-agent stack on lab machines — no API budget, no data policy exceptions
Agent harness evaluationS2S LLM slot → eval harnessDrive a text agent through a voice interface for realistic UX testing (pass^k under interruption)
Multilingual support desksS2S swappable STT/TTS per languageParaformer for Mandarin, MMS for low-resource languages — same pipeline, different slots

8. Comparative Economics

DimensionHosted voice AI (OpenAI Realtime class)This open stack
Per-minute conversation costHosted audio-minute pricing (tokens + audio)$0 marginal — electricity only
Voice privacyAudio (or transcripts) to providerAudio stays local in all modes; text stays local in full-local mode
Model choiceProvider's modelsAny — swap slots freely, mix hosted + local
Internet dependencyRequiredOptional — fully local runs offline after model download
Capital costNone16GB Mac / 24GB GPU box (already-owned machines qualify)
Ops burdenNoneReal but bounded: ODS release validation + pinned releases
Latency ceilingNetwork round-trip boundLocal-loop bound — typically lower on LAN
Compliance storyVendor attestationsYour own audit trail — logs, guardrails, signed certs

THE ECONOMIC INFLECTION

At hosted pricing, a voice agent that talks to your family every day is a business product priced for enterprise. On this stack it is a household appliance. The same collapse is repeating what happened to image generation: capability that was priced per-use becomes furniture-priced, and new categories (voice-first family interfaces, always-on robot companions, school lab environments) become viable precisely because the meter stopped running.

9. How the Three Projects Interlock: and Where They Don't Yet

9.1 What composes cleanly today

9.2 Integration gaps to expect

10. Risks and Open Questions

RiskSeverityMitigation
QAA is a v1.x product from a single vendor org (QwenAudio) — bus factor concentrated in Alibaba's prioritiesMediumApache-2.0 + the S2S independence path: the audio engine is portable if QAA stalls
Hardware floor is real: 16GB unified memory / 24GB VRAM for comfortable fully-local modeMediumHybrid mode runs on ~8GB; hosted LLM with local audio is the pragmatic default
Chinese-language bias in defaults (wake word 你好千问, Qwen models)Low-MediumEvery default is swappable — this is a config change, not a fork
Voice-specific safety: interruption abuse, prompt injection through audio, barge-in race conditionsUnderexploredThe industry's guardrail story (our ARLI 8-axis certification covers capability/safety/abstention for text agents) has no voice equivalent yet — open field
ODS's breadth (image gen, n8n, RAG) invites attack-surface sprawl on a home networkMediumODS ships centralized auth/secrets/observability — use them; don't expose the dashboard to the LAN-external world

11. Bottom Line

These three projects mark the moment voice AI stopped being a hosted API and became infrastructure you can own end to end. The layer boundaries are clean because each project solved exactly one problem: ODS the provisioning, speech-to-speech the audio engine, Qwen Audio Agent the presence runtime. The commodity protocols between them (OpenAI-compatible slots, Realtime events, MCP) mean the stack composes not because the authors coordinated, but because the industry converged on the same protocol vocabulary.

The practical guidance, distilled: start with HF speech-to-speech, it is the most mature, the most adopted, and its interface decision makes everything else replaceable. Add Qwen Audio Agent when you want presence and a real conversational UX rather than a pipeline demo. Add ODS when you want the whole model-server-plus-services substrate without hand-assembling it. And whatever you build, remember the two levers this stack hands you that hosted APIs never will: privacy is architectural, not contractual, and the marginal cost of another conversation is zero.

3Layers, one protocol seam each
12+Distinct use cases mapped across individual, enterprise, robotics
0Dollars of marginal cost per conversation, fully-local mode
1Endpoint change to leave (or return to) any hosted provider

ARLI membership: the notes from the workshop

One site of yours, measured, with the price for the work in the same document

ARLI, Inc., a Delaware corporation. Questions: hq@arliwork.com.