diff --git a/README.es-ES.md b/README.es-ES.md new file mode 100644 index 0000000..ae41877 --- /dev/null +++ b/README.es-ES.md @@ -0,0 +1,77 @@ + + +# AutoSrtSyncGUI + +Un programa de Python con interfaz gráfica para sincronizar automáticamente subtítulos con una velocidad de fotogramas incorrecta comparando el habla en la película con el texto de los subtítulos. Si tus subtítulos SRT se desincronizan constantemente con el audio/video (un único desplazamiento no funciona por mucho tiempo), esta es la herramienta que necesitas. + +Esto sincronizará los subtítulos SRT automáticamente utilizando el reconocimiento de voz de Google. Toma algún tiempo (depende realmente del video, puede ir desde segundos hasta minutos), pero no necesitas encontrar tú mismo las horas de los subtítulos y la película, lo que lo hace mucho más conveniente. + +Funciona bastante de forma confiable para películas en inglés, y también lo he probado en algunas películas en francés. +NOTA: por ahora solo funciona para subtítulos que estén en el mismo idioma que el video + +Este programa no funcionará si el video tiene un comercial que los subtítulos no tengan. Utiliza dos puntos para realizar una sincronización lineal para una diferencia en la velocidad de fotogramas y/o hora de inicio entre los subtítulos y el video (el problema más común con el que me encuentro) + +## Características + +### Sincronización de un solo archivo +- Entrada manual de tiempos para un control preciso +- Relleno automático de tiempos usando reconocimiento de voz +- Seguimiento del progreso en tiempo real con visualización de marcas de tiempo +- Soporte para múltiples codificaciones (UTF-8, Latin-1) + +### Sincronización por lotes (¡NUEVO!) +Perfecto para sincronizar temporadas completas de TV o varios episodios a la vez: +- **Proceso simple**: Selecciona carpetas → Selecciona varios archivos con Ctrl+Click → Cambia a la pestaña de Sincronización por lotes → Inicia el procesamiento +- **Emparejamiento automático**: Los archivos se emparejan alfabéticamente (p. ej., `episode01.srt` ↔ `episode01.mkv`) +- **Seguimiento del progreso**: Visualiza tanto el progreso general del lote como el progreso del análisis de cada archivo individual +- **Procesamiento robusto**: Continúa incluso si algunos archivos fallan, con informes detallados de errores +- **Nomenclatura consistente requerida**: Los archivos deben seguir patrones como `S01E01.srt`/`S01E01.mkv` para obtener los mejores resultados + +## Principales bibliotecas utilizadas +- srt/srt_tools para analizar archivos de subtítulos .srt +- speech_recognition para la interfaz con la API de reconocimiento de voz de Google +- moviepy para recortar clips de audio cortos de un video +- FreeSimpleGUI para la interfaz de usuario + +## Cómo usarlo + +### Sincronización de un solo archivo: +1. Instala las dependencias con pip (srt, FreeSimpleGUI, speech_recognition, srt_tools, moviepy) +2. Ejecuta el programa +3. Selecciona el archivo SRT y el video con el que deseas sincronizarlo +4. Elige la configuración (codificación, opciones de sincronización automática) +5. Presiona "Auto Fill Times" y espera a que se complete + +### Sincronización por lotes: +1. Usa los exploradores de carpetas para seleccionar tus carpetas de subtítulos y videos +2. Usa **Ctrl+Click** o **Shift+Click** para seleccionar varios archivos de cada lista +3. Cambia a la pestaña "Batch Sync" para previsualizar el emparejamiento de archivos +4. Haz clic en "Start Batch Sync" y monitorea el progreso + +### Configuración y consejos: +- **Codificación**: Prueba con diferentes codificaciones si obtienes errores (UTF-8 vs Latin-1) +- **Idioma**: Elige el idioma correcto para el reconocimiento de voz +- **Confianza**: Los valores más altos (70%+) reducen las coincidencias falsas +- **Nomenclatura de archivos**: Usa patrones consistentes como `episode01.srt`/`episode01.mkv` para el procesamiento por lotes +- **Archivos de salida**: La sincronización individual crea `_autosync.srt`, la por lotes crea `_batch_autosync.srt` + +Si obtienes un error de codificación, prueba con otra codificación del menú desplegable y presiona Aceptar. +Puedes también editar los tiempos generados manualmente y presionar Aceptar para volver a sincronizar. + +TODO: +- ~~Agregar una opción para elegir la confianza necesaria en el reconocimiento de voz (actualmente 70%)~~ +- ~~Agregar una opción para elegir el número mínimo de palabras necesarias para la coincidencia (actualmente 3 palabras)~~ +- ~~Agregar una opción para elegir cuántos segundos de habla utilizar para el reconocimiento (actualmente 2,5 segundos)~~ +- Agregar una opción para permitir coincidencias aproximadas +- Agregar GIFs de video con subtítulos desincronizados vs sincronizados al README + +Imágenes: + +**Interfaz inicial**
+
+**Archivos seleccionados**
+
+**Sincronización completada**
+
+**Archivos creados**
+