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

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

Automatização de backup

Brincando com vetores - complemento

Formatando o bash com cores e efeitos

KDialog com Shell Script - Conversão de slides JPG para projetores com suporte a miniaturas de imagens

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