Installing whisper & piper selfhosted help

I notice these pip packages have changed. Is it now recommended to run them in docker containers?

I’m making the step toward adding an Ai Avatar agent, who assists my guest, in their green room, and helps prep, and make them comfortable.

I tried to pull pip LiveKit-plugins-whisper and piper and got errors. Dug into it, and noticed you guys pulled support, and running differently.

So, do you have other packages, or was this move for security, and to insure it runs smoothly. And, as I said, should I pull them in with docker?

Once this one is down, I am moving to a coaching and athlete assistant. That will go along with my Ai video analysis app. Which is already reading video.

Please point me to the proper documentation. Or, is this on GitHub? Thanks !

There actually never were official livekit-plugins-whisper or livekit-plugins-piper packages from LiveKit, which is why pip can’t find them. Any package by those names would have been a community project, not something we removed.

The recommended way to use Whisper and Piper with Agents is to run them as inference servers (Docker works well for this) and connect through the OpenAI plugin. Both have server options that expose an OpenAI-compatible API, and the plugin lets you point at any endpoint:

Whisper (STT):

from livekit.plugins import openai

whisper_stt = openai.STT(
    base_url="http://localhost:8000/v1",  # your local Whisper server
    api_key="not-needed",
    model="whisper-1",
)

One important detail: Whisper isn’t a streaming model, so wrap it with VAD via StreamAdapter — the STT docs cover this pattern.

Piper (TTS): Same idea — run Piper behind an OpenAI-compatible endpoint and use openai.TTS(base_url=...).

Docs to bookmark: STT models, TTS models, OpenAI STT plugin guide, and the livekit/agents repo on GitHub — if you end up building a solid integration, plugin contributions are welcome there too.

Your avatar green-room agent sounds great — this stack is a well-trodden path for fully self-hosted agents. Good luck with the coaching assistant!

Thank you for the reply. I used docker-compose.yml And the proper pip packages. Spun up both with Ollama, and just got things wired up and working. I’m using Qwen3-VL-2B series, since it’s light weight, and saving to my db, so the model can be familiar with my guest. Added the admin panel to pass more info in, and set mood. Took me all day to finically get a clean build, and no pm2 restarts. But docker spun up clean, and was the easiest part. My agent.py was the doozy.

I found out that they are not LiveKit dependencies. The main thing is I finally have a talking avatar, and tickled it works.

Thank you for the great info, and reply. It did share more insight, and was helpful. Most of all, thank you for your time, and good wishes.

the docker file i used. I’ve added cpu and ram limits, and a few others settings. but, this will get you up, in docker. For those who are selfhosting, and need a quick startup.

docker-compose.yml

services:

# The Ollama Engine

ollama-service:

image: ollama/ollama:latest

container_name: ollama-service

ports:

  - "11434:11434"

dns:

  - 1.1.1.1

  - 8.8.8.8

volumes:

  - ./ollama-data:/root/.ollama

restart: unless-stopped

# Local Whisper API for Speech-to-Text

whisper-api:

image: onerahmet/openai-whisper-asr-webservice:latest

container_name: whisper-api

restart: unless-stopped

ports:

  - "9000:9000"

volumes:

  - ./whisper_models:/root/.cache/whisper

environment:

  - ASR_MODEL=base

  - ASR_ENGINE=openai_whisper

# Local Piper service for Text-to-Speech

piper-tts:

image: rhasspy/wyoming-piper:latest

container_name: piper-tts

restart: unless-stopped

ports:

  - "5000:5000"

command: --model en_US-lessac-medium.onnx

## pip installs

pip install livekit-agents livekit-plugins-openai livekit-plugins-silero livekit-plugins-piper-tts requests