From ae9a217da593d895499cf933a309b49c2856e31d Mon Sep 17 00:00:00 2001 From: killian <63927363+KillianLucas@users.noreply.github.com> Date: Thu, 29 Aug 2024 09:53:18 -0700 Subject: [PATCH] Livekit server docs --- docs/software/livekit-server.mdx | 76 +++++++++++++++++++++++++++----- 1 file changed, 65 insertions(+), 11 deletions(-) diff --git a/docs/software/livekit-server.mdx b/docs/software/livekit-server.mdx index e9edc9e..6748d65 100644 --- a/docs/software/livekit-server.mdx +++ b/docs/software/livekit-server.mdx @@ -1,23 +1,77 @@ ---- -title: "Livekit Server" -description: "Run your 01" ---- +## Overview - Make sure that you have navigated to the `software` directory. +Livekit is a powerful, open-source WebRTC server and client SDK that enables real-time audio and video communication. It's designed for applications that require robust, scalable real-time features. -This server leverages the Livekit SDK and is used for the mobile apps. +### Key Features +- Real-time audio and video communication +- Scalable architecture +- Support for various platforms (web, mobile, desktop) -It uses WebRTC for real-time communication and is very robust. +## Getting Started -To run the Livekit server: +### Prerequisites +Make sure you have navigated to the `software` directory before proceeding. + +### 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 +``` + +Replace the placeholders with your actual API keys. + + + + Get your Eleven Labs API key for text-to-speech + + + Obtain your Deepgram API key for speech recognition + + + Sign up for Ngrok and get your auth token + + + +### Starting the Server + +To start the Livekit server, run the following command: ```bash poetry run 01 --server livekit ``` - Speech to Text and Text to Speech are handled by Livekit plugins which - requires a Deepgram or ElevenLabs API key. +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. -Set env var API keys. +## 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 + + + Find documentation and integration guides for all Livekit SDKs. + \ No newline at end of file