Transformar eBook em Audiobook
Publicado por Rafael Fini (última atualização em 12/09/2011)
[ Hits: 13.905 ]
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
Enviar mensagem para os terminais ltsp
[Firefox] Instalação de Flash Player 10
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
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Flatpak: remover runtimes não usados e pacotes
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Como atualizar o Debian 8 para o 10 (10)
Dica sobre iptables ACCEPT e DROP (6)
NGNIX - Aplicar SNAT para evitar roteamento assimetrico (29)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta