Automatically subtitle any video spoken in any language to a language of your choice.
Project description
Subtitler
Automatically subtitle any video spoken in any language to a language of your choice using AI.
Models used:
- OpenAI whisper - for audio-to-text
- Facebook M2M10 - for translation
Tools used:
ffmpeg
Please don't forget to star the repository if you find it useful or educational!
Before:
https://github.com/extremq/subtitler/assets/45830561/49f6ecce-cfdc-4f1c-97eb-07a36ac841c9
After (in Romanian - model_type=medium, language_model_type=base
):
https://github.com/extremq/subtitler/assets/45830561/20bc5169-0ce3-47cd-adb7-15d75daf27f4
Setup
Install using pip
.
pip install gptsubtitler
Install ffmpeg
:
# Ubuntu or Debian
sudo apt update && sudo apt install ffmpeg
# MacOS
brew install ffmpeg
# Windows using Chocolatey https://chocolatey.org/
choco install ffmpeg
Quick guide
Example usage for adding subtitles and translating them in Romanian:
You only need to specify the language you want the subtitles to be in, the program will handle the rest of the work.
from gptsubtitler import Transcriber
# I strongly recommend using the "medium" model_type.
Transcriber.transcribe("soldier.mp4", target_language="ro", model_type="medium", language_model_type="base")
# If you want to use the gpu, add device="cuda"
# Transcriber.transcribe("soldier.mp4", target_language="ro", model_type="medium", language_model_type="base", device="cuda")
You can also use the Translator
class from translator.py
if you just want to translate some text.
Example usage for translating from English to Romanian:
from gptsubtitler import Translator
print(Translator.translate("Hi!", target_language="ro", source_language="en"))
If you have generated a .srt
file and just want to add subtitles:
from gptsubtitler import create_video_with_subtitles
create_video_with_subtitles("video.mp4", "output.srt", "video_subtitled.mp4")
Options
Device (if you have a gpu and have installed pytorch, use "cuda"):
- cpu - default
- cuda
Available options for model_type
(the audio to text model):
- tiny
- base - default
- small
- medium
- large
Available options for language_model_type
(the language translator model):
- base - default
- large
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
File details
Details for the file gptsubtitler-0.0.8.tar.gz
.
File metadata
- Download URL: gptsubtitler-0.0.8.tar.gz
- Upload date:
- Size: 5.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5538c3400e7a1a751b07d0d4d5dcb008cd1c545e7d7563fca44a3aefedd10e28 |
|
MD5 | 8ef82d49e2d20ec6719f535f6fd794ab |
|
BLAKE2b-256 | 2a7759c5675881a4ad294c351cd8c991dbbe121bea048c6b3d8d3fa0ea2b90c5 |