ScribeCrate Live

Private, real-time speech-to-text

ScribeCrate Live

Open-source, self-hosted real-time transcription server.

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.

View on GitHub

Open source · MIT licensed

Try in Google Colab Stream sample audio in Google’s environment.

Get the book on Amazon

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.

Images are automatically built and published through public GitHub Actions workflows. Powered by WhisperLive, faster-whisper.

Start with a local server

Connect live audio.
Or test with a recording.

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

Full setup guide on GitHub

For access from other computers, follow the maintained HTTPS, authentication, and network-exposure instructions.

  1. Start ScribeCrate Live

    docker run \
      --name whisper-live \
      --restart=always \
      -v whisper-live-data:/var/lib/whisper-live \
      -p 127.0.0.1:9090:9090 \
      -p 127.0.0.1:8000:8000 \
      -d hwdsl2/whisper-live-server

    Check docker logs whisper-live for readiness. The default base model downloads on first client connection.

  2. Retrieve your API key

    scribe_live_api_key="$(docker exec whisper-live whisper_live_manage --getkey)"

    Fresh persistent installations generate and save a key. REST transcription uses a Bearer header; WebSocket clients use the documented token connection flow.

  3. Test transcription with a recording

    curl http://127.0.0.1:8000/v1/audio/transcriptions \
      -H "Authorization: Bearer $scribe_live_api_key" \
      -F file=@audio.mp3 \
      -F model=whisper-1

    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.

Explore Self-Hosted AI Stack

Connect the services you need

Working with recorded audio?

ScribeCrate provides an API for uploaded recordings, subtitles, English translation, and optional local speaker diarization. Choose the service that fits your input flow.

Explore ScribeCrate

Before you deploy

Is ScribeCrate Live free to use?

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.

View on GitHub