? Traducción de video con audio sincronizado
SonyTranslate es una aplicación web poderosa y fácil de usar que le permite traducir fácilmente videos a diferentes idiomas. Este repositorio aloja el código para la interfaz de usuario web SonyTranslate, que está construida con la Biblioteca Gradio para proporcionar una experiencia de usuario perfecta e interactiva.
Descripción | Enlace |
---|---|
? Cuaderno de colab | |
? Repositorio | |
Demostración en línea |
Para una comprensión integral del proyecto, recomendamos ver este video tutorial de Dev-Mallettes. Puede verlo en YouTube haciendo clic en la miniatura a continuación:
Código de idioma | Idioma |
---|---|
interno | Inglés |
fría | Francés |
Delaware | Alemán |
cepalle | Español |
él | italiano |
ja | japonés |
nl | Holandés |
Reino Unido | ucranio |
PT | portugués |
Arkansas | árabe |
zh | Chino - simplificado |
zh-t | Chino - tradicional |
CS | checo |
cañón | danés |
FI | finlandés |
El | Griego |
él | hebreo |
Hu | húngaro |
KO | coreano |
fa | persa |
por favor | Polaco |
freno | ruso |
TR | turco |
tu | Urdu |
Hola | hindi |
VI | vietnamita |
identificación | indonesio |
bn | bengalí |
TE | Telugu |
señor | Marathi |
ejército de reserva | Tamil |
JW (o JV) | javanés |
California | catalán |
nordeste | Nepalí |
th | tailandés |
SV | sueco |
soy | Amárico |
cy | galés |
hora | croata |
es | islandés |
ka | georgiano |
km | Jemer |
sk | eslovaco |
sq | albanés |
sr | serbio |
Arizona | Azerbaiyano |
BG | búlgaro |
GL | gallego |
Gu | Gujarati |
kk | Kazáceo |
Kn | Kannada |
teniente | lituano |
lv | letón |
ml | Malayalam |
RO | rumano |
si | Sinhala |
SU | Sundanese |
en | Estonio |
mk | macedónio |
sudoeste | swahili |
AF | africaans |
bs | bosnio |
la | latín |
mi | Myanmar birmano |
No | noruego |
como | Assamese |
UE | vasco |
Ja | Hausa |
HT | Criollo haitiano |
hy | armenio |
holgazanería | Lao |
mg | madagascarí |
Minnesota | mongol |
monte | maltés |
Pensilvania | punjabi |
PD | Pashto |
SLE | esloveno |
sn | Shona |
entonces | somalí |
tg | Tayiko |
TK | Turco |
TT | Tártaro |
Uz | Uzbek |
yo | Yoruba |
Código de idioma | Idioma |
---|---|
sí | Aymara |
bm | Bambara |
CEB | Cebuano |
Nueva York | Chichewa |
dv | Divehi |
doi | Dogri |
EE | Ewe |
gn | guaraní |
Oilo | Iloko |
RW | Kinyarwanda |
kri | Krio |
ku | kurdo |
Kentucky | Kirghiz |
lg | Ganda |
mai | Maithili |
o | Oriya |
om | Oromo |
dejar | quechua |
sm | Samoo |
Ti | Tigrinya |
TS | Tsonga |
Alaska | Akan |
UG | Uighur |
Para ejecutar Sonitranslate usando COLAB TIME:
Antes de comenzar a instalar y usar Sonitranslate, hay algunas cosas que debe hacer:
accept the license to use the models
: https://huggingface.co/pyannote/speaker-diarization y https://huggingface.co/pyannote/segmentationconda install -c anaconda git -y
en su terminal (haga esto después del paso 1 en la siguiente sección). Si tiene problemas para instalar Git a través de Anaconda, puede usar el siguiente enlace:Una vez que haya completado estos pasos, estará listo para instalar Sonitranslate.
Para instalar Sonitranslate, siga estos pasos:
conda create -n sonitr python=3.10 -y
conda activate sonitr
python -m pip install pip==23.1.2
conda install pytorch torchvision torchaudio 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-gpu
Instale ffmpeg. FFMPEG es un proyecto de software gratuito que produce bibliotecas y programas para manejar datos multimedia. Lo necesitará para procesar archivos de audio y video. Puede instalar FFMPEG con Anaconda ejecutando conda install -y ffmpeg
en su terminal (recomendado). Si tiene problemas para instalar FFMPEG a través de Anaconda, puede usar el siguiente enlace en su lugar: (https://ffmpeg.org/ffmpeg.html). Una vez que esté instalado, asegúrese de que esté en su camino ejecutando ffmpeg -h
en su terminal. Si no recibe un mensaje de error, está listo para comenzar.
Instalación opcional:
Después de instalar FFMPEG, puede instalar estos paquetes opcionales.
Piper TTS es un sistema de texto neuronal a voz rápido que suena muy bien y está optimizado para la Raspberry Pi 4. Piper se usa en una variedad de proyectos. Las voces están capacitadas con VITs y se exportan al Onnxruntime.
pip install -q piper-tts==1.2.0
Coqui XTTS es un modelo de texto a voz (TTS) que le permite generar voces realistas en diferentes idiomas. Puede clonar voces con solo un breve clip de audio, ¡incluso hablar en un idioma diferente! Es como tener una voz personal imitar para cualquier texto que necesite hablar.
pip install -q -r requirements_xtts.txt
pip install -q TTS==0.21.1 --no-deps
Para ejecutar Sonitranslate localmente, asegúrese de que el entorno sonitr
conda esté activo:
conda activate sonitr
Configurar su token facial abrazando como una variable de entorno en Linux:
export YOUR_HF_TOKEN="YOUR_HUGGING_FACE_TOKEN"
Luego navegue a la carpeta SoniTranslate
y ejecute la app_rvc.py
python app_rvc.py
Cuando la local URL
http://127.0.0.1:7860
se muestra en el terminal, simplemente abra esta URL en su navegador web para acceder a la interfaz Sonitranslate.
En la mayoría de los entornos, puede detener la ejecución presionando Ctrl+C en el terminal donde inició el script app_rvc.py
. Esto interrumpirá el programa y detendrá la aplicación Gradio. Para desactivar el entorno de conda, puede usar el siguiente comando:
conda deactivate
Esto desactivará el entorno Conda Actualmente activo Sonitr, y volverá al entorno base o al entorno global de Python.
Si necesita comenzar de nuevo desde cero, puede eliminar la carpeta SoniTranslate
y eliminar el entorno de conda sonitr
con el siguiente conjunto de comandos:
conda deactivate
conda env remove -n sonitr
Con el entorno sonitr
eliminado, puede comenzar de nuevo con una nueva instalación.
conda 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 deactivate
El script App_rvc.py admite argumentos de línea de comandos para personalizar su comportamiento. Aquí hay una breve guía sobre cómo usarlos:
Comando de argumento | Por defecto | Valor | Descripción |
---|---|---|---|
--tema | Taithrah/mínimo | Cadena | Establece el tema para la interfaz. Los temas se pueden encontrar en la galería de temas. |
--idioma | inglés | Cadena | Selecciona el idioma de la interfaz. Opciones disponibles: afrikaans, árabe, azerbaiyano, chino_zh_cn, inglés, francés, alemán, hindi, indonesio, italiano, japonés, coreano, marathi, persa, polaco, portugués, ruso, español, sueco, turco, ucraniano, vietnamés. |
--verbosity_level | información | Cadena | Establece el nivel de verbosidad del registrador: depuración, información, advertencia, error o crítico. |
--Public_url | Booleano | Habilita un enlace público. | |
--cpu_mode | Booleano | Habilite el modo CPU para ejecutar el programa sin utilizar la aceleración de la GPU. | |
--logs_in_gui | Booleano | Muestra las operaciones realizadas en registros (obsoleto). |
Ejemplo de uso:
python app_rvc.py --theme aliabid94/new-theme --language french
Este comando establece el tema en un tema personalizado y selecciona francés como el idioma de la interfaz. Siéntase libre de personalizar estos argumentos de acuerdo con sus preferencias y requisitos.
2024/18/05: Nuevos detalles de actualización
kotoba-tech/kotoba-whisper-v1.1
para la transcripción japonesa disponible aquíapp_rvc.py --cpu_mode
2024/03/02: preservar los nombres de los archivos en la salida. Ahora se pueden enviar múltiples archivos simultáneamente especificando sus rutas, directorios o URL separados por comas. Procesamiento de una lista de reproducción de YouTube completa. Sobre la URL de sitios compatibles, tenga en cuenta que no todos los sitios pueden funcionar de manera óptima. Opción agregada para deshabilitar la diarización. Implementados subtítulos suaves. Salida de formato (MP3, MP4, MKV, WAV y OGG), y resueltos problemas relacionados con la lectura y diarización de archivos.
2024/02/22: Se agregó FREEVC para imitación de voz, pista sin voz fija, divide segmentos. Nuevos idiomas apoyan (sueco, amárico, galés, croata, islandés, georgiano, khmer, eslovaco, albanés, serbio, azerbaiyano, búlgaro, galiano, gujarati, kazakh, kannada, lithuaniano, lestino, malayalam, romano, sinhala y sundaneses). Nuevas traducciones de la GUI (española, francesa, alemana, italiana, japonesa, simplificada china, ucraniana, árabe, rusa, turca, indonesia, portuguesa, hindi, vietnamita, polaca, suecia, coreana, marathi y azerbaiyana). Con el archivo Subtitle, no se alinea y el archivo de medios no es necesario para procesar el archivo SRT. Quemar subtítulos a video. La cola puede aceptar múltiples tareas simultáneamente. Notificación de alerta de sonido. Continúe el proceso desde el último punto de control. Regulación de la tasa de aceleración.
2024/01/16: Apoyo del lenguaje ampliado (tailandés, nepalí, catalán, javanés, tamil, marathi, telugu, bengalí e indonesio), la introducción de V3 grandes V3, integración de GUI configurable, integración de corteza, Facebook-MMS, Coqui xtts , y Piper-Tts. Las características adicionales incluían utilidades de separación de audio, creación de WAV XTTS, use un archivo SRT como base para traducción, traducción de documentos, edición de altavoces manuales y opciones de salida flexibles (video, audio, subtítulos).
2023/10/29: Edite el subtítulo traducido, descargue, ajuste las opciones de volumen y velocidad.
2023/08/03: Opciones predeterminadas cambiadas y Vista de directorio agregada de las descargas.
2023/08/02: Soporte adicional para el árabe, checo, danés, finlandés, griego, hebreo, húngaro, coreano, persa, polaco, ruso, turco, urdu, hindi y vietnamita.
2023/08/01: Agregar opciones para usar modelos RVC.
2023/07/27: corrige algunos errores que procesan el video y el audio.
2023/07/26: nueva interfaz de usuario y agregar opciones de mezcla.
¡Bienvenido a las contribuciones de la comunidad! Si tiene alguna idea, informes de errores o solicitudes de funciones, abra un problema o envíe una solicitud de extracción. Para obtener más información, consulte las pautas de contribución.
Este proyecto aprovecha una serie de proyectos de código abierto. Nos gustaría reconocer y agradecer a los contribuyentes de los siguientes repositorios:
Aunque el código tiene licencia bajo Apache 2, los modelos o pesos pueden tener restricciones comerciales, como se ve con la diarización de Pyannote.