e5d7521cb65db623924e579110dc6e50e75b00e5
Whishper is an open-source, 100% local audio transcription and subtitling suite with a full-featured web UI.
✨ Features
- 🗣️ Transcribe any media to text: audio, video, etc.
- Transcribe from URLs (any source supported by yt-dlp).
- Upload a file to transcribe.
- 📥 Download transcriptions in many formats: TXT, JSON, VTT, SRT or copy the raw text to your clipboard.
- 🌐 Translate your transcriptions to any language supported by Libretranslate.
- ✍️ Edit your subtitles in a comfy and complete web UI!
- Transcription highlighting based on media position.
- CPS (Characters per second) warnings.
- Segment splitting.
- Segment insertion.
- Subtitle language selection.
- 🏠 100% Local: transcription, translation and subtitle edition happen 100% on your machine (can even work offline!).
- 🚀 Fast: uses FasterWhisper as the Whisper backend: get much faster transcription times on CPU!
- 👍 Quick and easy setup: use the quick start script, or run through a few steps!
- 🔥 GPU support: use your NVIDIA GPU to get even faster transcription times!
- 🐎 CPU support: no GPU? No problem! Whishper can run on CPU too.
🧭 Roadmap
- Local folder as media input (#15).
- Full-text search all transcriptions.
- User authentication.
- Audio recording from the browser.
- Add insanely-fast-whisper as an optional backend (#53).
Support for GPU acceleration.- Non NVIDIA GPU support. Is it possible with faster-whisper?
- Can we do something with seamless_communication?
🩻 Project structure
Whishper is a collection of pieces that work together. The three main pieces are:
- Transcription-API: This is the API that enables running Faster-Whisper. You can find it in the
transcription-apifolder. - Whishper-Backend: This is the backend that coordinates frontend calls, database, and tasks. You can find it in
backendfolder. - Whishper-Frontend: This is the frontend (web UI) of the application. You can find it in
frontendfolder. - Translation (3rd party): This is the libretranslate container that is used for translating subtitles.
- MongoDB (3rd party): This is the database that stores all the information about your transcriptions.
- Nginx (3rd party): This is the proxy that allows running everything from a single domain.
Contributing
Contributions are welcome! Feel free to open a PR with your changes, or take a look at the issues to see if there is something you can help with.
Development setup
Check out the development documentation here.
🖼️ Screenshots
These screenshots are available on the official website, click any of the following links to see:
🫀 Support
- Monero:
82x6cn628oTUXV63DxBd6MJB8d997FhaSaGFvoWMgwihVmgiXYQPAwm2BCH31AovA9Qnnv1qQRrJk83TaJ8DaSZU2zkbWfM - Bitcoin:
bc1qfph44jl4cy03stwfkk7g0qlwx2grldr9xpk086 - Lightning Network (kycnotme)
🤝 Credits
Languages
Svelte
44.8%
Go
27.6%
Python
9.8%
JavaScript
7%
Dockerfile
4.5%
Other
6.3%
