Cómo creé mi propio “Kindle Whispersync” para aprender idiomas: lectura + audio sincronizados

Soy desarrollador de software y apasionado por la tecnología y la enseñanza. Durante mis 12 años de carrera profesional, he trabajado en empresas NASDAQ y algunas otras con empresas de capital privado.
Actualmente, trabajo como Ingeniero de Software Senior y cuento con experiencia en diferentes áreas como desarrollo de software, implementación de sistemas y testing, diseño e implementación de sistemas en la nube, gestión de proyectos bajo metodologías ágiles como SCRUM y Kanban.
Siempre he sentido que leer y escuchar al mismo tiempo es una de las formas más efectivas de aprender un idioma. La idea de Amazon Whispersync me parecía perfecta: compras el libro en Kindle, el audiolibro en Audible y tienes sincronización. El problema fue que yo necesitaba materiales adecuados para mi nivel y, además, el libro específico que quería no tenía la opción de Whispersync. Decidí entonces construir mi propia versión casera, usando recursos gratuitos y de dominio público. Aquí te cuento, paso a paso y tal como lo fui haciendo.
Si quieres ver un ejemplo funcionando, puedes abrir mi visor web aquí: https://jfernandogt.github.io/gentler-viewer/
Lo primero fue resolver el tema del nivel. No quería lanzarme a una novela compleja y frustrarme a las diez páginas. Recordé Penguin Readers, que clasifica libros por niveles de inglés. Entré a su sitio, revisé los niveles (A1–C1) y me armé una lista de obras que me interesaban y que, idealmente, existieran en dominio público. Aquí fue donde hice mi “curaduría”: una selección cuidadosa de historias que me motivaran y encajaran con mi nivel. Al final elegí The Hound of the Baskervilles, de Arthur Conan Doyle.
Con la decisión tomada, me fui a por el texto. En Project Gutenberg encontré la obra y descargué la versión en TXT: https://www.gutenberg.org/ebooks/2852. Abrí el archivo y le hice una limpieza rápida. Quitar los encabezados y pies de página que añade Gutenberg. Esta parte es clave: si el texto no coincide con lo que dice el narrador, la alineación se desajusta.
El siguiente paso fue conseguir el audio. En LibriVox encontré el audiolibro: https://librivox.org/the-hound-of-the-baskervilles-by-arthur-conan-doyle/
Escuché los primeros minutos y los comparé con el texto de Gutenberg. La coincidencia era buena: mismo orden de capítulos, lenguaje muy similar y una narración clara. Eso me dio confianza para seguir. Descargué los capítulos en MP3.
Con texto y audio listos, pasé a la parte técnica: la alineación. Usé Gentle, una herramienta de forced alignment que toma un archivo de audio y el texto correspondiente y devuelve un JSON con marcas de tiempo por palabra. Seguí las instrucciones del repositorio para correrlo localmente y, por prudencia, empecé únicamente con el capítulo 1.
Una vez tuve el JSON de Gentle, me puse a construir el visor. Quería algo simple y accesible desde cualquier dispositivo: una página web con HTML, CSS y JavaScript. El visor carga el audio desde una URL pública (por ejemplo, un MP3 alojado en GitHub Pages) y, en paralelo, carga el JSON con la alineación. Con eso, el script puede resaltar en tiempo real la palabra que se está pronunciando mientras el audio avanza. Agregué dos detalles que cambiaron por completo la experiencia: la posibilidad de hacer clic en una parte del texto para saltar a ese punto del audio, así, si una frase se me hacía complicada, podía repetirla de inmediato sin perder el ritmo.
Para alojarlo, opté por GitHub Pages. Subí el HTML, el CSS, el JavaScript y probé con un capítulo de The Hound of the Baskervilles. Ajusté cosas de usabilidad sobre la marcha: un control de velocidad, un modo oscuro para leer de noche. Cuando estuve conforme, dejé el visor accesible públicamente para poder usarlo desde el teléfono, la computadora o la tablet sin instalar nada. Puedes verlo en acción aquí: https://jfernandogt.github.io/gentler-viewer/
Lo más valioso del proceso es cómo impacta en el aprendizaje del idioma. Tener texto y audio sincronizados me ayudó a fijar la relación entre lo que veo y lo que escucho, además que al empezar con una obra que se ajustaba a mi nivel, la experiencia fue desafiante pero llevadera, sin caer en la frustración.
Te dejo algunas capturas de pantalla





