From 8b9aa68633e6a8d18315c49e94f85d7d9da26d41 Mon Sep 17 00:00:00 2001 From: Mike Bird Date: Fri, 30 Aug 2024 19:19:43 -0400 Subject: [PATCH] Refactor documentation for server setup, including livekit and light servers, and add information about required dependencies for MacOS and Ubuntu, including PortAudio, FFmpeg, and CMake. --- docs/getting-started/getting-started.mdx | 18 ++++++++++++ docs/mint.json | 10 +++++-- docs/software/configure.mdx | 8 ++++++ docs/software/introduction.mdx | 2 +- docs/software/light-server.mdx | 16 ----------- docs/software/server/introduction.mdx | 19 +++++++++++++ docs/software/server/light-server.mdx | 28 +++++++++++++++++++ docs/software/{ => server}/livekit-server.mdx | 0 8 files changed, 82 insertions(+), 19 deletions(-) delete mode 100644 docs/software/light-server.mdx create mode 100644 docs/software/server/introduction.mdx create mode 100644 docs/software/server/light-server.mdx rename docs/software/{ => server}/livekit-server.mdx (100%) diff --git a/docs/getting-started/getting-started.mdx b/docs/getting-started/getting-started.mdx index ed9369c7..0883f47e 100644 --- a/docs/getting-started/getting-started.mdx +++ b/docs/getting-started/getting-started.mdx @@ -15,12 +15,24 @@ To run the 01 on your computer, you will need to install a few essential package To install poetry, follow the official guide here. +## What is Poetry? + +Poetry is a tool for dependency management and packaging in Python. It allows you to declare the libraries your project depends on and it will manage (install/update) them for you. We use Poetry to ensure that everyone running 01 has the same environment and dependencies. + ### MacOS +On MacOS, we use Homebrew (a package manager) to install the required dependencies. Run the following command in your terminal: + ```bash brew install portaudio ffmpeg cmake ``` +This command installs: + +- PortAudio: A cross-platform audio I/O library +- FFmpeg: A complete, cross-platform solution for recording, converting, and streaming audio and video +- CMake: An open-source, cross-platform family of tools designed to build, test and package software + ### Ubuntu Wayland not supported, only Ubuntu 20.04 and below @@ -29,6 +41,12 @@ brew install portaudio ffmpeg cmake sudo apt-get install portaudio19-dev ffmpeg cmake ``` +This command installs: + +- PortAudio: A cross-platform audio I/O library +- FFmpeg: A complete solution for recording, converting, and streaming audio and video +- CMake: An open-source, cross-platform family of tools designed to build, test and package software + ### Windows - [Git for Windows](https://git-scm.com/download/win). diff --git a/docs/mint.json b/docs/mint.json index 1ac34d92..bed8d7ff 100644 --- a/docs/mint.json +++ b/docs/mint.json @@ -44,8 +44,14 @@ "pages": [ "software/introduction", "software/installation", - "software/livekit-server", - "software/light-server", + { + "group": "Server", + "pages": [ + "software/server/introduction", + "software/server/livekit-server", + "software/server/light-server" + ] + }, "software/configure", "software/flags" ] diff --git a/docs/software/configure.mdx b/docs/software/configure.mdx index fdf52455..e40efd6b 100644 --- a/docs/software/configure.mdx +++ b/docs/software/configure.mdx @@ -133,3 +133,11 @@ For local TTS, Coqui is used. # Set your profile with a local TTS service interpreter.tts = "coqui" ``` + + + When using the Livekit server, the interpreter.tts setting in your profile + will be ignored. The Livekit server currently only works with Deepgram for + speech recognition and Eleven Labs for text-to-speech. We are working on + introducing all-local functionality for the Livekit server as soon as + possible. + diff --git a/docs/software/introduction.mdx b/docs/software/introduction.mdx index b52d7392..e0b08669 100644 --- a/docs/software/introduction.mdx +++ b/docs/software/introduction.mdx @@ -43,7 +43,7 @@ One of the key features of the 01 ecosystem is its modularity. You can: To begin using 01: 1. [Install](/software/installation) the software -2. [Run](/software/run) the Server +2. [Run](/software/server/introduction) the Server 3. [Connect](/hardware/01-light/connect) the Client For more advanced usage, check out our guides on [configuration](/software/configure). diff --git a/docs/software/light-server.mdx b/docs/software/light-server.mdx deleted file mode 100644 index 5be82540..00000000 --- a/docs/software/light-server.mdx +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: "Light Server" -description: "Run your 01" ---- - - Make sure that you have navigated to the `software` directory. - -The Light server streams bytes of audio to an ESP32 and the Light Python client. - -It is very lightweight. - -To run the Light server: - -```bash -poetry run 01 --server light -``` diff --git a/docs/software/server/introduction.mdx b/docs/software/server/introduction.mdx new file mode 100644 index 00000000..f2661933 --- /dev/null +++ b/docs/software/server/introduction.mdx @@ -0,0 +1,19 @@ +--- +title: "Choosing a server" +description: "The servers that powers 01" +--- + + + + Light Server + + + Livekit Server + + + +## 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. diff --git a/docs/software/server/light-server.mdx b/docs/software/server/light-server.mdx new file mode 100644 index 00000000..df14ce2b --- /dev/null +++ b/docs/software/server/light-server.mdx @@ -0,0 +1,28 @@ +--- +title: "Light Server" +description: "A lightweight voice server for your 0" +--- + +## Overview + +The Light server streams bytes of audio to an ESP32 and the Light Python client. + +### Key Features + +- Lightweight +- Works with ESP32 +- Can use local options for Speech-to-Text and Text-to-Speech + +## Getting Started + +### Prerequisites + +Make sure you have navigated to the `software` directory before proceeding. + +### Starting the Server + +To start the Light server, run the following command: + +```bash +poetry run 01 --server light +``` diff --git a/docs/software/livekit-server.mdx b/docs/software/server/livekit-server.mdx similarity index 100% rename from docs/software/livekit-server.mdx rename to docs/software/server/livekit-server.mdx