Skip to main content
Screenpipe automatically transcribes all audio from your meetings, calls, and conversations. Local Whisper is the default, and you can also connect an OpenAI-compatible transcription server.
For the full botless meeting workflow - live transcript, speaker cleanup, calendar enrichment, summaries, copy transcript, and APIs - see meeting intelligence.

Languages

Cloud transcription is multilingual. Pick one language in settings → recording → transcription to force it, or leave the selection empty (or pick several) for automatic detection — non-English audio is detected and transcribed in its own language, not forced to English.
Multilingual transcription detecting the spoken language

auto-detects and transcribes non-English audio

Setup

Audio recording is enabled by default in the desktop app. Configure audio devices and transcription engine in Settings.
  • Audio devices: select which microphones and system audio to capture
  • Transcription engine: choose local Whisper, Deepgram, or an OpenAI-compatible endpoint

Use a local OpenAI-compatible server

Screenpipe can send uncompressed WAV audio to any server that implements POST /v1/audio/transcriptions. This keeps Screenpipe’s capture and search workflow while letting a separate local runtime own transcription. Soniqo speech-swift provides the endpoint on Apple Silicon. Install and start it on macOS with:
On Linux or Windows, use a Soniqo Speech Core package that includes the same transcription endpoint. Download the model bundle, then start the server:
In settings → recording → transcription, choose OpenAI Compatible and set:
  • Endpoint: http://127.0.0.1:8080
  • Model: whisper-1
  • Send raw WAV audio: enabled
  • API key: leave empty for a loopback-only server, or enter the server’s bearer token
Run connection test before restarting capture. The server does not need to list models; Screenpipe accepts a manually entered model name.

Search transcriptions

Speaker identification

Screenpipe automatically identifies different speakers. Manage them via API:

Improve speaker identification with calendar

Connect your Google Calendar to significantly improve speaker identification accuracy. Screenpipe uses your calendar’s attendee list to automatically name speakers during meetings — if a meeting has exactly 2 attendees, the other speaker is auto-identified without manual labeling. To enable this:
  1. Go to settings → connections → Google Calendar
  2. Authorize Screenpipe to access your calendar
  3. During future meetings, attendee names from your calendar will automatically label speakers
This works best for 1:1 meetings and structured calls. For larger meetings (3+ attendees), calendar context is tagged to your notes for later reference.

Tips

  • Use a good microphone
  • Reduce background noise
  • whisper-large-v3-turbo is faster with a small accuracy tradeoff; whisper-large-v3 is the most accurate
  • Set language to English in settings if you only speak English (faster)

Long meetings and batch sizing

Screenpipe splits long recordings into batches using limits appropriate to each transcription engine. For OpenAI-compatible servers, open Settings > Audio & meetings and set Max batch duration (seconds) beneath the endpoint configuration. This controls both background batches and meeting retranscription. Leave it blank or set it to 0 to use automatic sizing. Other engines keep their engine-specific limits. Lower the duration if your server or gateway times out. You can increase it for a faster server, but upload size is only one constraint: the server also needs time to transcribe the audio. Screenpipe allows more request time for longer audio; your gateway may enforce a shorter timeout of its own.

Privacy

  • Local Whisper and loopback OpenAI-compatible endpoints keep transcription on your device
  • Audio files stored in ~/.screenpipe/data/
  • Audio is sent off-device only when you select Deepgram or another remote endpoint
  • Disable audio recording in app settings
Questions? join our Discord.