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.
Near-Realtime audio transcription using self-hosted Whisper and WebSocket in Python/JS
| Date | Stars |
|---|---|
| 2026-07-24 | 959 |
| 2026-07-25 | 959 |
| 2026-07-28 | 959 |
| 2026-07-30 | 959 |
| 2026-08-06 | 959 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
# VoiceStreamAI
[](https://opensource.org/licenses/MIT)
VoiceStreamAI is a Python 3 -based server and JavaScript client solution that
enables near-realtime audio streaming and transcription using WebSocket. The
system employs Huggingface's Voice Activity Detection (VAD) and OpenAI's Whisper
model ([faster-whisper](https://github.com/SYSTRAN/faster-whisper) being the
default) for accurate speech recognition and processing.
## Features
- Real-time audio streaming through WebSocket.
- Modular design for easy integration of different VAD and ASR technologies.
- Factory and strategy pattern implementation for flexible component management.
- Unit testing framework for robust development.
- Customizable audio chunk processing strategies.
- Support for multilingual transcription.
- Supports Secure Sockets with optional cert and key file arguments
## Demo Video
https://github.com/alesaccoia/VoiceStreamAI/assets/1385023/9b5f2602-fe0b-4c9d-af9e-4662e42e23df
## Demo Client

## Running with Docker
This will not guide you in detail on how to use CUDA in docker, see for
example [here](https://medium.com/@kevinsjy997/configure-docker-to-use-local-gpu-for-training-ml-models-70980168ec9b).
Still, these are the commands for Linux:
```bash
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
&& curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
&& curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | \
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker
```
You can build the container image with:
```bash
sudo docker build -t voicestreamai .
```
After getting your VAD token (see next sections) run:
```bash
sudo docker volume create huggingface_models
sudo docker run --gpus all -p 8765:8765 -v huggingface_models:/root/.cache/huggingface -e PYANNOTE_AUTH_TOKEN='VAD_TOKEN_HERE' voicestreamai
```
The "volume" stuff will allow you not to re-download the huggingface models each
time you re-run the container. If you don't need this, just use:
```bash
sudo docker run --gpus all -p 8765:8765 -e PYANNOTE_AUTH_TOKEN='VAD_TOKEN_HERE' voicestreamai
```
## Normal, Manual Installation
To set up the VoiceStreamAI server, you need Python 3.8 or later and the
following packages:
1. `transformers`
2. `pyannote.core`
3. `pyannote.audio`
4. `websockets`
5. `asyncio`
6. `sentence-transformers`
7. `faster-whisper`
Install these packages using pip:
```bash
pip install -r requirements.txt
```
For the client-side, you need a modern web browser with JavaScript support.
## Configuration and Usage
### Server Configuration
The VoiceStreamAI server can be customized through command line arguments,
allowing you to specify components, host, and port settings according to your
needs.
- `--vad-type`: Specifies the type of Voice Activity Detection (VAD) pipeline to
use (default: `pyannote`) .
- `--vad-args`: A JSON string containing additional arguments for the VAD
pipeline. (required for `pyannote`: `'{"auth_token": "VAD_AUTH_HERE"}'`)
- `--asr-type`: Specifies the type of Automatic Speech Recognition (ASR)
pipeline to use (default: `faster_whisper`).
- `--asr-args`: A JSON string containing additional arguments for the ASR
pipeline (one can for example change `model_name` for whisper)
- `--host`: Sets the host address for the WebSocket server (
default: `127.0.0.1`).
- `--port`: Sets the port on which the server listens (default: `8765`).
- `--certfile`: The path to the SSL certificate (cert file) if using secure
websockets (default: `None`)
- `--keyfile`: The path to the SSL key file if usinExcerpt of 11,812 characters
Read on GitHub40
24
Would you bet a product on this? Bounded 0–100 and slow moving.
matched fp:bfd0f4b1737f4d21, topic:speech-recognition, topic:speech-to-text, readme:speech recognition