Offline audio transcription and subtitle editor powered by Whisper
Project description
Local Whisper Studio
Offline speech-to-text with waveform editing and subtitle export—no API calls, no monthly bills.
What is this?
Local Whisper Studio is a desktop-first transcription and subtitle editor that brings OpenAI's Whisper directly to your machine. Drag in audio or video files, get instant transcripts with automatic speaker diarization, sync edits to the waveform in real-time, and export to SRT, VTT, or TXT formats. Everything runs offline—no API costs, no internet dependency, no vendor lock-in.
Features
- Offline Transcription – Powered by OpenAI Whisper; runs entirely on your hardware
- Speaker Diarization – Automatically identify and label different speakers
- Waveform Editor – Sync transcript edits to audio timeline with visual feedback
- Multi-format Export – SRT, VTT, and plain text subtitle formats
- Video & Audio Support – Handle MP4, MOV, MP3, WAV, and more
- Zero API Costs – No recurring bills or cloud dependencies
- Web UI & CLI – Choose your workflow: browser interface or command-line scripting
Quick Start
Installation
Requires Python 3.9+
# Clone the repository
git clone <repo-url>
cd local-whisper-studio
# Install dependencies
pip install -e .
# Download Whisper model (first run only)
whisper-studio download-model base
Usage
Web Interface:
whisper-studio serve
# Opens http://localhost:5000 in your browser
CLI:
# Transcribe an audio file
whisper-studio transcribe audio.mp3 --output transcript.srt --format srt
# With diarization
whisper-studio transcribe video.mp4 --diarize --output subtitled.srt
Python API:
from whisper_studio import TranscriptionEngine
engine = TranscriptionEngine(model="base")
result = engine.transcribe("audio.mp3")
for segment in result.segments:
print(f"{segment.speaker}: {segment.text}")
Tech Stack
- Whisper – Speech recognition model (OpenAI)
- Pyannote – Speaker diarization
- FastAPI – Web server
- Vanilla JS + Wavesurfer.js – Waveform editor UI
- FFmpeg – Audio/video processing
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file local_whisper_studio-0.1.0.tar.gz.
File metadata
- Download URL: local_whisper_studio-0.1.0.tar.gz
- Upload date:
- Size: 13.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f639e4866ac482a361813a7565e2b6b57b1555854c1456c2196302e026da50c9
|
|
| MD5 |
c3b6370425f00148572109c1cdbfab8a
|
|
| BLAKE2b-256 |
03426ab559ddd54cb6a06b06587ae5ce4efc7b64c7ff34dbbbb38b111d13e06f
|
File details
Details for the file local_whisper_studio-0.1.0-py3-none-any.whl.
File metadata
- Download URL: local_whisper_studio-0.1.0-py3-none-any.whl
- Upload date:
- Size: 14.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
06bfee55043bc016072632eb72b8ec6f00a6479034dec289bd4fccfe23df9a5b
|
|
| MD5 |
6e411e5c869c05e2e34fc0d4463935d2
|
|
| BLAKE2b-256 |
0a2f71b5f67bd60e0cf3420ff9914c5e7394db28af31efb70fe5c71f0494c179
|