Skip to content

A real-time Swedish voice assistant demo built with Pipecat and Evroc cloud services.

License

Notifications You must be signed in to change notification settings

oloflarsson/TalkToEvroc

Repository files navigation

TalkToEvroc

TalkToEvroc Screenshot

A real-time Swedish voice assistant demo built with Pipecat and Evroc cloud services.

🎙️ Try the live demo →

📝 Read the blog post →

What is this?

This project demonstrates how to build a low-latency, real-time voice agent using:

  • Speech-to-Text: KBLab kb-whisper-large - Swedish Whisper model running on Evroc
  • LLM: GPT-OSS-120B via Evroc Think Models
  • Text-to-Speech: Piper TTS with Swedish NST voice from KB-labb
  • Framework: Pipecat for real-time voice AI pipelines
  • Transport: WebSocket with Protobuf serialization for browser connectivity

The voice assistant speaks Swedish and can answer questions about Evroc, European cloud infrastructure, and general topics.

Architecture

Browser (React) ←WebSocket→ FastAPI Server ←→ Pipecat Pipeline
                                                    ↓
                                    ┌───────────────┼───────────────┐
                                    ↓               ↓               ↓
                               Evroc STT      Evroc LLM       Piper TTS
                            (kb-whisper)    (GPT-OSS-120B)   (Swedish NST)

Prerequisites

  • Python 3.12+
  • uv (Python package manager)
  • Bun or Node.js (for frontend)
  • Evroc API keys for STT and LLM services

Setup

1. Clone the repository

git clone https://github.com/oloflarsson/TalkToEvroc.git
cd TalkToEvroc

2. Set environment variables

export EVROC_API_KEY="your-api-key"

3. Run locally

The easiest way to run locally for development:

./commands/talktoevroc-start

This starts:

  • Piper TTS server on http://localhost:5000
  • Backend API on http://localhost:7860
  • Frontend dev server on http://localhost:5173

Visit http://localhost:5173 in your browser.

Alternative: Docker

Build and run with Docker:

# Build (includes frontend)
./commands/talktoevroc-build

# Run
./commands/talktoevroc-run

Visit http://localhost:7860.

Project Structure

├── main.py             # Voice bot + FastAPI server (single file)
├── client/
│   └── src/            # React frontend
├── commands/           # Development scripts
├── config/
│   └── deploy.yml      # Kamal deployment config
├── Dockerfile
└── entrypoint.sh       # Container entrypoint

Deployment

The project uses Kamal for deployment. See config/deploy.yml for configuration.

./commands/talktoevroc-deploy

License

MIT License - see LICENSE for details.

Acknowledgments

  • Evroc for European cloud infrastructure and AI services
  • Pipecat for the voice AI framework
  • KBLab for Swedish language models
  • Piper for local TTS