polytalk
Privacy-first, self-hosted real-time speech-to-speech translation.
A self-hosted real-time speech translation tool that converts spoken audio into another spoken language using your own speech-to-text, translation, and text-to-speech services.
PolyTalk Community Edition is a self-hosted tool for real-time speech translation. You speak into your microphone in one language, and the system plays back the translation in another language within a few seconds. The entire pipeline runs on your own server rather than sending audio to a third-party cloud service, which is the main reason to choose it over hosted alternatives.
The pipeline has four steps. A speech-to-text service converts incoming microphone audio into text. A translation service converts that text into the target language. A text-to-speech service converts the translated text into audio. The browser then plays that audio back. Each of these three services is configurable: you can point PolyTalk at external AI APIs you already have keys for, or you can run open-source models locally using the included Docker Compose setup, which bundles a Whisper-based transcription service and a Piper text-to-speech service.
For the translation step, the tool supports several API formats including the standard OpenAI chat format (compatible with Ollama, vLLM, LM Studio, LiteLLM, and similar tools), Anthropic-style APIs, and Gemini-style APIs. You configure which format and which model to use through environment variables and a YAML configuration file. A mock mode lets you test the browser interface without needing any API keys at all.
The frontend is plain JavaScript with no framework. The backend is a Python FastAPI application. Docker Compose is the recommended way to run everything together, and there is a GPU-accelerated option for the speech-to-text step if you have compatible hardware. Configuration is split between a YAML file for application behavior settings and a .env file for API keys and service URLs. The project is licensed under AGPL-3.0 and maintained by BizzAppDev Systems.
Where it fits
- Run live speech translation on your own server instead of sending audio to a third-party cloud service.
- Connect PolyTalk to an existing OpenAI-compatible or Anthropic-style API you already have keys for.
- Self-host the full pipeline with Docker Compose using local Whisper and Piper models.
- Test the browser interface in mock mode without any API keys.