Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
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.
| Date | Stars |
|---|---|
| 2026-07-24 | 1743 |
| 2026-07-25 | 1744 |
| 2026-07-28 | 1744 |
| 2026-07-30 | 1744 |
| 2026-08-06 | 1744 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
# Auto Synced & Translated Dubs
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.
### How It Works
If you already have a human-made SRT subtitles file for a video, this will:
1. Use Google Cloud/DeepL to automatically translate the text, and create new translated SRT files
2. Use the timings of the subtitle lines to calculate the correct duration of each spoken audio clip
3. Create text-to-speech audio clips of the translated text (using more realistic neural voices)
4. Stretch or shrink the translated audio clip to be exactly the same length as the original speech.
- Optional (On by Default): Instead of stretching the audio clips, you can instead do a second pass at synthesizing each clip through the API using the proper speaking speed calculated during the first pass. This slightly improves audio quality.
- If using Azure TTS, this entire step is not necessary because it allows specifying the desired duration of the speech before synthesis
5. Builds the audio track by inserting the new audio clips at their correct time points. Therefore the translated speech will remain perfectly in sync with the original video.
### More Key Features
- Creates translated versions of the SRT subtitle file
- Batch processing of multiple languages in sequence
- Config files to save translation, synthesis, and language settings for re-use
- Allows detailed control over how the text is translated and synthesized
- Including: A "Don't Translate" phrase list, a manual translation list, a phoneme pronunciation list, and more
### Additional Included Tools
- `TrackAdder.py`: Adds all language audio tracks to a video file
- With ability to merge a sound effects track into each language track
- `TitleTranslator.py`: Translates a YouTube video Title and Description to multiple languages
- `TitleDescriptionUpdater.py`: Uses YouTube API to update the localized titles and descriptions for a YouTube video using output of TitleTranslator.py
- `SubtitleTrackRemover.py`: Uses YouTube API to remove a specific audio track from a YouTube video
- `TranscriptTranslator.py`: Translates an entire transcript of text
- `TranscriptAutoSyncUploader.py`: Using YouTube API, it lets you upload a transcript for a video, then have YouTube sync the text to the video
- You can also upload multiple pre-translated transcripts and have YouTube sync it, assuming the language is supported
- `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 YouTube
----
# Instructions
### External Requirements:
- ffmpeg must be installed (https://ffmpeg.org/download.html)
### Optional External Tools:
- Optional: Instead of ffmpeg for audio stretching, you could use the program'rubberband'
- I've actually found ffmpeg works better, but I'll still leave the option for rubberband if you want.
- If using Rubberband, yoou'll need the rubberband binaries. Specifically on [this page]((https://breakfastquay.com/rubberband/), find the download link for "Rubber Band Library v3.3.0 command-line utility" (Pick the Windows or MacOS version depending). Then extract the archive to find:
- On Windows: rubberband.exe, rubberband-r3.exe, and sndfile.dll
- On MacOS: rubberband, rubberband-r3
- Doesn't need to be installed, just put the above mentioned files in the same directory as main.py
## Setup & Configuration
1. Download or clone the repo and install the requirements using `pip install -r requirements.txt`
- I wrote this using Python 3.9 but it will probably work with earlier versions too
2. Install the programs mentioned in the 'External Requirements' above.
3. Setup your Google Cloud (See Wiki), Microsoft Azure API access and/or DeepL API Token, and set the variables iExcerpt of 9,485 characters
Read on GitHub207
8
1
Would you bet a product on this? Bounded 0–100 and slow moving.
matched fp:ba6ce7c543cb4891, topic:text-to-speech, topic:tts, readme:text-to-speech