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.
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 implementsPOST /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:
- 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
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:- go to settings → connections → Google Calendar
- authorize screenpipe to access your calendar
- during future meetings, attendee names from your calendar will automatically label speakers
tips
- use a good microphone
- reduce background noise
whisper-large-v3-turbois faster with a small accuracy tradeoff;whisper-large-v3is the most accurate- set language to English in settings if you only speak English (faster)
long meetings and batch sizing
by default, screenpipe batches audio for transcription in chunks. each engine (Whisper, OpenAI, Deepgram) has its own configurable batch-duration limit. if you notice meetings longer than one hour losing context between batches, you can customize the batch size in settings > advanced >batch_max_duration_secs. set to your meeting’s typical duration to preserve context across the entire recording.
in smart/batch transcription mode, large meetings may be split across multiple transcription jobs. if you need full meeting context in a single batch, consider:
- switching to realtime transcription (transcription happens immediately as audio is captured, trading cost/latency for guaranteed continuity)
- increasing
batch_max_duration_secsto match your meeting length (capped at each engine’s configurable limit) - using retranscription API to re-process a full meeting with custom settings
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