Plataforma e automação

Audiobook Studio

Livro vira audiolivro rodando inteiro em uma máquina local

Contexto
Projeto próprio
Papel
Arquiteto, desenvolvedor e responsável pela avaliação de modelos
Período
Agosto de 2026
Status
Em uso, com livros renderizados de ponta a ponta
TTS localAvaliação de modelosPipelineQualidade automática

EPUB, PDF ou Markdown entram; capítulos em MP3 saem, com controle automático de qualidade e retomada depois de qualquer queda.

4motores de TTS plugáveis, trocáveis por configuração
3modelos comparados na análise de estrutura do livro
0,80fidelidade mínima por trecho, com nova tentativa abaixo disso
EPUB, PDF ouMarkdownExtração enormalizaçãoSíntese de vozlocalIAQA portranscriçãoreversaIACapítulos emMP3
Extrair, sintetizar, conferir por transcrição reversa e montar. Arraste para o lado para ver o fluxo inteiro.

Motivador

Transformar livros em audiolivro de voz agradável sem depender de serviço pago por caractere e sem enviar o conteúdo para fora. O caso de uso concreto começou com um livro que eu queria ouvir e não existia em áudio.

Problema

Renderizar um livro inteiro leva horas em CPU. Qualquer falha de rede, queda de worker ou reinício do computador jogaria o trabalho fora. Além disso, TTS erra: pula frase, trunca palavra, lê número de um jeito estranho. Sem verificação automática, o erro só aparece quando alguém escuta 6 horas de áudio.

Solução

Pipeline em fases: extração do texto com limpeza de nota de rodapé e normalização para leitura, fila de renderização por capítulo, montagem com pausas controladas e normalização de volume no padrão de audiolivro.

Cache endereçado por conteúdo. Cada pedaço de fala vira um arquivo cujo nome deriva do texto e da voz, então retomar depois de uma queda é gratuito e mudar o ritmo não re-sintetiza nada.

Controle de qualidade automático: cada trecho gerado é transcrito de volta e comparado com o texto original. Abaixo do limiar, o sistema tenta de novo e guarda a melhor tomada. No fim, o capítulo inteiro é transcrito para medir o quanto do texto realmente saiu no áudio.

Registro de motores TTS em arquivo, e não em código, com quatro motores plugáveis. A escolha de voz virou configuração, não refatoração.

Interface web local para acompanhar progresso, com página que funciona até aberta direto do disco, e o serviço subindo sozinho no login da máquina.

Resultado

  • Livros completos renderizados de ponta a ponta, com relatório final por capítulo contendo duração, falhas, recall e trechos suspeitos de truncamento.
  • A avaliação de motores derrubou uma hipótese popular: a ferramenta de áudio mais comentada do mercado não serve para audiolivro, por três bloqueios independentes, sendo o principal a ausência de leitura literal.
  • A comparação entre um modelo em nuvem e dois modelos locais para a tarefa de entender a estrutura do livro virou artefato de decisão, com saída estruturada de cada um lado a lado.

O que eu tirei daqui

  • Cache endereçado por conteúdo transforma um processo de 12 horas em algo retomável, e retomável é o que torna o projeto possível numa máquina que dorme.
  • Se o sistema gera muito material, ele precisa se auditar sozinho. Transcrever o áudio de volta é barato perto de escutar tudo.
  • Registro de motores em arquivo evita que a escolha de fornecedor vire refatoração.

Onde a IA entrou

Cada etapa do ciclo do projeto, com o quanto a IA pesou nela.

CentralApoioNão usei
Descoberta e entendimento do problema

Definição do que é um audiolivro aceitável, incluindo a regra de não alterar o texto do autor.

Pesquisa e evidência

Levantamento de motores de TTS com fontes primárias, teste comparativo com o mesmo trecho e o mesmo capítulo, e registro do que cada caminho custa.

Especificação e documentação

Planos por fase, com constantes, critérios de verificação e comandos de retomada escritos antes da implementação.

Arquitetura e infraestrutura

Cache por conteúdo, fila com retomada, registro de motores em arquivo e serviço que sobe sozinho na máquina.

Desenvolvimento

Todo o pipeline em Python escrito com IA, incluindo os parsers de EPUB e PDF e a normalização de texto para leitura.

QA e análise de dados

Verificação por re-transcrição, heurística de truncamento por proporção de duração e relatório automático por capítulo.

IA dentro do produto

Síntese de voz, clonagem de voz a partir de uma amostra e reconhecimento de fala para o controle de qualidade. Modelos locais analisam a estrutura do livro.

Timeline e marcos

  1. Ago/2026

    Pipeline do primeiro livro

    Extração, renderização, controle de qualidade e montagem de um EPUB inteiro em capítulos.

  2. 18 a 19/ago

    Avaliação de motores de TTS

    Comparação de vozes, ritmos e formas de pausa com o mesmo trecho, mais um capítulo inteiro de quase duas horas para testar estabilidade.

  3. Ago/2026

    Studio e registro de motores

    Interface web local, registro de motores em arquivo e serviço subindo sozinho no login.

  4. Ago/2026

    Comparação de modelos de análise

    Três modelos avaliados na tarefa de identificar a estrutura do livro, com saída estruturada lado a lado.

Ferramentas

IA e modelos

KokoroXTTS v2 com clonagem de vozPiperChirp 3 HDWhisperOllama com modelos locais de 30 bilhões de parâmetrosClaude CLI

Pipeline

PythonffmpegSQLite e JSON de estadoFlask para os workers

Operação

Tarefa agendada no login do WindowsTailscale para acesso de outros aparelhos

Resumo STAR

Situação
Livros que eu queria ouvir não existiam em áudio, e os serviços pagos cobram por caractere e exigem enviar o conteúdo para fora.
Tarefa
Montar um pipeline que renderize um livro inteiro localmente, com qualidade verificável e sem perder trabalho em caso de queda.
Ação
Desenhei o pipeline em fases com cache endereçado por conteúdo, criei um controle de qualidade que transcreve o áudio de volta e compara com o texto, transformei a escolha de motor em configuração e testei quatro motores com o mesmo material.
Resultado
Livros completos foram renderizados com relatório de qualidade por capítulo, a avaliação eliminou um caminho popular com três bloqueios objetivos e a troca de voz virou uma linha de configuração.

Quer conversar sobre um desafio parecido?

Fale comigo