3 puntos por GN⁺ 2023-12-25 | 1 comentarios | Compartir por WhatsApp

Storyteller: plataforma de sincronización automática para audiolibros y ebooks

  • Storyteller es una plataforma autoalojada que sincroniza automáticamente audiolibros y ebooks.
  • La plataforma genera archivos de ebook compatibles con el estándar EPUB 3, por lo que pueden leerse en cualquier lector de ebooks (software o hardware) que soporte EPUB Media Overlays, o bien usar la app móvil dedicada de Storyteller.
  • Storyteller es completamente autoalojado, y todos los libros se almacenan en el hardware del usuario, por lo que pueden moverse, copiarse o respaldarse libremente según sea necesario.

La opinión de GN⁺

  • Storyteller es importante porque ofrece una plataforma para sincronizar fácilmente audiolibros y ebooks, mejorando la experiencia de lectura del usuario.
  • La capacidad de autoalojamiento, que permite al usuario tener control total sobre sus datos, encaja con las preocupaciones actuales sobre privacidad y propiedad de los datos.
  • El cumplimiento del estándar EPUB 3 contribuye a mejorar la compatibilidad y la accesibilidad, ya que permite a los usuarios leer libros en diversos dispositivos y programas.

1 comentarios

 
GN⁺ 2023-12-25
Opiniones de Hacker News
  • Increíble. Hace unos años hice una herramienta similar de alineación entre ebook y audiolibro, https://github.com/r4victor/syncabook
    En ese momento, consideré que los métodos de alineación de texto, incluidos los basados en machine learning, eran demasiado costosos en cómputo y no alcanzaban para textos largos, así que opté por sintetizar el texto a voz y luego alinear dos secuencias de audio
    Storyteller parece usar un enfoque de alineación de texto; me da curiosidad cuánto tarda en sincronizar un libro completo
    Además, las versiones de audio y texto a menudo difieren bastante. Por ejemplo, el audio puede incluir una introducción que no está en el texto. También quisiera saber qué tan bien maneja Storyteller estos casos, si hace falta editar manualmente el audio/texto o si procesa las diferencias automáticamente

    • syncabook es excelente, y Storyteller adopta prácticamente el enfoque opuesto para la alineación forzada (forced alignment)
      En la documentación dejé detallado el algoritmo de sincronización, pero a grandes rasgos es así: Storyteller transcribe el audio a texto con Whisper, y esta es la etapa con mayor costo computacional
      Luego usa búsqueda difusa basada en distancia de Levenshtein para encontrar cada capítulo dentro del texto. Esa es la parte que intenta contemplar las diferencias entre las versiones de audio y texto
      Para cada capítulo, vuelve a hacer una búsqueda difusa sobre toda la transcripción para encontrar las marcas de tiempo de inicio/fin de cada oración
      En general funciona bastante bien, pero como toma el ebook como dato de referencia, por ahora a veces se pierde introducciones o partes finales del audiolibro. El soporte para disparar explícitamente esas secciones está en el roadmap
    • La documentación dice que normalmente toma entre 1 y 4 horas, según el libro y el hardware: https://smoores.gitlab.io/storyteller/docs/syncing-books
      La documentación también explica en detalle el algoritmo que maneja automáticamente las diferencias entre audio y texto
  • Está buenísimo. Es algo que no se me había ocurrido antes
    En el trayecto al trabajo empecé a escuchar audiolibros, y de noche leo el libro. Ahora estoy escuchando ebooks con audiobookshelf[0], que también soporta ebooks
    Dejé un comentario[1] en la discusión sobre si audiobookshelf puede leer los EPUB que genera Storyteller
    [0]: https://www.audiobookshelf.org/
    [1]: https://github.com/advplyr/audiobookshelf/issues/189#issueco...

    • Escuchar audiolibros en el trayecto y leer de noche fue casi exactamente la razón por la que empecé a trabajar en esto hace más de 2 años
      Quería poder pasar libremente entre un audiolibro y su versión en texto. Gracias por mencionar Storyteller en esa discusión; tendré que entrar a verla
  • Me encanta. Pero mi esposa y mis hijos leen EPUB en lectores de ebooks Kobo, así que me gustaría poder sincronizar la última página leída desde Kobo hacia Storyteller para luego continuar con el audiolibro
    Si hace falta para la sincronización, no me molesta instalar KOReader en todos los Kobo. Parece que KOReader no soporta superposiciones multimedia de EPUB3, pero sí tiene función de sincronización

    • Tanto la sincronización de posición de lectura del lado del servidor como la integración con KOReader están efectivamente en el roadmap. Es una necesidad que ya apareció varias veces
    • Amazon ahora tiene tanto libros en texto como audio de Audible, y no tiene sentido que no haya ningún tipo de función de sincronización
      Incluso podría hacer que la gente compre el libro en ambos formatos. Muchas veces, cuando estoy leyendo un ebook y quiero continuar mientras manejo, me gustaría tener un “handoff” que me pase de forma natural a la versión de audio
  • La reacción creció muchísimo mientras no estaba mirando. Si alguien lo está configurando, sería genial que entre al canal de Gitter (https://smoores.gitlab.io/storyteller/docs/say-hi) para saludar, pedir soporte o dejar feedback

  • Me gustaría que hubiera más información. Cosas como el enlace a la app de iOS, capturas de pantalla o qué funciones ofrece el proyecto
    Me pregunto si es una biblioteca de ebooks/audiolibros con sincronización, como audiobookshelf, o si es solo una herramienta de sincronización: https://www.audiobookshelf.org/

    • Es una observación válida, así que intentaré agregar más información de ese tipo. Quería enlazar a la página del App Store desde la documentación, y acabo de actualizarla para incluirlo
      Storyteller es una biblioteca completa de ebooks/audiolibros con sincronización incluida. Dicho eso, hasta ahora me enfoqué mucho más en la experiencia de lectura que en la experiencia de gestión de la biblioteca
      También voy a trabajar pronto en mejorar la experiencia de gestión de la biblioteca
    • No fue muy fácil encontrar la app. Sería bueno enlazarla desde la página de la app móvil
      https://apps.apple.com/us/app/storyteller-reader/id647446772...
  • Es un proyecto realmente genial
    Si ya están usando IA para transcribir, sería muy bueno que también se pudiera hacer generación de voz con IA mediante TTS
    Me suscribí a Audible varias veces y lo dejé, porque había muy pocos audiolibros de alta calidad. Muchos libros leídos por el propio autor tampoco son buenos, y la mayoría no son narradores profesionales
    Una buena IA podría ser excelente, porque mantendría la misma energía, entonación y ritmo durante horas sin cansarse

  • Está bastante interesante.
    Hace tiempo escribí algo parecido que, con una combinación de ebook/audiolibro, permitía crear un dataset LJSPEECH personalizado, sintetizar la voz de mi narrador favorito con coqui-tts y un modelo VITS, y “publicar” libros que no habían salido como audiolibros.
    Podía sincronizar el contenido del libro con las marcas de tiempo, dividir el audio por oración y crear un dataset LJSPEECH con esa combinación.
    Usé aeneas[1] y la configuración era algo complicada, pero con el tiempo podía mapear idiomas distintos del inglés —en mi caso, alemán— con más de 80% de precisión.
    Funcionaba bastante bien y el dataset LJSPEECH también era decente, pero en ese momento la tecnología TTS todavía se quedaba corta. Quizá sea momento de retomarlo con enfoques de modelado más nuevos como XTTS.
    [1]: https://www.readbeyond.it/aeneas/

    • Hace unos años pensé exactamente en esto, pero me faltaba la capacidad técnica para implementarlo.
      Como dices, hay muchos libros buenos, pero lo más grave son los libros excelentes con una calidad de narración/producción mediocre. Por ejemplo, A Song of Ice and Fire en Audible es realmente espantoso, y The Martian de Andy Weir es excelente.
      ¿Se podría trasladar a Will Wheaton o Greg Tremblay a GOT? ¿Se podría hacer que varios personajes se leyeran con voces distintas? Si es posible, me gustaría volver a intentarlo.
  • Falta el enlace: https://smoores.gitlab.io/storyteller/
    Se ve muy bueno, y el siguiente paso es crear un ecosistema completamente sincronizado para gestionar libros.

    • ¿Te refieres a un sistema como Audiobookshelf[0]? Personalmente lo recomiendo mucho. Me ha funcionado con más estabilidad que cualquier servicio de pago que haya probado.
      [0] https://www.audiobookshelf.org/
    • Sí, ese es el objetivo. La gestión de biblioteca y la app de lectura ya existen, pero todavía queda mucho por hacer, sobre todo en la parte de gestión de biblioteca.
  • Lo que realmente quiero obtener de esta nueva era de machine learning es TTS y STT autoalojables de nivel humano.
    Me gustaría poder escuchar ebooks de texto y convertir a texto podcasts largos o cursos grandes en video/audio para poder buscar y citar con facilidad.
    Me pregunto si esto es eso. Todo lo que he encontrado hasta ahora ha estado bastante por debajo de un humano o ha sido un servicio online caro.

  • Impresionante. Llevo años queriendo algo así. Ojalá Libby lo integrara para poder usarlo también con libros prestados.
    También estaría bien que agregaran el enlace a la app en la App Store.