Automatically translates the text of a video based on a subtitle file, and then uses AI voice services to create a new dubbed & translated audio track where the speech is synced using the subtitle's timings.
Python
1,751
216 commits
updated May 11, 2026
Automatically translates the text of a video into chosen languages based on a subtitle file, and also uses AI voice to dub the video, while keeping it properly synced to the original video using the subtitle's timings.
If you already have a human-made SRT subtitles file for a video, this will:
TrackAdder.py: Adds all language audio tracks to a video file
TitleTranslator.py: Translates a YouTube video Title and Description to multiple languagesTitleDescriptionUpdater.py: Uses YouTube API to update the localized titles and descriptions for a YouTube video using output of TitleTranslator.pySubtitleTrackRemover.py: Uses YouTube API to remove a specific audio track from a YouTube videoTranscriptTranslator.py: Translates an entire transcript of textTranscriptAutoSyncUploader.py: Using YouTube API, it lets you upload a transcript for a video, then have YouTube sync the text to the video
YouTube_Synced_Translations_Downloader.py: Using YouTube API, translate the captions of a video into the specified languages, then download the auto-synced subtitle file created by YouTubepip install -r requirements.txt
cloud_service_settings.ini.
config.ini. The default settings should work in most cases, but read through them especially if you are using Azure for TTS because there are more applicable options you may want to customize.
batch.ini to set the language and voice settings that will be used for each run.
[SETTINGS] section you will enter the path to the original video file (used to get the correct audio length), and the original subtitle file pathenabled_languages variable to list all the languages that will be translated and synthesized at once. The numbers will correspond to the [LANGUAGE-#] sections in the same config file. The program will process only the languages listed in this variable.python main.py and let it run to completion
TrackAdder.py script to automatically add the resulting language tracks to an mp4 video file. Requires ffmpeg to be installed.
TitleTranslator.py script if uploading to YouTube, which lets you enter a video's Title and Description, and the text will be translated into all the languages enabled in batch.ini. They wil be placed together in a single text file in the "output" folder.191 followers · starred Dec 2022
121 followers · starred Dec 2022
26 followers · starred Apr 2023
117 followers · starred Aug 2023
Automatically translates the text of a video based on a subtitle file, and then uses AI voice services to create a new dubbed & translated audio track where the speech is synced using the subtitle's timings.
Python
1,751
216 commits
updated May 11, 2026
Automatically translates the text of a video into chosen languages based on a subtitle file, and also uses AI voice to dub the video, while keeping it properly synced to the original video using the subtitle's timings.
If you already have a human-made SRT subtitles file for a video, this will:
TrackAdder.py: Adds all language audio tracks to a video file
TitleTranslator.py: Translates a YouTube video Title and Description to multiple languagesTitleDescriptionUpdater.py: Uses YouTube API to update the localized titles and descriptions for a YouTube video using output of TitleTranslator.pySubtitleTrackRemover.py: Uses YouTube API to remove a specific audio track from a YouTube videoTranscriptTranslator.py: Translates an entire transcript of textTranscriptAutoSyncUploader.py: Using YouTube API, it lets you upload a transcript for a video, then have YouTube sync the text to the video
YouTube_Synced_Translations_Downloader.py: Using YouTube API, translate the captions of a video into the specified languages, then download the auto-synced subtitle file created by YouTubepip install -r requirements.txt
cloud_service_settings.ini.
config.ini. The default settings should work in most cases, but read through them especially if you are using Azure for TTS because there are more applicable options you may want to customize.
batch.ini to set the language and voice settings that will be used for each run.
[SETTINGS] section you will enter the path to the original video file (used to get the correct audio length), and the original subtitle file pathenabled_languages variable to list all the languages that will be translated and synthesized at once. The numbers will correspond to the [LANGUAGE-#] sections in the same config file. The program will process only the languages listed in this variable.python main.py and let it run to completion
TrackAdder.py script to automatically add the resulting language tracks to an mp4 video file. Requires ffmpeg to be installed.
TitleTranslator.py script if uploading to YouTube, which lets you enter a video's Title and Description, and the text will be translated into all the languages enabled in batch.ini. They wil be placed together in a single text file in the "output" folder.191 followers · starred Dec 2022
121 followers · starred Dec 2022
26 followers · starred Apr 2023
117 followers · starred Aug 2023