Transformar eBook em Audiobook
Publicado por Rafael Fini (última atualização em 12/09/2011)
[ Hits: 14.222 ]
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
Script para subir interface wireless
PINGS - Ping para diversos hosts em varios consoles
Automatizando digitação de códigos 2FA no browser
Resolver problemas de Internet
Como compartilhar a tela do Ubuntu com uma Smart TV (LG, Samsung, etc.)
Como converter imagens PNG/JPEG para SVG em linha de comando
Fez porcaria no teu repositório Git? Aprenda a restaurar uma versão anterior do seu código!
Restaurando Fontes de Download do Hydra no Linux
Atualizando "na marra" o YT-DLP quando começa a dar erro de downloads
Como instalar o WPS com interface e corretor ortográfico em PT-BR no Arch Linux
Java é uma linguagem de brinquedo? (1)
Linux não desliga a tela da TV nunca (4)
Mudar ícone do favorito "encerrar sessão" do Debian 12.10, c... (2)