3 pontos por GN⁺ 2023-12-25 | 1 comentários | Compartilhar no WhatsApp

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

 
GN⁺ 2023-12-25
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

    • O syncabook é excelente, e o Storyteller basicamente adota uma abordagem quase oposta para forced alignment
      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 diz que normalmente leva 1 a 4 horas, dependendo do livro e do hardware: https://smoores.gitlab.io/storyteller/docs/syncing-books
      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...

    • Ouvir audiolivros no trajeto e ler à noite foi quase exatamente o motivo que me levou a começar este projeto há mais de 2 anos
      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

    • Tanto a sincronização da posição de leitura no lado do servidor quanto a integração com o KOReader estão, de fato, no roadmap. É uma demanda que já apareceu várias vezes
    • Não faz sentido a Amazon hoje ter tanto o livro em texto quanto o áudio da Audible e não oferecer nenhum tipo de 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/

    • É uma observação justa; vou tentar adicionar mais dessas informações. Eu pretendia colocar na documentação um link para a página da App Store, e acabei de atualizar para incluí-lo
      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
    • Não foi muito fácil encontrar o app. Seria bom colocar um link na página do app móvel
      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/

    • Pensei exatamente nisso alguns anos atrás, mas não tinha a capacidade técnica para implementar
      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

    • Você quer dizer um sistema como o Audiobookshelf[0]? Pessoalmente, recomendo muito. Funcionou de forma mais estável do que qualquer serviço pago que já usei
      [0] https://www.audiobookshelf.org/
    • Sim, esse é o objetivo. A gestão de biblioteca e o app de leitura já existem, mas ainda há bastante a fazer, especialmente na parte de gestão da biblioteca
  • 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