Practical overview
When it fits
Use it when you need a self-hosted, WebSocket-based starting point for near-real-time transcription from a JavaScript browser client.
Who it is for
- Developers building browser-based audio applications that need streaming speech-to-text.
- Teams adapting voice activity detection, recognition models or audio-chunking strategies in an audio-processing workflow.
Documented uses
- Stream browser audio to a server and receive speech transcription.
- Choose a VAD option and configure the speech-recognition model.
- Set chunk length, offset and transcription language in the included client.
Requirements & limits
The repository identifies the project as MIT licensed. Manual server setup requires Python 3.8 or later; the browser client requires a modern browser with JavaScript support.
- Faster-whisper is the default ASR implementation; VAD can be set to Silero, Pyannote or none.
- Silero is documented as token-free, while Pyannote requires an authentication token.
- Optional certificate and key file arguments support secure WebSocket configuration.
- The README documents Docker and GPU-oriented use, but says CUDA-in-Docker setup is not covered in detail.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Set up the server and connect the browser client
Configure the documented Python server and use the included client to stream audio for transcription.
Before you start
- Python 3.8 or later and the packages in the project requirements file.
- A modern web browser with JavaScript support.
- For Pyannote VAD, a token from the pyannote/segmentation model page; the Silero VAD option is token-free.
Steps
Install the server packages with the command below.
pip install -r requirements.txtStart the server with the desired VAD and ASR command-line options; the README gives Silero and Pyannote examples.
Open
client/index.htmlin a browser and enter the server's WebSocket address.Set audio chunk length and offset, select a transcription language, connect, and use Start Streaming and Stop Streaming to control capture.
Expected outcome
The browser client streams audio to the configured server for speech recognition and transcription.
Guide limitations
- The guide documents setup and client controls; it does not establish performance for a particular deployment.
- Pyannote VAD requires an authentication token.
- The README's Docker example does not explain CUDA-in-Docker setup in detail.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 14 October 2026
- Original website title
- alesaccoia/VoiceStreamAI · Official homepage title · retained in its source language

