Skip to content

πŸŽ™οΈ VoicEra

Open-source infrastructure for self-hosted, real-time voice AI.

Build telephony agents in Indian languages β€” with your infrastructure, your data, and your choice of models and carriers.

Apache 2.0 License Python Docker Docs Contributions


Quick Start Β  Β· Β  Architecture Β  Β· Β  Low-Resource Languages Β  Β· Β  Contributing

Why VoicEra?

Voice AI is increasingly powerful, but production deployments can create lock-in around models, telephony, data, and infrastructure.

VoicEra is an open infrastructure layer that puts those choices back with the operator.

  • Self-hosted by design β€” run the platform on infrastructure you control.
  • Provider neutral β€” swap STT, TTS, LLM, and telephony providers without rewriting the platform.
  • Data ownership β€” call media, transcripts, and recordings stay in your infrastructure.
  • Public-good friendly β€” Apache 2.0 licensed, transparent, forkable, and deployable without a VoicEra-managed service.
  • Composable β€” use cloud APIs, local models, or a mix of both.

VoicEra is platform you own, not another AI vendor.

Quick start

Prerequisite: Docker must be installed and running before you start. Launch Docker Desktop (or your Docker daemon) first β€” the script fails if it can't reach the Docker daemon.

git clone https://github.com/COSS-India/VoicEra.git
cd VoicEra

./scripts/start-application-services.sh $(ARGS)

./scripts/start-application-services.sh $(ARGS) creates the environment, generates required secrets, and starts the stack.

Once running:

Service URL
Dashboard http://localhost:3000
API http://localhost:8000
OpenAPI http://localhost:8000/docs
Runtime http://localhost:7860
MinIO http://localhost:9001
FerretDB http://localhost:27018
./scripts/stop-application-services.sh $(ARGS)

See the documentation for production deployment and configuration.

You bring the models and telephony account. VoicEra connects them into a deployable system.

Architecture

flowchart LR
  C["Caller"] <--> T["Telephony<br/>Vobiz Β· Plivo"]

  T -->|"audio"| R["Voice Runtime<br/>Pipecat"]
  R <--> P["AI Providers<br/>STT Β· LLM Β· TTS"]

  U["Operator"] --> D["Dashboard"]
  D --> A["API"]
  A --> R

  A --> DB[("FerretDB<br/>PostgreSQL")]
  A --> S[("MinIO<br/>Media & artifacts")]
  A --> Q[("Redis")]
  Q --> W["Workers"]

  R --> S
  W --> DB
Loading

The platform separates control plane from real-time execution:

  • API β€” agents, configuration, campaigns, authentication, and orchestration.
  • Runtime β€” live call audio and model interaction.
  • Dashboard β€” operator interface.
  • Workers β€” asynchronous jobs and campaign execution.
  • Storage β€” self-hosted database, object storage, and queue.
  • Providers β€” interchangeable AI and telephony integrations.

Read the architecture guide β†’

Designed for digital public infrastructure

VoicEra follows principles that matter for Digital Public Goods:

Principle VoicEra
Open source Apache 2.0-licensed source code
Self-hostable Deploy on infrastructure you control
Interoperable Provider registries and defined integration contracts
No platform lock-in Swap model and telephony providers
Data sovereignty Operators control call data and storage
Reusable API-driven components and provider adapters
Inclusive First-class support for Indian languages and low-resource deployments
Transparent Public source, documentation, and contribution process

VoicEra is intended to be reused, adapted, and independently operated β€” including by governments, NGOs, public-interest organisations, and other open-source projects.

Extending VoicEra

Integrations live behind stable interfaces, so adding a provider should not require changing the core runtime.

Add an AI provider

Create a provider under:

apps/providers/{cloud,adapters,local}/

STT, TTS, and LLM providers register through the provider registry.

Add an AI provider β†’

Add a telephony provider

Implement the telephony contract under:

apps/telephony/providers/

Existing Vobiz and Plivo integrations provide reference implementations.

Add a telephony provider β†’

Run models locally

Use the optional model server to expose self-hosted STT, TTS, or LLMs through a common gateway.

Agent
  ↓
VoicEra
  ↓
Model Server
  β”œβ”€β”€ STT
  β”œβ”€β”€ TTS
  └── LLM

Built for low-resource languages

VoicEra is designed to make voice AI more accessible for low-resource and underserved languages β€” where commercial models, tooling, and high-quality training data are often limited.

It brings together open and interoperable integrations across speech and language technologies, including:

  • Bhashini β€” Indian-language STT and TTS
  • AI4Bharat β€” Indic speech and language models
  • Kenpath Vistaar β€” LLM support for underserved languages
  • Cloud providers β€” additional STT, TTS, and LLM options

The architecture makes it possible to combine these models, self-host them, or replace them as better language technologies emerge.

See the provider registry for the current list.

Repository

VoicEra/
β”œβ”€β”€ apps/
β”‚   β”œβ”€β”€ api/            FastAPI control plane
β”‚   β”œβ”€β”€ runtime/        Pipecat real-time voice runtime
β”‚   β”œβ”€β”€ providers/      STT Β· TTS Β· LLM integrations
β”‚   └── telephony/      Telephony integrations
β”œβ”€β”€ frontend/           Next.js dashboard
β”œβ”€β”€ model-server/       Optional self-hosted model gateway
β”œβ”€β”€ scripts/             Service lifecycle scripts
└── docs/                Mintlify documentation

Bring your own infrastructure

VoicEra does not provide telephony accounts or AI inference.

For a real phone deployment, you need:

  1. STT, TTS, and LLM access β€” cloud providers or self-hosted models.
  2. A telephony provider β€” currently Vobiz or Plivo.
  3. Infrastructure to run VoicEra and store your data.

For browser-based testing, telephony is not required.

Documentation

Contributing

VoicEra is built in the open.

Use β†’ Adapt β†’ Integrate β†’ Contribute

Before opening a pull request, read CONTRIBUTING.md.

Security issues should be reported privately according to SECURITY.md.

License

VoicEra is released under the Apache License 2.0.

Build voice infrastructure. Keep control.

About

A complete voice AI building block with telephony integration, featuring real-time speech-to-text, text-to-speech, and LLM-powered conversational agents.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

300 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages