Présentation sur HN : une plateforme open source, auto-hébergeable, de narration synchronisée pour les ebooks
(smoores.gitlab.io)Storyteller : plateforme de synchronisation automatique pour livres audio et ebooks
- Storyteller est une plateforme auto-hébergée qui synchronise automatiquement les livres audio et les ebooks.
- La plateforme génère des fichiers ebook conformes au standard EPUB 3, qui peuvent être lus sur n’importe quel lecteur ebook (logiciel ou matériel) prenant en charge les media overlays EPUB, ou via l’application mobile dédiée Storyteller.
- Storyteller est entièrement auto-hébergé, et tous les livres sont stockés sur le matériel de l’utilisateur, ce qui permet de les déplacer, copier et sauvegarder librement selon les besoins.
L’avis de GN⁺
- Storyteller est important car il fournit une plateforme permettant de synchroniser facilement livres audio et ebooks afin d’améliorer l’expérience de lecture des utilisateurs.
- La fonction d’auto-hébergement, qui permet aux utilisateurs de garder un contrôle total sur leurs données, répond aux préoccupations actuelles en matière de protection de la vie privée et de propriété des données.
- La conformité au standard EPUB 3 contribue à améliorer la compatibilité et l’accessibilité en permettant aux utilisateurs de lire leurs livres sur divers appareils et logiciels.
1 commentaires
Avis sur Hacker News
Impressionnant. Il y a quelques années, j’ai créé un outil similaire d’alignement ebook-livre audio, https://github.com/r4victor/syncabook
À l’époque, j’avais considéré que les méthodes d’alignement de texte, y compris celles basées sur le machine learning, étaient trop coûteuses en calcul et insuffisantes pour les textes longs, donc j’avais choisi de synthétiser le texte en parole puis d’aligner deux séquences audio
Storyteller semble aligner le texte ; je me demande combien de temps il faut pour synchroniser un livre entier
Autre point : les versions audio et texte diffèrent souvent beaucoup. Par exemple, l’audio peut contenir une introduction absente du texte. J’aimerais savoir dans quelle mesure Storyteller gère bien ce genre de cas, et s’il faut éditer manuellement l’audio/le texte ou s’il traite automatiquement les différences
J’ai détaillé l’algorithme de synchronisation dans la documentation, mais dans les grandes lignes : Storyteller transcrit l’audio en texte avec Whisper, et c’est l’étape la plus coûteuse en calcul
Ensuite, il trouve chaque chapitre dans le texte au moyen d’une recherche floue basée sur la distance de Levenshtein. C’est la partie qui vise à tenir compte des différences entre les versions audio et texte
Pour chaque chapitre, il effectue à nouveau une recherche floue sur l’ensemble de la transcription afin de trouver les horodatages de début/fin de chaque phrase
Globalement, cela fonctionne plutôt bien, mais comme l’ebook est considéré comme la donnée de référence, il arrive actuellement que les introductions ou fins de livres audio soient manquées. La prise en charge permettant de déclencher explicitement ce type de sections est dans la feuille de route
Elle décrit aussi en détail l’algorithme qui gère automatiquement les différences entre l’audio et le texte
C’est vraiment génial. Je n’y avais jamais pensé auparavant
Dans les transports, j’ai commencé à écouter des livres audio, et le soir je lis. En ce moment, j’écoute des ebooks avec audiobookshelf[0], qui prend aussi en charge les ebooks
J’ai laissé un commentaire[1] dans la discussion pour savoir si audiobookshelf peut lire les EPUB générés par Storyteller
[0]: https://www.audiobookshelf.org/
[1]: https://github.com/advplyr/audiobookshelf/issues/189#issueco...
Je voulais pouvoir passer librement d’un livre audio à sa version texte. Merci d’avoir mentionné Storyteller dans cette discussion ; je vais aller y jeter un œil
J’aime vraiment beaucoup. Cela dit, ma femme et mes enfants lisent tous des EPUB sur des liseuses Kobo, donc ce serait bien de pouvoir synchroniser la dernière page lue depuis Kobo vers Storyteller, afin de reprendre plus tard en livre audio
Si c’est nécessaire pour la synchronisation, ça ne me dérange pas d’installer KOReader sur tous les Kobo. Il ne semble pas que KOReader prenne en charge les media overlays EPUB3, mais il dispose bien d’une fonction de synchronisation
Au contraire, cela pourrait inciter les gens à acheter le livre dans les deux formats. Il y a vraiment beaucoup de moments où l’on aimerait, après avoir lu un ebook, pouvoir reprendre naturellement sur la version audio en conduisant, avec une sorte de « handoff »
La réaction a énormément grandi pendant que je ne regardais pas. Si certains essaient de le configurer, ce serait sympa de passer sur le canal Gitter (https://smoores.gitlab.io/storyteller/docs/say-hi) pour dire bonjour, demander de l’aide ou laisser des retours
J’aimerais avoir plus d’informations. Des choses comme un lien vers l’app iOS, des captures d’écran, ou les fonctionnalités fournies par le projet
Je me demande s’il s’agit d’une bibliothèque ebooks/livres audio avec synchronisation, comme audiobookshelf, ou simplement d’un outil de synchronisation : https://www.audiobookshelf.org/
Storyteller est une bibliothèque ebooks/livres audio complète, avec synchronisation. Cela dit, jusqu’ici, je me suis beaucoup plus concentré sur l’expérience de lecture que sur l’expérience de gestion de bibliothèque
Je prévois aussi de travailler bientôt à l’amélioration de cette dernière
https://apps.apple.com/us/app/storyteller-reader/id647446772...
Projet vraiment génial
Puisque vous faites déjà de la transcription avec l’IA, ce serait excellent de pouvoir aller jusqu’à la génération de voix par IA avec du TTS
Je me suis abonné puis désabonné plusieurs fois d’Audible, parce qu’il y avait trop peu de livres audio de qualité. Même les livres lus par leur auteur sont souvent médiocres, et la plupart ne sont pas des narrateurs professionnels
Avec une bonne IA, cela pourrait être formidable : elle pourrait maintenir pendant des heures la même énergie, la même intonation et le même rythme sans se fatiguer
C’est assez intéressant.
Il y a quelque temps, j’avais écrit quelque chose de similaire : à partir d’une combinaison ebook/livre audio, je créais un jeu de données LJSPEECH personnalisé, puis j’utilisais coqui-tts et le modèle VITS pour synthétiser la voix de mon narrateur préféré et « publier » en livre audio des livres qui n’étaient pas sortis dans ce format.
Je pouvais synchroniser le contenu du livre avec les horodatages, découper la voix phrase par phrase, puis créer un jeu de données LJSPEECH à partir de cette combinaison.
J’utilisais aeneas[1] et la configuration était un peu délicate, mais avec le temps il arrivait à faire le mapping avec plus de 80 % de précision, même pour des langues autres que l’anglais — dans mon cas, l’allemand.
Ça fonctionnait plutôt bien et le jeu de données LJSPEECH était correct, mais à l’époque la techno TTS n’était pas encore au niveau. C’est peut-être le moment de relancer ça avec des approches de modélisation plus récentes comme XTTS.
[1]: https://www.readbeyond.it/aeneas/
Comme tu le dis, il y a beaucoup de bons livres, mais le plus gros problème, ce sont les excellents livres dont la narration/la qualité de production est médiocre. Par exemple, A Song of Ice and Fire sur Audible est vraiment atroce, alors que The Martian d’Andy Weir est excellent.
Est-ce qu’on pourrait transposer Wil Wheaton ou Greg Tremblay sur GOT ? Faire lire plusieurs personnages par des voix différentes ? Si c’est possible, ça vaudrait le coup de réessayer.
Il manque le lien : https://smoores.gitlab.io/storyteller/
Ça a l’air très bien, et l’étape suivante serait de créer un écosystème entièrement synchronisé pour la gestion des livres.
[0] https://www.audiobookshelf.org/
Ce que j’aimerais vraiment obtenir de cette nouvelle ère du machine learning, c’est du TTS et du STT auto-hébergeables, au niveau humain.
J’aimerais pouvoir écouter des ebooks texte, et convertir en texte de gros podcasts ou des cours vidéo/audio pour faciliter la recherche et les citations.
Je me demande si c’est ce que fait ce projet. Tout ce que j’ai trouvé jusqu’ici était nettement en dessous du niveau humain, ou bien des services en ligne coûteux.
Génial. Ça fait des années que je veux un truc comme ça. Ce serait bien que Libby l’intègre pour pouvoir l’utiliser aussi avec les livres empruntés.
Ce serait bien aussi d’ajouter le lien vers l’app de l’App Store.
Je vais pousser une modification pour l’inclure directement dans la doc.