You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Self‑hostable, secure & private offline transcription. Drop in a recording, get clean transcripts, highlight key moments, take notes or chat with your audio using your favorite LLM — all without sending your data to the cloud.
<ahref='https://ko-fi.com/H2H41KQZA3'target='_blank'><imgheight='36'style='border:0px;height:36px;'src='https://storage.ko-fi.com/cdn/kofi6.png?v=6'border='0'alt='Buy Me a Coffee at ko-fi.com' /></a>
7
+
Scriberr is an open-source, and completely offline audio transcription application designed for self-hosters who value privacy and performance.
11
8
</p>
12
-
</div>
13
9
14
-
**Collecting feedback on new feature. Drop by https://github.com/rishikanthc/Scriberr/discussions/200 to share your opinions.**
<imgsrc="screenshots/hero-mobile.png"alt="Scriberr Mobile App"width="300" />
20
+
</div>
17
21
18
22
## Sponsors
19
23
20
24
 Meeting Transcription API
21
25
If you're looking for a transcription API for meetings, consider checking out [Recall.ai](https://www.recall.ai/?utm_source=github&utm_medium=sponsorship&utm_campaign=rishikanthc-scriberr), an API that works with Zoom, Google Meet, Microsoft Teams, and more.
22
26
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.
23
27
24
-
# Introduction
28
+
##Introduction
25
29
26
-
Scriberr is a self‑hosted offline transcription app for converting audio into text. Record or upload audio, get it transcribed, and quickly summarize or chat using your preferred LLM provider. Scriberr runs on modern CPUs (no GPU required, though GPUs can accelerate processing) and offers a range of trade‑offs between speed and transcription quality.
30
+
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.
31
+
Leveraging state-of-the-art machine learning models (such as **Whisper**, **NVIDIA Parakeet**, and **Canary**), it delivers high-accuracy text with word-level timing.
27
32
28
-
- Built with React (frontend) and Go (backend), packaged as a single binary
29
-
- Uses WhisperX with open‑source Whisper models for accurate transcription
30
-
- Clean, distraction‑free UI optimized for reading and working with transcripts
33
+
Scriberr goes beyond simple transcription and provides various advanced capabilities.
34
+
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.
37
+
-**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.
38
+
-**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).
39
+
-**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.
40
+
-**Native Experience everywhere**: Scriberr supports PWA (Progressive Web App) installation, giving you a native app experience on your desktop or mobile device.
41
+
-**A Polished UI**: I’ve focused on the little UI niceties that make the app feel responsive and satisfying to use.
42
+
43
+
[View full list of features →](https://scriberr.app/docs/features)
44
+
45
+
### Why I built this
35
46
36
-
## Features
47
+
The inspiration for Scriberr was born out of privacy paranoia and not wanting to pay for subscription.
48
+
About a year ago, I purchased a [Plaud Note](https://www.plaud.ai/) for recording voice memos. I loved the device itself; the form factor, microphone quality, and workflow were excellent.
37
49
38
-
- Accurate transcription with word‑level timing
39
-
- Speaker diarization (identify and label speakers)
40
-
- Transcript reader with playback follow‑along and seek‑from‑text
41
-
- Highlights and lightweight note‑taking (jump note → audio/transcript)
42
-
- Summarize and chat over transcripts (OpenAI or local models via Ollama)
43
-
- Transcription profiles for re‑usable configurations
44
-
- YouTube video transcription (paste a link and transcribe)
45
-
- Quick transcribe (ephemeral) and batch upload
46
-
- REST API coverage for all major features + API key management
47
-
- Download transcripts as JSON/SRT/TXT (and more)
48
-
- Support for Nvidia GPUs [New - Experimental]
50
+
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.
51
+
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.
52
+
53
+
I decided to build Scriberr to bridge that gap, creating a powerful, private, and free alternative for everyone.
Open [http://localhost:8080](http://localhost:8080) in your browser.
130
+
131
+
### Configuration
92
132
93
-
Optional configuration via .env (sensible defaults provided):
133
+
Scriberr works out of the box. To customize settings, create a `.env` file:
94
134
95
-
```env
96
-
# Server
135
+
```bash
136
+
# Server settings
97
137
HOST=localhost
98
138
PORT=8080
99
139
100
-
# Storage
140
+
#Data storage (optional)
101
141
DATABASE_PATH=./data/scriberr.db
102
142
UPLOAD_DIR=./data/uploads
103
143
WHISPERX_ENV=./data/whisperx-env
104
-
105
-
# Custom paths (if needed)
106
-
UV_PATH=/custom/path/to/uv
107
144
```
108
145
109
-
### Docker
146
+
### Docker Deployment
110
147
111
-
Run the command below in a shell:
148
+
For a containerized setup, you can use Docker. We provide two configurations: one for standard CPU usage and one optimized for NVIDIA GPUs (CUDA).
112
149
113
-
```bash
114
-
docker run -d \
115
-
--name scriberr \
116
-
-p 8080:8080 \
117
-
-v scriberr_data:/app/data \
118
-
--restart unless-stopped \
119
-
ghcr.io/rishikanthc/scriberr:latest
120
-
```
150
+
#### Standard Deployment (CPU)
121
151
122
-
#### Docker Compose:
152
+
Use this configuration for running Scriberr on any machine without a dedicated NVIDIA GPU.
153
+
154
+
1. Create a file named `docker-compose.yml`:
123
155
124
156
```yaml
125
-
version: '3.9'
126
157
services:
127
158
scriberr:
128
159
image: ghcr.io/rishikanthc/scriberr:latest
129
-
container_name: scriberr
130
160
ports:
131
161
- "8080:8080"
132
162
volumes:
@@ -137,7 +167,19 @@ volumes:
137
167
scriberr_data:
138
168
```
139
169
140
-
#### With GPU (CUDA)
170
+
2. Run the container:
171
+
172
+
```bash
173
+
docker compose up -d
174
+
```
175
+
176
+
#### NVIDIA GPU Deployment (CUDA)
177
+
178
+
If you have a compatible NVIDIA GPU, this configuration enables hardware acceleration for significantly faster transcription.
179
+
180
+
1. Ensure you have the [NVIDIA Container Toolkit](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html) installed.
181
+
2. Create a file named `docker-compose.cuda.yml`:
182
+
141
183
```yaml
142
184
version: "3.9"
143
185
services:
@@ -164,68 +206,16 @@ volumes:
164
206
scriberr_data: {}
165
207
```
166
208
167
-
Then open http://localhost:8080.
168
-
169
-
## Diarization (speaker identification)
170
-
171
-
Scriberr uses the open‑source pyannote models for local speaker diarization. Models are hosted on Hugging Face and require an access token (only used to download models — diarization runs locally).
172
-
173
-
1) Create an account on https://huggingface.co
174
-
175
-
2) Visit and accept the user conditions for these repositories:
Scribber uses different models from Ollama (local, open-source and free) or OpenAi (online, propietary, paid) in order to automatically summarize the transcriptions. To connect, just go to settings and introduce either the Ollama port or the OpenAI API.
196
-
A common error is that if Ollama has been installed through Docker, rather then connecting via "http://localhost:11434" you sohuld instead connect through "http://host.docker.internal:11434" (change the port to whichever you have used, automatically uses that one). That way Scriberr directly connects to the Docker, avoiding a "Failed to fetch model" error and alike.
197
-
198
-
## API
199
-
200
-
Scriberr exposes a clean REST API for most features (transcription, chat, notes, summaries, admin, and more). Authentication supports JWT or API keys depending on endpoint.
201
-
202
-
- API Reference: https://scriberr.app/api.html
203
-
- Quick start examples (cURL and JS) on the API page
204
-
- Generate or manage API keys in the app
205
-
206
-
## Contributing
207
-
208
-
Issues and PRs are welcome. Please open an issue to discuss large changes first and keep PRs focused.
209
-
210
-
Local dev overview:
209
+
3. Run the container with the CUDA configuration:
211
210
212
211
```bash
213
-
# Backend (dev)
214
-
cp -n .env.example .env || true
215
-
go run cmd/server/main.go
216
-
217
-
# Frontend (dev)
218
-
cd web/frontend
219
-
npm ci
220
-
npm run dev
221
-
222
-
# Full build (embeds UI in Go binary)
223
-
./build.sh
224
-
./scriberr
212
+
docker compose -f docker-compose.cuda.yml up -d
225
213
```
226
214
227
-
Coding style: `go fmt ./...`, `go vet ./...`, and `cd web/frontend && npm run lint`.
215
+
## Post installation
216
+
217
+
Once you have Scriberr up and running:
228
218
229
-
## Donating
219
+
-**Configure Diarization**: To enable speaker identification, visit the [Configuration page](https://scriberr.app/docs/configuration).
220
+
-**Usage Guide**: For a detailed usage guide, visit [https://scriberr.app/docs/usage](https://scriberr.app/docs/usage).
230
221
231
-
<ahref='https://ko-fi.com/H2H41KQZA3'target='_blank'><imgheight='36'style='border:0px;height:36px;'src='https://storage.ko-fi.com/cdn/kofi6.png?v=6'border='0'alt='Buy Me a Coffee at ko-fi.com' /></a>
0 commit comments