Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Make text LLMs listen and speak
| Date | Stars |
|---|---|
| 2026-07-31 | 1469 |
| 2026-08-05 | 1474 |
| 2026-08-06 | 1474 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
# Unmute
Try it out at [Unmute.sh](https://unmute.sh)!
Unmute is a system that allows text LLMs to listen and speak by wrapping them in Kyutai's Text-to-speech and Speech-to-text models.
The speech-to-text transcribes what the user says, the LLM generates a response in text, and the text-to-speech reads it out loud.
Both the STT and TTS are optimized for low latency and the system works with any text LLM you like.
If you want to use Kyutai STT or Kyutai TTS separately, check out [kyutai-labs/delayed-streams-modeling](https://github.com/kyutai-labs/delayed-streams-modeling).
A pre-print about the models is available [here](https://arxiv.org/pdf/2509.08753).
On a high level, it works like this:
```mermaid
graph LR
UB[User browser]
UB --> B(Backend)
UB --> F(Frontend)
B --> STT(Speech-to-text)
B --> LLM(LLM)
B --> TTS(Text-to-speech)
```
- The user opens the Unmute website, served by the **frontend**.
- By clicking "connect", the user establishes a websocket connection to the **backend**, sending audio and other metadata back and forth in real time.
- The backend connects via websocket to the **speech-to-text** server, sending it the audio from the user and receiving back the transcription in real time.
- Once the speech-to-text detects that the user has stopped speaking and it's time to generate a response, the backend connects to an **LLM** server to retrieve the response. We serve the LLM using [OpenRouter](https://openrouter.ai/), but you can also host your own using [VLLM](https://github.com/vllm-project/vllm).
- As the response is being generated, the backend feeds it to the **text-to-speech** server to read it out loud, and forwards the generated speech to the user.
## Setup
> [!NOTE]
> If something isn't working for you, don't hesistate to open an issue. We'll do our best to help you figure out what's wrong.
Requirements:
- Hardware: a GPU with CUDA support and at least 16 GB VRAM. Architecture must be x86_64, no aarch64 support is planned.
- OS: Linux, or Windows with WSL ([installation instructions](https://ubuntu.com/desktop/wsl)). Running on Windows natively is not supported (see [#84](https://github.com/kyutai-labs/unmute/issues/84)). Neither is running on Mac (see [#74](https://github.com/kyutai-labs/unmute/issues/74)).
We provide multiple ways of deploying your own [unmute.sh](unmute.sh):
| Name | Number of gpus | Number of machines | Difficulty | Documented | Kyutai support |
|---------------------------|----------------|--------------------|------------|------------|----------------|
| Docker Compose | 1+ | 1 | Very easy |✅ |✅ |
| Dockerless | 1 to 3 | 1 to 5 | Easy |✅ |✅ |
| Docker Swarm | 1 to ~100 | 1 to ~100 | Medium |✅ |❌ |
Since Unmute is a complex system with many services that need to be running at the same time, we recommend using [**Docker Compose**](https://docs.docker.com/compose/) to run Unmute.
It allows you to start or stop all services using a single command.
Since the services are Docker containers, you get a reproducible environment without having to worry about dependencies.
While we support deploying with Docker compose and without Docker, the Docker Swarm deployment is only given to show how we deploy and scale [unmute.sh](unmute.sh). It looks a lot like the compose files, but since debugging multi-nodes applications is hard, we cannot help you debug the swarm deployment.
### LLM access on Hugging Face Hub
You can use any LLM you want.
In production, we use GPT OSS 120B served over OpenRouter.
In the default local setup (Docker Compose/Dockerless), Unmute uses [Gemma 3 1B](https://huggingface.co/google/gemma-3-1b-it) as the LLM.
This model is freely available but requires you to accept the conditions to accept it:
1. Create a Hugging Face account.
2. AExcerpt of 15,292 characters
Read on GitHubVáclav Volhejn · @kyutai-labs · France
90
Gabriel de Marmiesse · Kyutai · France
32
Fikri Karim · @makeswift
3
Traun Leyden · Founder · Germany
2
1
1
1
1
1
Alexandre Défossez · France
1
Mark Zhang · United States
1
1
Would you bet a product on this? Bounded 0–100 and slow moving.
matched fp:76311b8f833c8829, llm:Repository description: "Make text LLMs listen and speak" (Python project)
matched fp:76311b8f833c8829, llm:Repository description: "Make text LLMs listen and speak" (Python project)
matched fp:76311b8f833c8829, llm:Repository description: "Make text LLMs listen and speak" (Python project)