Apresentação no HN: plataforma de narração sincronizada open source e self-hosted para ebooks
(smoores.gitlab.io)Storyteller: plataforma de sincronização automática de audiolivros e ebooks
- Storyteller é uma plataforma self-hosted que sincroniza automaticamente audiolivros e ebooks.
- A plataforma gera arquivos de ebook em conformidade com o padrão EPUB 3, que podem ser lidos em qualquer leitor de ebooks (software ou hardware) com suporte a EPUB Media Overlays, ou pelo aplicativo móvel dedicado do Storyteller.
- O Storyteller é totalmente self-hosted, e todos os livros ficam armazenados no hardware do usuário, podendo ser movidos, copiados e ter backup livremente conforme necessário.
Opinião do GN⁺
- O Storyteller é importante por oferecer uma plataforma que permite sincronizar facilmente audiolivros e ebooks para melhorar a experiência de leitura do usuário.
- O recurso self-hosted, que dá ao usuário controle total sobre seus próprios dados, está alinhado às preocupações modernas com privacidade e propriedade dos dados.
- A conformidade com o padrão EPUB 3 contribui para aumentar a compatibilidade e a acessibilidade, permitindo que os usuários leiam seus livros em diversos dispositivos e softwares.
1 comentários
Opiniões no Hacker News
Incrível. Alguns anos atrás, criei uma ferramenta parecida de alinhamento entre ebook e audiolivro, a https://github.com/r4victor/syncabook
Na época, achei que métodos de alinhamento de texto, incluindo os baseados em machine learning, eram computacionalmente pesados demais e insuficientes para textos longos, então escolhi sintetizar o texto em fala e depois alinhar duas sequências de áudio
O Storyteller parece usar uma abordagem de alinhamento de texto, e fico curioso para saber quanto tempo leva para sincronizar um livro inteiro
Além disso, as versões em áudio e texto muitas vezes são bem diferentes. Por exemplo, o áudio pode incluir uma introdução que não existe no texto. Também gostaria de saber quão bem o Storyteller lida com esses casos, se é preciso editar manualmente o áudio/texto ou se ele trata as diferenças automaticamente
Documentei o algoritmo de sincronização em detalhes, mas, em linhas gerais, é assim: o Storyteller transcreve o áudio para texto com o Whisper, e essa é a etapa com maior custo computacional
Depois, usa busca difusa baseada na distância de Levenshtein para encontrar cada capítulo no texto. Essa é a parte que tenta levar em conta as diferenças entre as versões em áudio e texto
Para cada capítulo, ele faz novamente uma busca difusa sobre toda a transcrição para encontrar os timestamps de início/fim por frase
No geral, funciona bem, mas como ele considera o ebook como dado de referência, por enquanto às vezes perde a introdução ou o final do audiolivro. O suporte para acionar explicitamente essas partes está no roadmap
A documentação também explica em detalhes o algoritmo que trata automaticamente as diferenças entre áudio e texto
Muito legal. Nunca tinha pensado nisso antes
Comecei a ouvir audiolivros no trajeto para o trabalho e leio o livro à noite. Hoje uso o audiobookshelf[0] para ouvir ebooks, e ele também tem suporte a ebooks
Deixei um comentário[1] na discussão perguntando se o audiobookshelf consegue ler o EPUB que o Storyteller cria
[0]: https://www.audiobookshelf.org/
[1]: https://github.com/advplyr/audiobookshelf/issues/189#issueco...
Eu queria poder alternar livremente entre um audiolivro e sua versão em texto. Obrigado por mencionar o Storyteller naquela discussão; vou dar uma olhada lá
Gostei muito. Só que minha esposa e meus filhos leem EPUBs em e-readers Kobo, então seria ótimo poder sincronizar a última página lida do Kobo para o Storyteller e continuar depois pelo audiolivro
Se for necessário para a sincronização, tudo bem instalar o KOReader em todos os Kobos. O KOReader parece não oferecer suporte a media overlays de EPUB3, mas tem recurso de sincronização
Isso até poderia fazê-los vender o livro nos dois formatos. Há muitos momentos em que estou lendo um ebook e quero continuar enquanto dirijo; seria ótimo ter um “handoff” que passasse naturalmente para a versão em áudio
A reação cresceu muito enquanto eu não estava olhando. Se alguém estiver configurando, seria ótimo entrar no canal do Gitter (https://smoores.gitlab.io/storyteller/docs/say-hi) para dar um oi, pedir suporte ou deixar feedback
Seria bom ter mais informações. Coisas como link para o app iOS, screenshots e quais recursos o projeto oferece
Fico em dúvida se é uma biblioteca de ebooks/audiolivros com sincronização, como o audiobookshelf, ou se é apenas uma ferramenta de sincronização: https://www.audiobookshelf.org/
O Storyteller é uma biblioteca completa de ebooks/audiolivros, incluindo sincronização. Só que, até agora, foquei muito mais na experiência de leitura do que na experiência de gerenciamento da biblioteca
Também devo trabalhar em melhorias na experiência de gerenciamento da biblioteca em breve
https://apps.apple.com/us/app/storyteller-reader/id647446772...
Projeto realmente muito legal
Se ele já faz transcrição com IA, seria ótimo também poder fazer geração de voz por IA com TTS
Já assinei e cancelei a Audible algumas vezes, porque há poucos audiolivros de alta qualidade. Mesmo livros narrados pelo próprio autor muitas vezes não ficam bons, e a maioria não é narrada por profissionais
Uma boa IA poderia ser excelente, mantendo a mesma energia, entonação e ritmo por horas sem se cansar
Bem interessante
Há algum tempo, eu escrevi algo parecido que criava um dataset LJSPEECH personalizado a partir de uma combinação de e-book/audiobook, sintetizava a voz do meu narrador favorito com coqui-tts e modelos VITS, e fazia “publicar” como audiobook livros que não tinham saído nesse formato
Eu conseguia sincronizar o conteúdo do livro com os timestamps, dividir o áudio por frase e, com essa combinação, criar um dataset LJSPEECH
Usei o aeneas[1] e a configuração era meio complicada, mas, com o tempo, ele conseguiu mapear idiomas que não eram inglês — no meu caso, alemão — com mais de 80% de precisão
Funcionava muito bem e o dataset LJSPEECH também era razoável, mas na época a tecnologia de TTS ainda deixava a desejar. Talvez seja hora de ressuscitar isso com abordagens de modelagem mais novas, como XTTS
[1]: https://www.readbeyond.it/aeneas/
Como você disse, há muitos livros bons, mas o problema mais grave são ótimos livros com qualidade de narração/produção mediana. Por exemplo, A Song of Ice and Fire no Audible é realmente horrível, enquanto The Martian, do Andy Weir, é excelente
Será que daria para transplantar Will Wheaton ou Greg Tremblay para GOT? Será que daria para fazer vários personagens serem lidos com vozes diferentes? Se for possível, seria ótimo tentar de novo
Faltou o link: https://smoores.gitlab.io/storyteller/
Parece muito bom, e o próximo passo é criar um ecossistema totalmente sincronizado para gerenciamento de livros
[0] https://www.audiobookshelf.org/
O que eu realmente quero obter nesta nova era de machine learning é TTS e STT auto-hospedáveis em nível humano
Seria ótimo poder ouvir e-books em texto e converter grandes podcasts ou cursos em vídeo/áudio para texto, para facilitar buscas e citações
Fico me perguntando se isto é esse tipo de coisa. Até agora, o que encontrei era bem inferior a humanos ou eram serviços online caros
Incrível. Eu queria algo assim há anos. Seria ótimo se o Libby integrasse isso para que também pudesse ser usado em livros emprestados
Seria bom adicionar também o link do app na App Store
Vou subir uma alteração para incluir isso na documentação agora mesmo