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.490 ]

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

Desinstalando todos os programas instalados a partir de uma data específica

Coloque ordem em seus programas

Antispam em Shell Script

Automatização de backup

Conectando-se à Internet via ADSL com PPPoE no OpenBSD

  
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