Introdução geral
O Auto-Audio-Book é um projeto de código aberto hospedado no GitHub. Ele rastreia automaticamente o conteúdo de romances de sites e o converte em audiolivros com várias vozes de personagens. Desenvolvedor zqq-nuli escrito em Python 3.10+, combinado com modelos grandes (como o Gêmeos e CosyVoice2-0.5B) para implementar o processamento de texto e a síntese de fala. O projeto não apenas oferece suporte à conversão básica de texto em áudio, mas também distingue personagens em um romance e atribui vozes diferentes para gerar efeitos semelhantes aos de um drama de rádio. O código é aberto ao público, e os usuários podem fazer o download e modificá-lo. Em 24 de março de 2025, o projeto ainda estava em desenvolvimento, a GUI não estava totalmente aperfeiçoada, mas todo o processo pode ser concluído por meio da linha de comando, o que é adequado para entusiastas de tecnologia e produtores de audiolivros.
Lista de funções
- rastreamento de romanceDownload automático do conteúdo de capítulos de romances de sites designados.
- Geração de mensagens de diálogoIA: use a IA para analisar textos e distinguir entre personagens e diálogos.
- Locução com vários caracteresVoz: Atribua vozes diferentes a personagens fictícios, protagonista coadjuvante, narrador e dublagem aleatória.
- Geração de áudioConverta texto para o formato MP3 para audiolivros com suporte à aceleração multi-thread.
- Ferramentas de gerenciamentoInterface gráfica do usuário (GUI): fornece uma GUI para auxiliar no gerenciamento de novos dados e arquivos de áudio.
- código aberto e extensívelOs usuários podem modificar o código para adicionar novos recursos ou otimizar os efeitos.
Usando a Ajuda
O Auto-Audio-Book requer uma certa base técnica para ser instalado e usado. Abaixo está um guia detalhado de instalação e operação para ajudá-lo a gerar um audiolivro do zero.
Processo de instalação
- Preparação ambiental
- Instale o Python 3.10 ou posterior, baixado de https://www.python.org/downloads/.
- montagem
ffmpeg
Para Windows, faça o download em https://ffmpeg.org/download.html, e para Mac, use obrew install ffmpeg
Linux comsudo apt install ffmpeg
. - (Opcional) Instale o MongoDB para o gerenciamento da GUI dos novos dados, faça o download em https://www.mongodb.com/try/download/community.
- Para verificar o ambiente: na linha de comando, digite
python --version
responder cantandoffmpeg -version
Verifique se a versão está sendo exibida corretamente.
- Código de download
- Clone o projeto localmente com o Git:
git clone https://github.com/zqq-nuli/auto-audio-book.git
- Vá para o catálogo de projetos:
cd auto-audio-book
- Clone o projeto localmente com o Git:
- Criação de um ambiente virtual
- fazer uso de
uv
Criação de um ambiente virtual (requer instalação prévia)uv
usopip install uv
):uv venv --python 3.10
- Ativar o ambiente:
- Windows:
.\.venv\Scripts\activate
- Mac/Linux:
source .venv/bin/activate
- Windows:
- fazer uso de
- Instalação de dependências
- Instale as bibliotecas necessárias no ambiente virtual:
uv add -r requirements.txt
- Se houver falta de
requirements.txt
A biblioteca principal pode ser instalada manualmente:pip install requests gTTS PyPDF2 pymongo
- Instale as bibliotecas necessárias no ambiente virtual:
- Configuração da chave de API
- fazer uma cópia de
.env.example
arquivo é.env
::copy .env.example .env # Windows cp .env.example .env # Mac/Linux
- compilador
.env
preencha a chave da API do Big Model, como a chave do Gemini, que pode ser solicitada na plataforma correspondente.
- fazer uma cópia de
Etapas de uso
- rastejar um romance
- Selecione um site de ficção (por exemplo, https://m.ilwxs.com/); o projeto suporta sites desprotegidos por padrão.
- Execute o script de rastreamento:
python app/getBookList.py
- Em seguida, obtenha a lista de capítulos e salve o conteúdo:
python app/getZjList.py python app/saveBooks.py
- Geração de mensagens de diálogo
- Processe capítulos com IA para diferenciar entre personagens e diálogos:
python app/saveBookJson.py
- A saída é salva como um arquivo JSON para dublagem subsequente.
- Processe capítulos com IA para diferenciar entre personagens e diálogos:
- Configuração de vozes de personagens
- Execute o script para criar a tabela de funções:
python app/createUser.py
- Atribua manualmente as vozes do personagem principal e do narrador (compatível com modelos como o CosyVoice2-0.5B). Outros personagens podem ser atribuídos aleatoriamente:
- Vozes individuais para personagens com mais de 50 falas.
- Menos de 50 frases na voz do narrador.
- Execute o script para criar a tabela de funções:
- Gerar áudio
- Execute o script de geração de áudio:
python app/createAudio.py
- Oferece suporte à aceleração multithread, por exemplo, 20 threads:
python app/createAudio.py --threads 20
- O resultado é um arquivo MP3, que é armazenado no diretório do projeto.
- Execute o script de geração de áudio:
- Gerenciar áudio (opcional)
- Classificação de áudio com ferramentas de GUI:
python gui/gui.py
- Ou excluir em lote as entradas do Himalaia:
python gui/gui2.py
- Classificação de áudio com ferramentas de GUI:
Nota de operação
- Otimização da eficiênciaUm computador pode processar 300 capítulos por noite em um único thread. Os testes mostram que 5 máquinas com 20 threads cada uma podem gerar 2.000 capítulos em 5 horas.
- detecção de errosSe você perdeu um capítulo, verifique a rede ou execute novamente o script do capítulo correspondente.
- Restrições do modeloO modelo baseado em silício é restrito em termos de IP e exige o sequestro do servidor para o paralelismo de vários computadores.
Exemplo de processo
Suponha que você esteja convertendo um romance:
- Acompanhe o romance "Fulano de Tal" do site https://m.ilwxs.com/ e salve os capítulos.
- Gerar mensagens de diálogo, identificando o protagonista A e o narrador.
- Configuração A com voz chinesa masculina, narrador com voz feminina, outros aleatórios.
- Execute a geração multithread para obter
chapter1.mp3
etc.
Depois de concluído, ele pode ser carregado em plataformas como o Himalaya, e um exemplo do produto final pode ser encontrado em https://www.ximalaya.com/album/88023000.
cenário do aplicativo
- Produção de audiolivros
Transforme romances da Web em audiolivros com vários caracteres e carregue-os em plataformas para compartilhamento ou lucro. - experimento de aprendizado
Os entusiastas da tecnologia o utilizam para aprender técnicas de rastreamento, IA e processamento de áudio. - Entretenimento pessoal
Transforme seus romances favoritos em áudio e ouça-os a qualquer hora, em qualquer lugar.
QA
- Quais modelos grandes são suportados?
Atualmente, é compatível com o Gemini e o CosyVoice2-0.5B; é necessário solicitar uma chave de API por conta própria. - Por que alguns capítulos não são gerados?
Pode ser uma interrupção da rede ou uma falha de rastreamento; verifique os registros e execute novamente o capítulo correspondente. - Como posso melhorar a qualidade do áudio?
O modelo padrão tem efeito limitado e pode ser substituído por outro mecanismo TTS, sendo necessária a alteração do código.