{"data":{"slug":"alesaccoia-voicestreamai","name":"VoiceStreamAI","tagline":"Near-Realtime audio transcription using self-hosted Whisper and WebSocket in Python/JS","github_url":"https://github.com/alesaccoia/VoiceStreamAI","owner":"alesaccoia","repo":"VoiceStreamAI","owner_avatar_url":"https://avatars.githubusercontent.com/u/1385023?v=4","primary_language":"Python","stars":958,"forks":142,"topics":["ai","speech-recognition","speech-to-text","websocket"],"archived":false,"github_pushed_at":"2024-10-02T19:25:33+00:00","maintenance_label":"Dormant","url":"https://www.graphcanon.com/tools/alesaccoia-voicestreamai","markdown_url":"https://www.graphcanon.com/tools/alesaccoia-voicestreamai.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/alesaccoia-voicestreamai","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=alesaccoia-voicestreamai","description":"Near-Realtime audio transcription using self-hosted Whisper and WebSocket in Python/JS","homepage_url":null,"license":"MIT","open_issues":23,"watchers":18,"ai_summary":null,"readme_excerpt":"## Running with Docker\n\nThis will not guide you in detail on how to use CUDA in docker, see for\nexample [here](https://medium.com/@kevinsjy997/configure-docker-to-use-local-gpu-for-training-ml-models-70980168ec9b).\n\nStill, these are the commands for Linux:\n\n```bash\ndistribution=$(. /etc/os-release;echo $ID$VERSION_ID) \\\n&& curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \\\n&& curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | \\\nsed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \\\nsudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list\n\nsudo nvidia-ctk runtime configure --runtime=docker\n\nsudo systemctl restart docker\n```\n\nYou can build the container image with:\n\n```bash\nsudo docker build -t voicestreamai .\n```\n\nAfter getting your VAD token (see next sections) run:\n\n```bash\nsudo docker volume create huggingface_models\n\nsudo docker run --gpus all -p 8765:8765 -v huggingface_models:/root/.cache/huggingface  -e PYANNOTE_AUTH_TOKEN='VAD_TOKEN_HERE' voicestreamai\n```\n\nThe \"volume\" stuff will allow you not to re-download the huggingface models each\ntime you re-run the container. If you don't need this, just use:\n\n```bash\nsudo docker run --gpus all -p 8765:8765 -e PYANNOTE_AUTH_TOKEN='VAD_TOKEN_HERE' voicestreamai\n```\n\n---\n\n## Normal, Manual Installation\n\nTo set up the VoiceStreamAI server, you need Python 3.8 or later and the\nfollowing packages:\n\n1. `transformers`\n2. `pyannote.core`\n3. `pyannote.audio`\n4. `websockets`\n5. `asyncio`\n6. `sentence-transformers`\n7. `faster-whisper`\n\nInstall these packages using pip:\n\n```bash\npip install -r requirements.txt\n```\n\nFor the client-side, you need a modern web browser with JavaScript support.","github_created_at":"2023-12-26T10:25:50+00:00","created_at":"2026-07-11T12:20:37.405844+00:00","updated_at":"2026-07-11T12:20:44.289351+00:00","categories":[{"slug":"model-training","name":"Model Training","url":"https://www.graphcanon.com/categories/model-training","markdown_url":"https://www.graphcanon.com/categories/model-training.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/model-training"},{"slug":"vector-databases","name":"Vector Databases","url":"https://www.graphcanon.com/categories/vector-databases","markdown_url":"https://www.graphcanon.com/categories/vector-databases.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/vector-databases"},{"slug":"inference-serving","name":"Inference & Serving","url":"https://www.graphcanon.com/categories/inference-serving","markdown_url":"https://www.graphcanon.com/categories/inference-serving.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/inference-serving"}],"tags":[{"slug":"ai","name":"ai"},{"slug":"speech-to-text","name":"speech-to-text"},{"slug":"python","name":"python"},{"slug":"websocket","name":"websocket"},{"slug":"speech-recognition","name":"speech-recognition"}],"trust":{"provenance":{"is_fork":false,"github_id":735874755,"owner_type":"User","methodology":"github_public_v1","parent_repo":null,"near_duplicate_slugs":[]},"computed_at":"2026-07-11T12:20:38.127Z","maintenance":{"label":"Dormant","score":18,"methodology":"github_public_v1","releases_90d":0,"days_since_push":646,"last_release_at":null},"security_summary":{"status":"findings","scanner":"osv@v1","low_count":38,"high_count":0,"last_scan_at":"2026-07-11T12:20:39.310Z","medium_count":0,"scan_profile":"deps","critical_count":0}},"capability_facts":{"scan":{"source":"repo_scan","observed_at":"2026-07-11T12:20:38.900Z"},"deploy":{"source":"dockerfile:Dockerfile","self_host":true,"observed_at":"2026-07-11T12:20:38.900Z","managed_saas":false},"languages":{"value":["python"],"source":"github.language","observed_at":"2026-07-11T12:20:38.900Z"},"has_docker":{"value":true,"source":"dockerfile:Dockerfile","observed_at":"2026-07-11T12:20:38.900Z"},"license_spdx":{"value":"MIT","source":"github.license","observed_at":"2026-07-11T12:20:38.900Z"}}}}