Scriberr is an open-source, and completely offline audio transcription application designed for self-hosters who value privacy and performance.
Website • Docs • API Reference
Sponsors
Meeting Transcription API
If you're looking for a transcription API for meetings, consider checking out Recall.ai, an API that works with Zoom, Google Meet, Microsoft Teams, and more.
Recall.ai diarizes by pulling the speaker data and seperate audio streams from the meeting platforms, which means 100% accurate speaker diarization with actual speaker names.
Introduction
At its core, Scriberr allows you to transcribe audio and video locally on your machine, ensuring no data is ever sent to a third-party cloud provider. Leveraging state-of-the-art machine learning models (such as NVIDIA Parakeet, and Canary) or the older more popular Whisper models, it delivers high-accuracy text with word-level timing.
Scriberr goes beyond simple transcription and provides various advanced capabilities. It combines powerful under-the-hood AI with a polished, fluid user interface that makes managing your recordings feel effortless. Whether you are sorting through voice notes or analyzing long meetings, Scriberr provides a beautiful environment to get work done:
- Smart Speaker Detection: Scriberr automatically detects different speakers (Diarization) and labels exactly who said what.
- Chat with your Audio: Connect seamlessly with Ollama or OpenAI API compatible providers. You can generate summaries, ask questions, or have a full conversation with your transcripts right inside the app.
- Built for your Workflow: With extensive APIs and Folder Watcher that automatically processes new files in a folder, Scriberr fits right into your existing automations (like n8n).
- Capture & Organize: Use the built-in audio recorder to capture thoughts on the fly, and the integrated note-taking features to annotate your transcripts as you listen.
- Native Experience everywhere: Scriberr supports PWA (Progressive Web App) installation, giving you a native app experience on your desktop or mobile device.
- A Polished UI: I’ve focused on the little UI niceties that make the app feel responsive and satisfying to use.
Why I built this
The inspiration for Scriberr was born out of privacy paranoia and not wanting to pay for subscription. About a year ago, I purchased a Plaud Note for recording voice memos. I loved the device itself; the form factor, microphone quality, and workflow were excellent.
However, transcription was done on their cloud servers. As someone who is paranoid about privacy I wasn't comfortable with uploading my recordings to a third party provider. Moreover I was hit with subscription costs: $100 a year for 20 hours of transcription per month, or $240 a year for unlimited access. As an avid self-hoster with a background in ML and AI, it felt wrong to pay such a premium for a service I knew I could engineer myself.
I decided to build Scriberr to bridge that gap, creating a powerful, private, and free alternative for everyone.
Screenshots
Click to expand
Transcript reader with playback follow‑along and seek‑from‑text.
Chat with your transcripts using local LLMs or OpenAI.
Highlight key moments and take notes while listening.
Generate comprehensive summaries of your recordings.
Dark Mode
Homepage in Dark Mode.
Transcript view in Dark Mode.
Mobile
PWA mobile app (Light & Dark).
Mobile transcript reading experience.
Installation
Get Scriberr running on your system in a few minutes using Docker.
Standard Deployment (CPU)
Use this configuration for running Scriberr on any machine without a dedicated NVIDIA GPU.
- Create a file named
docker-compose.yml:
services:
scriberr:
image: ghcr.io/rishikanthc/scriberr:latest
ports:
- "8080:8080"
volumes:
- scriberr_data:/app/data # volume for data
- env_data:/app/whisperx-env # volume for models and python envs
environment:
- APP_ENV=production # DO NOT CHANGE THIS
# CORS: comma-separated list of allowed origins for production
# - ALLOWED_ORIGINS=https://your-domain.com
# - SECURE_COOKIES=false # Uncomment this ONLY if you are not using SSL
restart: unless-stopped
volumes:
scriberr_data: {}
env_data: {}
- Run the container:
docker compose up -d
NVIDIA GPU Deployment (CUDA)
If you have a compatible NVIDIA GPU, this configuration enables hardware acceleration for significantly faster transcription.
- Ensure you have the NVIDIA Container Toolkit installed.
- Create a file named
docker-compose.cuda.yml:
services:
scriberr:
image: ghcr.io/rishikanthc/scriberr:v1.0.4-cuda
ports:
- "8080:8080"
volumes:
- scriberr_data:/app/data # volume for data
- env_data:/app/whisperx-env # volume for models and python envs
restart: unless-stopped
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities:
- gpu
environment:
- NVIDIA_VISIBLE_DEVICES=all
- NVIDIA_DRIVER_CAPABILITIES=compute,utility
- APP_ENV=production # DO NOT CHANGE THIS
# CORS: comma-separated list of allowed origins for production
# - ALLOWED_ORIGINS=https://your-domain.com
# - SECURE_COOKIES=false # Uncomment this ONLY if you are not using SSL
volumes:
scriberr_data: {}
env_data: {}
- Run the container with the CUDA configuration:
docker compose -f docker-compose.cuda.yml up -d
Post installation
Once you have Scriberr up and running:
- Configure Diarization: To enable speaker identification, visit the Configuration page.
- Usage Guide: For a detailed usage guide, visit https://scriberr.app/docs/usage.






