selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

transcriber logo

Self-host transcriber

AI-powered audio and video transcription with Whisper

BetaOpen SourceMIT
Updated7 months ago
LanguagePython
Setup difficultyModerate
MobileResponsive
ThemeDark mode
Stars
152
Port
8000 (HTTP/WebSocket server)
Install with Docker
transcriber screenshot 1

What is transcriber?

Transcriber is a privacy-first, self-hosted web application that transcribes audio and video files using OpenAI Whisper models. It accepts YouTube URLs or local file uploads (MP3, MP4, WAV, and more), processes them with either openai-whisper for accuracy or faster-whisper for speed, and streams real-time progress updates via WebSockets. The app includes a smart library that correlates media files with their transcripts, automatic filename sanitization, GPU acceleration with CUDA support and CPU fallback, and automatic FFmpeg installation. It runs via Docker (multi-stage, non-root) or locally with Python 3.10–3.12, using FastAPI, Alpine.js, and Tailwind CSS. The project is MIT-licensed with no paid tiers or cloud dependencies.

Should you self-host transcriber?

transcriber scores 41/100 on selfhost.directory (how scoring works) and ranks #10 of 15 in Audio Processing. It has 152 GitHub stars.

There was no stable release in the past 12 months, so check the repository's recent activity before you rely on it.

Setup is moderate: expect some configuration beyond a single command. It is MIT-licensed and written mostly in Python.

Its closest alternative on selfhost.directory is Retrieval-based-Voice-Conversion-WebUI (77/100, 38 911 stars). It scores higher overall, so compare the two before you pick. See transcriber vs Retrieval-based-Voice-Conversion-WebUI side by side.

Features

  • Auto FFmpeg installation
  • Dark/light mode
  • Download transcripts as text
  • Dual Whisper engine
  • Filename sanitization
  • GPU Acceleration
  • Local file transcription
  • Real-time progress via WebSockets
  • Smart media library
  • Transcription history
  • YouTube URL transcription

transcriber README

How to install transcriber

Install transcriber with Docker

Docker, NVIDIA Container Toolkit (for GPU)
Environment variables
PORT=8000, FFMPEG_AUTO_SETUP=false

docker build -t transcriber . docker run --rm -p 8000:8000 transcriber

For GPU Support (NVIDIA):

docker run --rm --gpus all -p 8000:8000 transcriber

Multi-stage build, non-root user, secure. Requires NVIDIA Container Toolkit for GPU support.

How to configure transcriber

  • DEBUGtrueEnable debug mode

    Enable debug mode

    values: true/false

  • STATIC_DIR./app/staticDirectory for static assets

    Directory for static assets

    values: filesystem path

  • STORAGE_TRANSCRIPTIONS./storage/transcriptionsDirectory for generated transcription text files

    Directory for generated transcription text files

    values: filesystem path

  • STORAGE_UPLOADS./storage/uploadsDirectory for temporary uploaded media files

    Directory for temporary uploaded media files

    values: filesystem path

  • TEMPLATES_DIR./app/templatesDirectory for Jinja2 templates

    Directory for Jinja2 templates

    values: filesystem path

  • TRANSCRIPTION_DEVICEautoTranscription device: auto (prefer GPU), cuda (force GPU), cpu (force CPU)

    Transcription device: auto (prefer GPU), cuda (force GPU), cpu (force CPU)

    values: auto, cuda, cpu

  • WHISPER_MODELbaseDefault Whisper model to use for transcription

    Default Whisper model to use for transcription

    values: tiny, base, small, medium, large, etc.

More in Audio Processing

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…