You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
131 lines
3.3 KiB
131 lines
3.3 KiB
---
|
|
title: "Livekit Server"
|
|
description: "A robust, feature-rich voice server for your 01"
|
|
---
|
|
|
|
## Overview
|
|
|
|
[Livekit](https://livekit.io/) is a powerful, open-source WebRTC server and client SDK that enables real-time audio communication. It's designed for applications that require robust, scalable real-time features.
|
|
|
|
### Key Features
|
|
|
|
- Scalable architecture
|
|
- Extensive documentation and community support
|
|
- SDKs for various languages and platforms (web, mobile, desktop)
|
|
|
|
## Getting Started
|
|
|
|
### Prerequisites
|
|
|
|
Make sure you have navigated to the `software` directory before proceeding.
|
|
|
|
### Installing Livekit
|
|
|
|
Before setting up the environment, you need to install Livekit. Follow the instructions for your operating system:
|
|
|
|
- **macOS**:
|
|
|
|
```bash
|
|
brew install livekit
|
|
```
|
|
|
|
- **Linux**:
|
|
|
|
```bash
|
|
curl -sSL https://get.livekit.io | bash
|
|
```
|
|
|
|
- **Windows**:
|
|
[View the Windows install instructions here.](/server/windows-livekit)
|
|
|
|
### Environment Setup
|
|
|
|
1. Create a `.env` file in the `/software` directory with the following content:
|
|
|
|
```env
|
|
ELEVEN_API_KEY=your_eleven_labs_api_key
|
|
DEEPGRAM_API_KEY=your_deepgram_api_key
|
|
NGROK_AUTHTOKEN=your_ngrok_auth_token
|
|
ANTHROPIC_API_KEY=your_anthropic_api_key
|
|
```
|
|
|
|
Replace the placeholders with your actual API keys.
|
|
|
|
<CardGroup cols={3}>
|
|
<Card title="Eleven Labs" icon="microphone" href="https://beta.elevenlabs.io">
|
|
Get your Eleven Labs API key for text-to-speech
|
|
</Card>
|
|
<Card
|
|
title="Deepgram"
|
|
icon="waveform-lines"
|
|
href="https://console.deepgram.com"
|
|
>
|
|
Obtain your Deepgram API key for speech recognition
|
|
</Card>
|
|
<Card title="Ngrok" icon="wifi" href="https://dashboard.ngrok.com">
|
|
Sign up for Ngrok and get your auth token
|
|
</Card>
|
|
</CardGroup>
|
|
|
|
### Starting the Server
|
|
|
|
To start the Livekit server, run the following command:
|
|
|
|
```bash
|
|
poetry run 01 --server livekit
|
|
```
|
|
|
|
To generate a QR code for scanning
|
|
|
|
```bash
|
|
poetry run 01 --server livekit --qr
|
|
```
|
|
|
|
To expose over the internet via ngrok
|
|
|
|
```bash
|
|
poetry run 01 --server livekit --expose
|
|
```
|
|
|
|
In order to use the mobile app over the web, use both flags
|
|
|
|
```bash
|
|
poetry run 01 --server livekit --qr --expose
|
|
```
|
|
|
|
<Note>
|
|
Currently, our Livekit server only works with Deepgram and Eleven Labs. We are
|
|
working to introduce all-local functionality as soon as possible. By setting
|
|
your profile (see [Configure Your Profile](/software/configure)), you can
|
|
still change your LLM to be a local LLM, but the `interpreter.tts` value will
|
|
be ignored for the Livekit server.
|
|
</Note>
|
|
|
|
## Livekit vs. Light Server
|
|
|
|
- **Livekit Server**: Designed for devices with higher processing power, such as phones, web browsers, and more capable hardware. It offers a full range of features and robust performance.
|
|
|
|
- **Light Server**: We have another lightweight server called the Light server, specifically designed for ESP32 devices. It's optimized for low-power, constrained environments.
|
|
|
|
## SDK Integration
|
|
|
|
Livekit provides SDKs for various programming languages and platforms, allowing you to easily integrate real-time communication features into your applications.
|
|
|
|
### Available SDKs
|
|
|
|
- JavaScript/TypeScript
|
|
- React
|
|
- React Native
|
|
- iOS (Swift)
|
|
- Android (Kotlin)
|
|
- Flutter
|
|
- Unity
|
|
|
|
<Card
|
|
title="Explore Livekit SDKs"
|
|
icon="code"
|
|
href="https://docs.livekit.io/client-sdk-js/"
|
|
>
|
|
Find documentation and integration guides for all Livekit SDKs.
|
|
</Card>
|