¡Arreglé otro bug en la herramienta de doblaje de código abierto!
Otra vez vengo con historia de OmniVoice. Te lo resumo: encontré un bug capaz de congelar la app entera, lo arreglé, y al día siguiente el arreglo salió en la nueva versión (v0.3.15). Con mi nombre de GitHub en las notas de la versión y todo. Eso sí, el camino hasta ahí tuvo sus baches.
Me salía coreano en medio del doblaje en español
Estaba doblando un vídeo en coreano al español, y algunas frases salieron sin traducir, tal cual el original. En medio de todas las voces en español, de repente te lee una frase en coreano, bien clarita.
Me puse con Claude a buscar la causa. Para imitar la voz, la app recorta trocitos de audio del vídeo original, y cada trocito lleva una nota que dice “aquí se está diciendo esto”. Pues resulta que a veces las dos cosas se desajustan: el audio está cortado aquí, pero la nota describe un punto medio compás más allá. Cuando no cuadran, el modelo se confunde y, en vez de la traducción, te lee la nota en voz alta.
Escribí la causa en un issue y subí también un PR con mi arreglo: cada vez que la app cree un trocito de audio, transcribirlo de nuevo, para obligar a que el sonido y el texto coincidan.
Mi primer PR se cerró sin entrar, por cuestión de horas
El creador del proyecto solo vio mi issue y, en cuestión de horas, lo arregló él mismo con el mismo enfoque. Sin haber visto el PR que yo ya había subido. Así que mi PR se quedó fuera.
Me dio pena, la verdad. Había traído la solución entera hecha código, y acabé siendo solo el que avisó. Aun así, al cerrarlo me dejó un comentario. Dijo que mi reporte estaba entre los más claros que había recibido el proyecto, y pidió disculpas: no revisar los PR abiertos había sido error suyo. Y añadió una cosa más. Que si algún día veía algo que mi código manejaba mejor que la versión aceptada, se lo mandara sin dudarlo, que se lo tomaría en serio.
El comentario al cerrar el PR #1005
Releyendo el código aceptado, encontré un hueco
Él decía que su código hacía lo mismo que el mío. Yo quería saber si eso era verdad, y encima acababan de invitarme a mandar cualquier diferencia que encontrara. Así que puse los dos códigos lado a lado y los comparé. Había un punto distinto.
La app tiene una especie de empleado que se dedica a pasar el audio a texto, y arrastra una manía de siempre: muy de vez en cuando se queda colgado, sin dar señales de vida. Por eso, cada vez que se le pide una transcripción, se le pone también un temporizador: si no responde a tiempo, se le da por perdido y se sigue adelante. Pues en un punto del código recién aceptado faltaba ese temporizador. Si el empleado se cuelga justo ahí, la app entera se queda congelada como muerta. Mi código tenía el temporizador. El aceptado, no.
Esta vez entró en un día
Esta vez subí un PR con todo lo necesario dentro: dónde estaba el problema, qué pasa si se queda así, y un test que falla antes del arreglo y pasa después.
Al día siguiente lo aceptaron tal cual, sin tocar una coma. El comentario decía que había encontrado un hueco real, que seguía el estilo que ya usaba el archivo, que los tests eran de manual, y que él mismo lo había verificado por su cuenta. También me dio las gracias por haberme tomado en serio aquella invitación.
El comentario del merge del PR #1031
Y ese mismo día, mi nombre apareció en las notas de la versión v0.3.15.
Las notas de la versión v0.3.15, donde aparece mi nombre de GitHub
Volví a doblar con la nueva versión el vídeo que empezó todo esto. Esta vez no se cuela ni una frase en coreano.
Original (coreano)
Con el bug: en medio se cuela el coreano
Arreglado (v0.3.15): inglés de principio a fin
Este doblaje es de coreano a inglés. El bug aparecía sin importar el idioma de destino.
Lo que aprendí
Arreglando este bug aprendí algo: que te cierren un PR no es el final. Releí con calma el código que había entrado, vi lo que se le había escapado a todos, y lo llevé de vuelta con educación y con pruebas. Un día después estaba en la versión oficial. Si hubiera tirado la toalla cuando no aceptaron mi PR, no habría vuelto a tocar el código. Y nada de esto habría llegado a la versión oficial.
Arreglar issues de código abierto me sigue enseñando cosas. Hay muchísima gente contribuyendo y construyendo estas herramientas entre todos. Y ahora yo soy parte de eso. Como uso la app a diario, sé exactamente qué es un bug y qué no, y eso me anima a contribuir más. Y cuanto más contribuyo, más cariño le cojo. Ojalá el código abierto siga cogiendo fuerza y se anime más gente a participar.
¿Hay alguien más por aquí contribuyendo a algún proyecto de código abierto? Cuéntame tu experiencia en los comentarios.
Para los curiosos del código: aquí está el PR #1031 que se aceptó. Los capítulos anteriores están en la primera parte y la segunda parte.
Recibe el resumen semanal de doblaje con IA
Un repaso semanal del doblaje con IA y las novedades, en el idioma que elijas. Sin spam, te puedes dar de baja cuando quieras.
Comentarios (0)
Aún no hay comentarios: sé el primero.