SoniTranslate
repository·main·Indexed 23 days ago
https://github.com/r3gm/sonitranslateA web-based application for translating videos with synchronized audio using a Gradio-based UI. It supports transcription and translation across a wide array of languages, featuring a pipeline that includes speaker diarization, vocal refinement, and Text-to-Speech (TTS) engines like Piper and Coqui XTTS. The tool provides a comprehensive API for multilingual media and document conversion, supporting various output formats including subtitled MP4s, WAV/MP3 audio, and videobooks.
What's inside SoniTranslate
- SoniTranslate is a web application designed for video translation with synchronized audio. It provides a user-friendly interface built on the Gradio library, allowing users to translate videos into various supported languages while maintaining audio synchronization.
Run SoniTranslate via Colab Runtime
mainYou can run SoniTranslate using a Google Colab notebook, which provides a managed runtime environment. This is useful for users who do not want to set up a local environment.
https://colab.research.google.com/github/R3gm/SoniTranslate/blob/main/SoniTranslate_Colab.ipynbRun SoniTranslate
mainTo launch the SoniTranslate web interface:
- Activate the environment:
conda activate sonitr - Run the application script:
python app_rvc.py - Open your browser and navigate to the
local URLdisplayed in the terminal (typicallyhttp://127.0.0.1:7860).
conda activate sonitr python app_rvc.py- Activate the environment:
Prerequisites for SoniTranslate installation
mainBefore installing SoniTranslate, ensure the following requirements are met:
- NVIDIA Drivers: Install drivers for CUDA 11.8.0.
- Pyannote License: Create a Hugging Face account and accept the license agreements for:
https://huggingface.co/pyannote/speaker-diarizationhttps://huggingface.co/pyannote/segmentation
- Hugging Face Token: Create an Access Token on Hugging Face. Ensure you check "Read access to contents of all public gated repos you can access".
- Anaconda/Miniconda: Install for Python environment management.
- Git: Install Git (can be done via
conda install -c anaconda git -y). - FFmpeg: Required for multimedia processing. Install via
conda install -y ffmpegand verify withffmpeg -h.
Install optional TTS engines (Piper and Coqui XTTS)
mainYou can extend SoniTranslate with additional Text-to-Speech capabilities:
Piper TTS (Fast, local neural TTS):
pip install -q piper-tts==1.2.0Coqui XTTS (Realistic voice cloning):
pip install -q -r requirements_xtts.txt pip install -q TTS==0.21.1 --no-depspip install -q piper-tts==1.2.0 pip install -q -r requirements_xtts.txt pip install -q TTS==0.21.1 --no-depsStop and Reset SoniTranslate
mainTo stop the application, press
Ctrl+Cin the terminal. To deactivate the environment, runconda deactivate.If you need to perform a clean reinstall, delete the
SoniTranslatefolder and remove the Conda environment:conda deactivate conda env remove -n sonitrInstall SoniTranslate locally
mainFollow these steps to set up the SoniTranslate environment (tested on Linux):
Create and activate Conda environment:
conda create -n sonitr python=3.10 -y conda activate sonitr python -m pip install pip==23.1.2 Setuptools==80.6.0 conda install pytorch==2.5.1 torchvision==0.20.1 torchaudio==2.5.1 pytorch-cuda=11.8 -c pytorch -c nvidiaClone the repository:
git clone https://github.com/r3gm/SoniTranslate.git cd SoniTranslateInstall dependencies:
pip install -r requirements_base.txt -v pip install -r requirements_extra.txt -v pip install onnxruntime-gpu
conda create -n sonitr python=3.10 -y conda activate sonitr python -m pip install pip==23.1.2 Setuptools==80.6.0 conda install pytorch==2.5.1 torchvision==0.20.1 torchaudio==2.5.1 pytorch-cuda=11.8 -c pytorch -c nvidia git clone https://github.com/r3gm/SoniTranslate.git cd SoniTranslate pip install -r requirements_base.txt -v pip install -r requirements_extra.txt -v pip install onnxruntime-gpuInstall Optional TTS Engines (Coqui XTTS and Piper)
mainYou can extend SoniTranslate with additional Text-to-Speech capabilities:
Coqui XTTS (Voice cloning and realistic multilingual TTS):
pip install -q -r requirements_xtts.txt pip install -q TTS==0.21.1 --no-depsPiper TTS (Fast, local neural TTS): Note: Windows support is experimental.
pip install https://github.com/R3gm/piper-phonemize/releases/download/1.2.0/piper_phonemize-1.2.0-cp310-cp310-win_amd64.whl pip install sherpa-onnx==1.9.12 pip install piper-tts==1.2.0 --no-deps# Coqui XTTS pip install -q -r requirements_xtts.txt pip install -q TTS==0.21.1 --no-deps # Piper TTS (Experimental on Windows) pip install https://github.com/R3gm/piper-phonemize/releases/download/1.2.0/piper_phonemize-1.2.0-cp310-cp310-win_amd64.whl pip install sherpa-onnx==1.9.12 pip install piper-tts==1.2.0 --no-depsRun SoniTranslate via Web UI
mainTo launch the Gradio-based web interface:
- Activate the environment:
conda activate sonitr - Set your Hugging Face token as an environment variable:
export YOUR_HF_TOKEN="YOUR_HUGGING_FACE_TOKEN" - Run the application:
python app_rvc.py - Open the provided
local URL(typicallyhttp://127.0.0.1:7860) in your browser.
conda activate sonitr export YOUR_HF_TOKEN="YOUR_HUGGING_FACE_TOKEN" python app_rvc.py- Activate the environment:
Configure environment variables for Hugging Face and OpenAI
mainInstead of exporting variables every session, you can set them permanently within the Conda environment.
Set Hugging Face Token:
conda activate sonitr conda env config vars set YOUR_HF_TOKEN="YOUR_HUGGING_FACE_TOKEN_HERE" conda deactivateSet OpenAI API Key (for translation, TTS, or transcription):
conda activate sonitr conda env config vars set OPENAI_API_KEY="your-api-key-here" conda deactivateconda activate sonitr conda env config vars set YOUR_HF_TOKEN="YOUR_HUGGING_FACE_TOKEN_HERE" conda deactivate conda activate sonitr conda env config vars set OPENAI_API_KEY="your-api-key-here" conda deactivatePrerequisites for Windows Installation
mainBefore installing SoniTranslate on Windows, ensure the following requirements are met:
- Microsoft Visual C++ Build Tools: Install via the Visual Studio Installer. Select the "C++ build tools" workload and ensure "MSVCv142 - VS 2019 C++ x64/x86 build tools" and "Windows 10 SDK" (or Windows 11 SDK) are selected.
- NVIDIA Driver & CUDA: Verify your CUDA version by running
nvidia-smiin Command Prompt. TheCUDA Versionmust be at least 11.8. If it is lower, update your drivers via the NVIDIA website. - Hugging Face Access:
- Create an account on Hugging Face.
- Accept the license agreements for pyannote/speaker-diarization and pyannote/segmentation.
- Generate an Access Token with "Read access to contents of all public gated repos you can access".
- Software: Install Anaconda or Miniconda and Git.
Install SoniTranslate on Windows
mainFollow these steps to set up the SoniTranslate environment using Conda:
- Create and prepare the environment:
conda create -n sonitr python=3.10 -y conda activate sonitr python -m pip install pip==23.1.2 Setuptools==80.6.0 - Clone the repository:
git clone https://github.com/r3gm/SoniTranslate.git cd SoniTranslate - Install CUDA Toolkit 11.8.0:
conda install -c "nvidia/label/cuda-11.8.0" cuda-toolkit -y - Install PyTorch:
conda install pytorch==2.5.1 torchvision==0.20.1 torchaudio==2.5.1 pytorch-cuda=11.8 -c pytorch -c nvidia -y - Install core dependencies:
pip install -r requirements_base.txt -v pip install -r requirements_extra.txt -v pip install onnxruntime-gpu - Install FFmpeg:
Verify installation withconda install -y ffmpegffmpeg -h.
conda create -n sonitr python=3.10 -y conda activate sonitr python -m pip install pip==23.1.2 Setuptools==80.6.0 git clone https://github.com/r3gm/SoniTranslate.git cd SoniTranslate conda install -c "nvidia/label/cuda-11.8.0" cuda-toolkit -y conda install pytorch==2.5.1 torchvision==0.20.1 torchaudio==2.5.1 pytorch-cuda=11.8 -c pytorch -c nvidia -y pip install -r requirements_base.txt -v pip install -r requirements_extra.txt -v pip install onnxruntime-gpu conda install -y ffmpeg- Create and prepare the environment: