Transformar eBook em Audiobook
Publicado por Rafael Fini (última atualização em 12/09/2011)
[ Hits: 13.973 ]
Olá
Resolvi fazer esse scritp para aproveitar meu tempo no trânsito e "ler" alguma coisa enquanto dirijo.
Este shellscript transforma livro em audio. Usa a "API" do Google Translate. Espero que o Google nao fique bravo com isso : )
Primeiramente é necessário obter o livro em formato TXT, portanto, se você possui um arquivo pdf, transforme-o.
Eu utilizei esta ferramenta aqui -> http://www.convertpdftotext.net .
O tipo do arquivo recebido já está previsto no script, e as modificações necessárias já estão implementadas.
O script leva em consideração que todas as linhas possuem menos de 100 caracteres.
Aproveitem!
Abraço,
Rafael
#/bin/bash # # by Rafael Fini # v: 1.0 # if [ -z $1 ] then echo "Modo de uso ./TTSBook [livro.txt]" exit 0 else # Escolhe a lingua que será falada: en, pt, fr... lang=pt # Duração dos arquivos em minutos length=05 filename=`echo $1 | sed -e 's/^.*\///' | sed 's/\..*$//'` cp $1 temp # Transforma codificação do arquivo para utf-8 #cat temp | iconv -f iso8859-15 -t UTF-8 -o temp2 #mv temp2 temp # Transforma arquivo para terminação de linha UNIX tr -d '\r' < temp > temp2 mv temp2 temp # Formata palavras com continuação na outra linha (Evita a palavra travessão no TTS) sed 's/\ \([^ \t\n\r\f\v]*-$\)/\n\1/' temp | sed '/-$/ N ; s/-\n//' > temp2 mv temp2 temp # Apaga as linhas em branco sed '/^$/d' temp > temp2 mv temp2 temp #--------------------------------------------------------------------------------------------------------- nlinhas=`sed -n '$=' temp` touch $filename.mp3 for it in `seq -w 1 $nlinhas`; do echo -ne "Convertendo: $it de $nlinhas linhas."\\r linha=`sed "$it !d" temp` wget -q -U Mozilla -O $it.mp3 "http://translate.google.com/translate_tts?ie=UTF-8&tl=$lang&q=$linha" cat $filename.mp3 $it.mp3 > tempfalado mv tempfalado $filename.mp3 rm $it.mp3 done rm temp mp3splt $filename.mp3 -Q -n -x -o @f-@m -t $length.00 echo "Feito. " fi exit 0
filelist2link - converte lista de pacotes de um repositório em uma lista de links para o wget
Script para ripar faixas de CDs e codificar para .ogg
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Tem como instalar o gerenciador AMD Adrenalin no Ubuntu 24.04? (15)
Tenho dois Link's ( IP VÁLIDOS ), estou tentando fazer o failover... (0)
Pendrive não formata de jeito nenhum (4)