Convertendo TXT ou HTML em OGG

Esse tutorial apresenta um pequeno script para ajudar a converter arquivos no formato TXT ou HTML para OGG. Para isso foi usado Espeak, ffmpeg2theora, kdialog e bash. Com isso você poderá escutar os seus artigos enquanto faz outra coisa.

[ Hits: 21.873 ]

Por: Reinaldo A. Barrêto Jr em 24/10/2007


Solução do problema



Melhorando um pouco o brinquedo novo. No Viva o Linux achei um script para converter um texto digitado para áudio . Modifique esse script para converter para OGG um texto HTML ou TXT. Antes de executar o script temos que instalar alguns pré-requisitos. Se você está usando Ubuntu ou Debian é só executar:

# apt-get install kdialog ffmpeg2theora

Pronto, é só executar o script e resolver o problema. Agora vou poder executar outras tarefas e escutar alguns textos. Sim, eu sei a qualidade da voz, lembra a professor estrangeiro da faculdade.

#!/bin/sh
#
# Esse programa converte arquivos HTML ou TXT para arquivos no formato OGG
# Para esse script funcionar você deve ter kdialog e o ffmpeg2theora
#
# Script criado pelo SuporteTecnicoID da Index Data 07-09-2007
# Viva o Linux, hehehe
# http://www.vivaolinux.com.br/scripts/verScript.php?codigo=3004
#
# Modificado por mauriciomlmph em 01/10/2007 - 17:50h
#
# Modificado por Bjverde em 06/10/2007




# Altere o valor das constantes para modificar o script
diretorio_padrao="voz"
velocidade=180
frequencia=60

# Início do programa
mkdir -p ~/$diretorio_padrao

kdialog --title "Conversor de texto em áudio." \
--yesno "Esse programa irá converter arquivos no formato HTML ou TXT para arquivos no formato OGG. Todos os arquivos gerados serão salvos na pasta $diretorio_padrao do seu usuário.\n Deseja executar esse programa?"

if [ "$?" = "0" ]; then
   arquivo_entrada=$(kdialog --getopenfilename ~/ "*.txt *.html *.htm *.shtml |Arquivo TXT ou HTML")
   echo $arquivo_entrada
   if [ "$arquivo_entrada" != "" ]; then
      nome_arquivo=$(echo "$arquivo_entrada"  | rev | cut -d\/ -f1 | rev | cut -d"." -f1)
      arquivo_saida=~/$diretorio_padrao/$nome_arquivo.wav
      espeak -v pt -s$velocidade -p$frequencia -mf $arquivo_entrada -w $arquivo_saida
      ffmpeg2theora $arquivo_saida
      kdialog --title "Novo arquivo de voz." --yesno "Quer ouvir o arquivo criado?"
      if [ "$?" = "0" ]; then
         play ~/$diretorio_padrao/$nome_arquivo.ogg
      fi
      rm $arquivo_saida
      kdialog --title "Fim do programa." --msgbox "Ok, seu arquivo $nome_arquivo foi convertido para OGG, o resultado está na pasta $diretorio_padrao do seu usuário."
   fi
fi

Mais informações:
Página anterior    

Páginas do artigo
   1. Problema inicial
   2. Solução do problema
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Fazendo backup do seu MySQL com API do Dropbox

Script "apagador de linhas"

Script de backup full + diferencial + compactador + restauração

Brincando com vetores - complemento

Automatização de backup

  
Comentários
[1] Comentário enviado por rafaelcosta1984 em 24/10/2007 - 11:14h

olá, primeiro gostaria de te parabenizar pelo artigo ! achei muito interessante e de fácil utilização mas têm um erro no seu artigo ! nem sempre vêm por default o dicionário para português do Brasil !

eu instalei aqui no meu debian etch com apt-get install espeak como você disse e ao fazer espeak --voices não lista o pt

eu tentei simplesmente copiar o dict-pt do zip que se encontra na página mas mesmo assim não funcionou ! você sabe como posso adicionar o voice pt ?

[2] Comentário enviado por mlegidio em 24/10/2007 - 11:25h

Otimo artigo!

Rafael acho q faltou vc instalar o espeak-data

apt-get install espeak-data

Abraços

[3] Comentário enviado por segalla em 24/10/2007 - 12:41h

Instalei o espeak e o espeak-data versao 1.16 pelo synaptics no debian e tb nao lista o pt

[4] Comentário enviado por tenchi em 24/10/2007 - 12:50h

Cagamba...
Ótimo artigo!
Porqeu eu nunca ouvi falar deste programa? Muito bom mesmo. Quando chegar em casa eu testo, pois a máquina que estou utilizando agora não tem áudio ;-) (Ubuntu dos laboratórios de informática).
Já adicionei em favoritos.. rsr

Ah, e eu também publiquei uma dica tempos atrás, mas utilizando o sintetizador mbrola, que infelizmente não é livre, mesmo tendo versão para Linux.
http://www.vivaolinux.com.br/dicas/verDica.php?codigo=7827


[5] Comentário enviado por edirlf em 24/10/2007 - 13:15h

Excelente, sensacional, felomenal!!!!! :D
Agora sério, muito legal esse seu artigo cara. Muito legal mesmo.
Parabéns. Mesmo.

[6] Comentário enviado por daaugusto em 24/10/2007 - 18:21h

Parabéns pelo artigo. Não conhecia o espeak, achei simplesmente fantástico. A pronúncia em português, se colocado em velocidade e altura (pitch) adequadas, fica clara e limpa.

Instalei no Debian Lenny (testing), e o espeak trouxe já o dicionário pt.

[7] Comentário enviado por rafaelcosta1984 em 25/10/2007 - 22:23h

eu instalei o espeak-data também ! tudo relacionado ao speak, pelo menos no meu repositório eu baixei ! vou ver se adiciono um outro repositório no meu debian etch para ver se sano o problema !

[8] Comentário enviado por GilsonDeElt em 26/10/2007 - 21:32h

d+, cara
logo, logo eu vou testar
vlw!

[9] Comentário enviado por nambikuara em 28/10/2007 - 11:43h

Galera,
Alguém sabe como instalar o Espeak no Slackware?
Não achei pacotes .tgz do programa. Tentei converter um pacote .rpm para .tgz e não funcinou. Após resolver as dependências fui testar e dá o seguinte erro: " Floating point exception ".
Baixei os fontes mas não consegui compilar. Não segue o padrão "configure, make, make install".
Utilizo o festival mas me interessa mais o espeak pela opção de português.
Um grande abraço a todos e agradeço antecipadamente qualquer ajuda.
Nambikuara

[10] Comentário enviado por bjverde em 28/10/2007 - 21:51h

Obrigado a todos pelos elogios.

Para quem usa Debian estável o espeak não tem o dicionário em português mesmo. o eSpeak está na versão 1.16 como pode ser visto no site do Debian
http://packages.debian.org/search?keywords=espeak&searchon=names&suite=stable§ion=all

Porem que está usando Debian teste já não tem o mesmo problema pois o eSpeak está na ultima versão 1.29
http://packages.debian.org/search?keywords=espeak&searchon=names&suite=testing§ion=all

[11] Comentário enviado por bjverde em 16/11/2007 - 13:36h

mais um link sobre o assunto: http://www.dcc.ufrj.br/~gabriel/dicas2.html


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts