Transforme um EPUB em
um audiolivro

Transforme um ebook EPUB em um MP3 por capítulo, pela linha de comando ou por uma página web local. Uma voz narra o livro, e cada personagem que fala entre aspas ganha uma voz própria. Cada capítulo também ganha o tempo de cada palavra e legendas, para você acompanhar o texto enquanto ouve.
O app web Audiobook depois de uma prévia de alice_sample.epub: Preview only está marcado, o modo de elenco é Per speaker com Archie como narrador e English como idioma, e o log informa cerca de 15065 créditos da Cartesia, as vozes Alice = Maya e Mouse = Leo e os dois capítulos processados

Captura de tela. O template rodando localmente.

Modelos
sonic-3.6
Idiomas
Inglês por padrão, outros com --language
Licença
MIT
Stack
PythonGradioEbookLibffmpeguv
Produtos da Cartesia
Sonic 3.6

O que ele faz

A ferramenta de linha de comando e o app web fazem a mesma conversão. O projeto é um fork do epub_to_audiobook, o projeto de código aberto de p0n1.

Uma página de leitura que vem com o projeto destaca cada palavra enquanto toca, e clicar numa palavra pula para ela. Os arquivos de legenda funcionam na maioria dos players.

Rode você mesmo

  1. Gere uma prévia sem chave

    Rode os comandos abaixo. Você precisa de Python 3.10 a 3.12, com uv e ffmpeg instalados. A execução com --preview não gera áudio e não precisa de chave. Ela divide o livro de exemplo em capítulos, conta 15.065 caracteres (cerca de 15.000 créditos) e grava out/cast.json, que mostra a voz escolhida para cada personagem.

    npx degit cartesia-ai/cookbook/examples/audiobook audiobook
    cd audiobook
    uv sync
    uv run python main.py samples/alice_sample.epub out --preview --no_prompt
    

    Variáveis de ambiente
    CARTESIA_API_KEY
    play.cartesia.ai/keys. Dispensável com --preview
  2. Gere o áudio

    Copie .env.example para um novo arquivo .env. Coloque nele sua CARTESIA_API_KEY. Carregue no seu shell com set -a; . ./.env; set +a. Depois rode o mesmo comando sem --preview. Em scripts, adicione -y para pular a pergunta sobre o custo.

  3. Use o app web

    Rode uv run python main_ui.py. Depois abra http://127.0.0.1:7860. A CARTESIA_API_KEY precisa estar definida nesse shell. Mantenha o host local padrão, porque o app não tem login e gasta seus créditos para qualquer pessoa que consiga acessá-lo.

  4. Leia enquanto ouve

    Abra no navegador o readalong.html do projeto. Escolha o MP3 de um capítulo e depois o arquivo .timings.json que vem com ele. A palavra atual acende enquanto toca.

Crie com seu agente de programação

Um prompt que diz ao seu agente de programação por onde começar e o que ler primeiro.

Prompt

Claude CodeCursorCodex

Convert an EPUB into an audiobook with Cartesia. Start from https://github.com/cartesia-ai/cookbook/tree/main/examples/audiobook and follow its AGENTS.md for the commands, files and rules. It uses the cartesia Python SDK to stream sonic-3.6 from /tts/sse with add_timestamps and use_normalized_timestamps=False, joins the raw PCM with ffmpeg into one MP3 per chapter, and writes .timings.json and .vtt files for read-along. Run a --preview first, which needs no key, to check the character count and out/cast.json. If I don't have a Cartesia API key yet, follow https://www.cartesia.ai/agent-quickstart.md to get one.

Como funciona

EPUBDividido em capítulos e parágrafos
ElencoDescobre quem diz cada fala entre aspas e dá uma voz a essa pessoa
Sonic 3.6Transmite por /tts/sse com marcações de tempo por palavra, até 1.500 caracteres por requisição
ffmpegJunta o PCM e codifica em MP3 com tags ID3
Leitura acompanhadaUm arquivo .timings.json e um .vtt por capítulo

Por que funciona assim

O streaming dá o tempo de cada palavra

O endpoint de fala simples da Cartesia devolve só o áudio. Os arquivos para ler junto precisam do momento de cada palavra, e só os endpoints de streaming devolvem isso. O app também usa use_normalized_timestamps=False, que mantém as palavras como estão escritas, como $5, para o destaque bater com o livro.

As vozes são definidas antes de qualquer capítulo

O elenco é decidido uma vez, antes de a conversão começar, para que processos em paralelo e novas execuções concordem sobre quem lê cada personagem. Uma fala sem indicação de quem fala, como disse Alice, vai para o último que falou, ou para a outra pessoa quando dois personagens trocam falas em parágrafos seguidos.

As indicações do diálogo definem a emoção

Nos diálogos em inglês, uma palavra como whispered, shouted ou sobbed ao lado de uma fala diz ao Sonic para lê-la em tom calmo, bravo ou triste. Laughed coloca uma risada antes da fala.

Deixe com a sua cara

Escolha as vozes

Edite out/cast.json e rode de novo. Para reaproveitar um elenco, passe seu próprio arquivo com --cast_file. Cada valor é o nome de uma voz incluída, como Archie. Também pode ser qualquer id de voz de play.cartesia.ai/voices.

Use uma única voz

Rode com --cast_mode narrator para ler o livro inteiro, diálogos incluídos, com uma só voz. Escolha essa voz com --voice_name.

Converta outro idioma

Passe --language fr ou qualquer outro código de idioma do Sonic. Cada personagem continua com sua voz. As indicações de emoção e de risada só funcionam em inglês.

Perguntas

Quanto custa converter um livro?

O Sonic cobra cerca de um crédito por caractere, e as pausas entre parágrafos são adicionadas localmente, de graça. Rode com --preview primeiro para saber a contagem de caracteres. O valor de um crédito depende do seu plano, então a ferramenta não mostra valores em dólar.

Ele acerta a voz de cada personagem?

Na maioria das vezes, em livros que marcam o diálogo com disse Alice e parecidos. Ele perde personagens que só ficam implícitos, e uma troca de falas sem marcação entre duas pessoas pode se inverter. Confira o arquivo de elenco depois de uma prévia e corrija, ou leia o livro inteiro com uma só voz.

Posso ouvir num app de audiolivros como o Audiobookshelf?

Sim. Cada MP3 traz tags de título, autor, álbum e faixa, então o Audiobookshelf e servidores parecidos juntam os capítulos num único livro.

Posso converter qualquer livro?

Só converta livros que são seus ou dos quais você tem os direitos, e identifique o resultado publicado como áudio gerado por IA. O template vem com dois capítulos em domínio público de Alice no País das Maravilhas para testes.

Existe um guia passo a passo deste template?

Sim. A receita explica o código, o README cobre a configuração, as variáveis de ambiente e a implantação, e a referência de TTS por server-sent events explica o lado da Cartesia.

Comece hoje

Fale com um especialista.

Converse com alguém da nossa equipe e descubra como a Cartesia pode ajudar você a criar experiências de voz de alto nível.

Fale com vendas

Comece a criar.

Acesse nossos modelos por API e coloque um agente de voz em produção em minutos.

Experimente a Cartesia