Turn live microphone audio and audio streams into text on your own server. Powered by WhisperLive and faster-whisper, with WebSocket transcription and a separate OpenAI-compatible API for uploaded files.
The Self-Hosted AI Builder's Guide
Practical guidance for deployment, security, backups, and everyday operation.
Live audio → progressive text
As words arrive. As your application needs them.
INCOMING AUDIO
A microphone or audio stream, sent by your client
PROGRESSIVE TRANSCRIPT
Let’s review the deployment plan.
WebSocket
Whisper models
VAD
REST API
Illustrative transcript. Segments can change until finalized; latency and accuracy depend on the model, hardware, and audio.
A focused service for your applications
Transcription while the conversation happens.
Build live captions, microphone transcription, and applications that consume progressive text. You operate the server and supply the client that captures or streams audio.
Live WebSocket transcription
Connect a compatible client to port 9090 for progressive transcription of microphone audio or audio streams. Follow the documented handshake and audio format.
An API for uploaded files
Use POST /v1/audio/transcriptions on the REST service at port 8000 for compatible file-transcription clients. WebSocket and REST serve different input flows.
Local processing and access control
Transcription runs on your server. Fresh persistent installations enable API-key authentication for transcription, with a generated key stored across restarts.
Models and voice activity detection
Choose a supported Whisper model and use voice activity detection (VAD) to skip silence. Larger models can require substantially more memory and processing time.
CPU or NVIDIA GPU
CPU images support amd64 and arm64. Use the separate :cuda image for NVIDIA acceleration on amd64 with a compatible driver and NVIDIA Container Toolkit.
Persistent model cache
Keep downloaded models across restarts. For offline operation, cache the required models first and enable WHISPERLIVE_LOCAL_ONLY.
Prefer to try it first? Open the Google Colab demo. Audio submitted there is processed in Google’s environment.
This CPU example binds both services to loopback. The REST request gives you an authenticated first test. The Colab demo streams recorded audio; use the documented WebSocket client for microphone input.
Docker on a supported Linux host
Enough memory for your chosen Whisper model
Internet access for the first model download, unless models are pre-cached
Fresh persistent installations generate and save a key. REST transcription uses a Bearer header; WebSocket clients use the documented token connection flow.
Replace audio.mp3 with your file and run in the same shell. Live microphone capture requires a compatible WebSocket client; the server does not capture your microphone by itself.
Part of a larger toolkit
Build your Self-Hosted AI Stack
ScribeCrate Live is also available as part of Self-Hosted AI Stack.
Deploy local models, chat, document processing, voice, and AI tools
together, or choose a smaller configuration for your needs.
ScribeCrate provides an API for uploaded recordings, subtitles, English translation, and optional local speaker diarization. Choose the service that fits your input flow.
The ScribeCrate Live project is open source under the MIT License. You provide hardware or cloud hosting and pay associated costs. Models, dependencies, and external providers retain their own licenses and terms.
Does this website listen to my microphone?
No. This is an informational website. A client you run captures audio and sends it to your deployment. The optional Google Colab demo runs in Google’s environment and follows its data practices.
How is this different from ScribeCrate?
ScribeCrate focuses on uploaded-file transcription, subtitles, English translation, and optional speaker diarization. ScribeCrate Live focuses on live WebSocket transcription and also provides a REST endpoint for uploaded-file transcription. They are separately deployed projects.
Is it a complete OpenAI audio API replacement?
The REST service provides an OpenAI-compatible transcription endpoint for supported file clients. Live audio uses the WhisperLive WebSocket protocol. Do not assume support for every OpenAI audio endpoint, parameter, or realtime protocol.
Can I run it offline?
Cache the required Whisper models before disconnecting and set WHISPERLIVE_LOCAL_ONLY=true. Disable optional aggregate usage counts separately with WHISPERLIVE_DISABLE_USAGE_COUNTS=1.
How do I connect a live microphone?
Use the maintained WebSocket client instructions for microphone capture. The Google Colab demo demonstrates streaming a prerecorded file. Client authentication, handshake fields, and audio encoding must match the server. Use HTTPS/WSS and authentication for remote connections.
The image includes optional aggregate usage counts.
See the usage-count documentation;
set WHISPERLIVE_DISABLE_USAGE_COUNTS=1 to disable them.
Bring your live audio. Keep control of the transcription server.