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: 20.746 ]

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


Problema inicial



Estou com um problema de ter uma quantidade grande material para estudar, porém tenho outras tarefas para executar. A solução geek foi colocar o computador para ler o material, assim poderia escutar a leitura em quanto tento fazer outras atividades. Agora tenho outro problema, como fazer o computador ler o material. A solução foi recorrer a internet, achei alguns sintetizadores de voz para GNU/Linux:
  • Orca - Sintetizador que pode ser integrado ao GNOME. Está disponível para Ubuntu e Debian;
  • Espeak - Sintetizador simples e pequeno, pode ser integrado com o KDE para leitura de tela;
  • Festival - Sintetizador de voz criado pela Universidade de Edimburgo.

Agora estou com um problema, como fazer o sintetizador funcionar. De volta às pesquisas na Internet. O sintetizador mais simples que ache usar foi o Espeak.

Instalação e uso do Espeak

Se você está usando Ubuntu ou Debian, para instalar o Espeak é só executar:

# apt-get install espeak espeak-data

Usando o Espeak. Alguns exemplos abaixo só irão funcionar com Espeak 1.21 ou superior. Dica: quando executar um dos comandos abaixo o totem não pode estar aberto.

Exemplo 01. Abra um terminal e execute os comandos abaixo. Veja a diferença na qualidade da pronúncia.

$ espeak "Olá Mundo, esse texto está em português"
$ espeak -v pt "Olá Mundo, esse texto está em português"


O parâmetro -v informa a língua que deverá ser usada. Para saber todos as línguas disponíveis use:

$ espeak --voices

Exemplo 02. Abra um terminal e execute os comandos abaixo. Agora ele fala rápido e fino:

$ espeak -v pt -s370 -p99 "Olá Mundo, esse texto está em português"

Parâmetros:
  • -s speed. Velocidade do texto, pode ter valores de 30 a 370;
  • -p pitch. Altura do som (grave ou agudo) pode ter valores de 0 a 99, valores baixos som grave e valores altos som agudo.

Exemplo 03. Abra um terminal e execute os comandos abaixo. Lendo um arquivo de texto ou HTML e gerando um arquivo WAV.

$ espeak -v pt -s180 -p60 -mf arquivo.html -w arquivo.wav

Parâmetros:
  • -mf. Leitura de um arquivo de entrada. O "m" serve para não fazer a leitura das tags html.
  • -w gera um arquivo no formato WAV.

    Próxima página

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

XML de NF-e ou CT-e ou MDF-e - Como validar usando os pacotes de esquemas do Governo

Alternância de GPU em notebooks Core-i

Terminal Didático - Shell Script via WEB (PHP + Bootstrap)

NetProfiler - Um solução para quem passeia por várias redes

Impressora PDF via Samba para estações Windows

  
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
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts