Scriberr

Scriberr

Self-hosted AI audio transcription

Stars: 1169

Visit
 screenshot

Scriberr is a self-hostable AI audio transcription app that utilizes open-source Whisper models from OpenAI for transcribing audio files locally on user's hardware. It offers fast transcription with customizable compute settings, local transcription on device, API endpoints for automation, and integration with other tools. Users can optionally summarize transcripts using ChatGPT or Ollama, with support for custom prompts. The app is mobile-ready, simple, and easy to use, with planned features including speaker diarization, audio recording, file actions, full text fuzzy search, tag-based organization, follow-along text with playback, edit summaries, export options, and support for other languages. Despite being in beta, Scriberr is functional and usable, albeit with some rough edges and minor bugs.

README:

Scriberr

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.

WebsiteDocsAPI ReferenceChangelog

Buy Me a Coffee at ko-fi.com


Sponsors

recall.ai-logo 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

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.

  • Built with React (frontend) and Go (backend), packaged as a single binary
  • Uses WhisperX with open‑source Whisper models for accurate transcription
  • Clean, distraction‑free UI optimized for reading and working with transcripts

Scriberr homepage

Features

  • Accurate transcription with word‑level timing
  • Speaker diarization (identify and label speakers)
  • Transcript reader with playback follow‑along and seek‑from‑text
  • Highlights and lightweight note‑taking (jump note → audio/transcript)
  • Summarize and chat over transcripts (OpenAI or local models via Ollama)
  • Transcription profiles for re‑usable configurations
  • YouTube video transcription (paste a link and transcribe)
  • Quick transcribe (ephemeral) and batch upload
  • REST API coverage for all major features + API key management
  • Download transcripts as JSON/SRT/TXT (and more)
  • Support for Nvidia GPUs [New - Experimental]

Screenshots

Show screenshots

Transcript view

Minimal transcript reader with playback follow‑along and seek‑from‑text.

Summarize transcripts

Summarize long recordings and use custom prompts.

API key management

Generate and manage API keys for the REST API.

YouTube video transcription

Transcribe audio directly from a YouTube link.

Installation

Visit the website for the full guide: https://scriberr.app/docs/installation.html

Homebrew (macOS & Linux)

brew tap rishikanthc/scriberr
brew install scriberr

# Start the server
scriberr

Open http://localhost:8080 in your browser.

Optional configuration via .env (sensible defaults provided):

# Server
HOST=localhost
PORT=8080

# Storage
DATABASE_PATH=./data/scriberr.db
UPLOAD_DIR=./data/uploads
WHISPERX_ENV=./data/whisperx-env

# Custom paths (if needed)
UV_PATH=/custom/path/to/uv

Docker

Run the command below in a shell:

docker run -d \
  --name scriberr \
  -p 8080:8080 \
  -v scriberr_data:/app/data \
  --restart unless-stopped \
  ghcr.io/rishikanthc/scriberr:latest

Docker Compose:

version: '3.9'
services:
  scriberr:
    image: ghcr.io/rishikanthc/scriberr:latest
    container_name: scriberr
    ports:
      - "8080:8080"
    volumes:
      - scriberr_data:/app/data
    restart: unless-stopped

volumes:
  scriberr_data:

With GPU (CUDA)

version: "3.9"
services:
  scriberr:
    image: ghcr.io/rishikanthc/scriberr:v1.0.4-cuda
    ports:
      - "8080:8080"
    volumes:
      - scriberr_data:/app/data
    restart: unless-stopped
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: all
              capabilities:
                - gpu
    environment:
      - NVIDIA_VISIBLE_DEVICES=all
      - NVIDIA_DRIVER_CAPABILITIES=compute,utility

volumes:
  scriberr_data: {}

Then open http://localhost:8080.

Diarization (speaker identification)

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).

  1. Create an account on https://huggingface.co

  2. Visit and accept the user conditions for these repositories:

    Verify they appear here: https://huggingface.co/settings/gated-repos

  3. Create an access token under Settings → Access Tokens and enable all permissions under “Repositories”. Keep it safe.

  4. In Scriberr, when creating a profile or using Transcribe+, open the Diarization tab and paste the token into the “Hugging Face Token” field.

See the full guide: https://scriberr.app/docs/diarization.html

Diarization setup

API

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.

Contributing

Issues and PRs are welcome. Please open an issue to discuss large changes first and keep PRs focused.

Local dev overview:

# Backend (dev)
cp -n .env.example .env || true
go run cmd/server/main.go

# Frontend (dev)
cd web/frontend
npm ci
npm run dev

# Full build (embeds UI in Go binary)
./build.sh
./scriberr

Coding style: go fmt ./..., go vet ./..., and cd web/frontend && npm run lint.

Donating

Buy Me a Coffee at ko-fi.com

For Tasks:

Click tags to check more tools for each tasks

For Jobs:

Alternative AI tools for Scriberr

Similar Open Source Tools

For similar tasks

For similar jobs