Sunteți pe pagina 1din 32

O PAULO

U N I V E R S I D A D E DE S A
Escola de Artes, Ci
encias e Humanidades

Roberto Lopes de Carvalho

Atualizao do Sintetizador de Voz Festival com


suporte a fonemas do Portugus Brasileiro

So Paulo
Junho de 2010

Universidade de So Paulo
Escola de Artes, Cincias e Humanidades

Roberto Lopes de Carvalho

Atualizao do Sintetizador de Voz Festival com


suporte a fonemas do Portugus Brasileiro

Monografia para ser apresentada Escola


de Artes, Cincias e Humanidades da Universidade de So Paulo, como parte dos
requisitos exigidos para aprovao na disciplina ACH2017 Projeto Supervisionado ou
de Graduao I, do curso de Bacharelado em
Sistemas de Informao.

Orientador:

Prof. Dr. Fernando Auil

So Paulo
Junho de 2010

Catalogao na publicao Bibilioteca da EACH/USP

Carvalho, Roberto Lopes de


Atualizao do Sintetizador de Voz Festival com suporte a fonemas do Portugus Brasileiro / Roberto Lopes de Carvalho ; orientao de Fernando Auil.
So Paulo : Universidade de So Paulo, Escola de Artes, Cincias e Humanidades, Junho de 2010.
21 p. : il.
Monografia apresentada para Concluso de Curso de Sistemas de Informao Escola de Artes, Cincias e Humanidades da Universidade de So
Paulo.
1. Sintetizador de voz. 2. Festival. I. Auil, Fernando, orient. II. Ttulo.
CDD 22.ed. 910.46

Universidade de So Paulo
Escola de Artes, Cincias e Humanidades

Roberto Lopes de Carvalho

Atualizao do Sintetizador de Voz Festival com


suporte a fonemas do Portugus Brasileiro
Monografia para ser apresentada Escola
de Artes, Cincias e Humanidades da Universidade de So Paulo, como parte dos
requisitos exigidos para aprovao na disciplina ACH2017 Projeto Supervisionado ou
de Graduao I, do curso de Bacharelado em
Sistemas de Informao.

Data de Aprovao:

11 de junho de 2010
Banca Examinadora:

Profa Dra Ariane Machado Lima


EACH-USP

So Paulo
Junho de 2010

Agradecimentos
Agradeo em primeiro lugar a Deus que me concedeu a vida.
A minha esposa e filhos pela pacincia, apoio e encorajamento. Sem eles nada disso teria
sentido algum.
A minha me que sempre acreditou em mim.
Ao Prof. Dr. Fernando Auil, que mais do que orientador foi professor no sentido mais
nobre da palavra.
Finalmente, mas no por menor merecimento, agradeo aos amigos que, na jornada que
um curso superior, se juntam a ns nas lutas dirias. Dentre estes, sou particularmente grato ao
meu amigo Ivanir, grande modelo de perseverana e dedicao, o exemplo que segui.

ii

Glossrio
API: Acrnimo de Applicattion Programming Interface (Interface de Programao de Aplicativos). Conjunto de rotinas e padres de um software para a utilizao das suas funcionalidades por programas aplicativos que desejam usar seus servios.
APT: Acrnimo de Advanced Packaging Tool. Gerenciador de pacotes binrios para o sistema
operacional GNU/Linux, criado para ser utilizado com a distribuio Debian. Porm,
outras distribuies derivadas tambm herdaram essa ferramenta.
CSTR: Acrnimo de Centre for Speech Technology Research. Centro de pesquisas direcionado
tecnologia de sntese de voz da Universidade de Edimburgo na Esccia.
cdigo aberto: Vide open-source.
cdigo-fonte aberto: Vide open-source.
DFSG: Acrnimo de Debian Free Software Guidelines. Conjunto de normas relativas disponibilidade do cdigo-fonte e do tipo de licena de aplicativos, utilizadas no projeto
Debian para determinar em qual componente do repositrio ser locado o pacote binrio
correspondente.
FHS: Acrnimo de Filesystem Hierarchy Standard (Hierarquia Padro do Sistema de Arquivos). Conjunto de especificaes para a organizao da estrutura de diretrios e locais
onde devem ser colocados os diferentes tipos de arquivos em um sistema Unix ou similar.
Free Software Foundation: Fundao para o Software Livre, criada por Richard Mattew Stallman em 1981.
FreeBSD: Acrnimo de Free Berkley Sofware Distribution. Sistema operacional de cdigofonte aberto, similar ao Unix, desenvolvido pela Universidade Berkeley da Califrnia.
FSF: Acrnimo de Free Software Foundation (Fundao para o Software Livre).
GNU: Embora o termo gnu seja utilizado para denominar duas espcies de antlope da famlia Bovidae nativas da frica (Connochaetes gnou e C. taurinus), no contexto do
presente trabalho, GNU (grafado sempre com maisculas) um acrnimo recursivo de

Glossrio

iii

GNUs Not Unix (GNU no Unix). Trata-se de um projeto desenvolvido pela FSF para
a implementao de um sistema operacional completo atravs de software livre.
GNU/Linux: Sistema operacional composto dos aplicativos GNU desenvolvidos pela Free
Software Foundation com a eventual adio de software livre e/ou de cdigo-fonte aberto,
usando o Linux como kernel, do sistema.
GPL: Acrnimo de General Public License (Licena Pblica Geral GNU). Licena de distribuio e uso para software idealizada por Richard Mattew Stallman no final dos anos 80
no mbito do projeto GNU da Free Software Foundation. Trata-se da licena com maior
utilizao nos projetos de software livre.
KDE: Acrnimo de K Desktop Environment. Gerenciador de janelas de cdigo-fonte aberto
que utiliza a biblioteca Qt.
kernel: Camada de software, mais prxima do hardware, sendo responsvel por gerenciar os
recursos do sistema computacional como um todo.
Linux: Clone do kernel do Unix licenciado sob a GPL. O Linux foi iniciado por Linus Torvals
a partir de 1991-1992 e conta na atualidade com a colaborao de milhares de desenvolvedores no mundo inteiro. A marca Linux propriedade de Linus Torvals.
LISP: Famlia de linguagens de programao concebida por John McCarthy em 1958. Durante
as dcadas de 1970 e 1980, foi a principal linguagem da comunidade de inteligncia
artificial. Seu nome deriva de LISt Processing, onde a lista a estrutura de dados fundamental desta linguagem e o cdigo-fonte pode ser manipulado como qualquer outro tipo
de dado. Existem diversos dialetos de Lisp, sendo os mais conhecidos o Common Lisp
e o Scheme.
LPC: Acrnimo de Linear Predictive Coding (Codificao por Predio Linear). Consiste em
um mtodo matemtico para realizar estimativas de valores futuros de um sinal digital,
por exemplo, como uma funo linear de amostras passadas.
NLP: Acrnimo de Natural Language Processor (Processador de Linguagem Natural). Dispositivo cuja tarefa consiste em transformar o contedo textual em informaes fonticas,
ou seja, converte um texto escrito em voz sintetizada que imita a voz humana. Tambm
conhecido como TTS.
OGI: Acrnimo de Oregon Graduate Institute of Science & Technology.

Glossrio

iv

open-source: Termo criado pela Open Source Initiative (OSI) que aplica-se de maneira genrica a qualquer software que respeita basicamente as quatro liberdades definidas pela
FSF para o software livre.
programao funcional: Paradigma de programao que considera a computao como uma
avaliao de funes matemticas.
programao procedural: Paradigma de programao baseado no conceito de chamadas a
procedimentos, tambm conhecidos como rotinas, sub-rotinas ou mtodos.
Scheme: Dialeto da linguagem de programao LISP. Trata-se de uma linguagem multi-paradigma
que suporta programao funcional e procedural. Foi criada por Guy L. Steele e Gerald
Jay Sussman no ano de 1975.
software livre: Qualquer programa de computador que pode ser usado, copiado, estudado e
redistribudo sem nenhuma restrio, atendendo basicamente aos quatro tipos de liberdades estabelecidos pela Free Software Foundation, a saber: liberdade para (0) executar
o programa, sem restrio de qualquer propsito; (1) estudar como o programa funciona,
e adapt-lo para necessidades particulares; (2) redistribuir, inclusive vender, cpias do
programa; (3) modificar o programa, e distribuir tais modificaes, de modo que toda a
comunidade se beneficie.
TTS: Acrnimo de Text-To-Speech. Termo genrico utilizado para o NLP.
Unix: Sistema operacional portvel, multi-tarefa e multi-usurio originalmente criado por Ken
Thompson, nos Laboratrios Bell (Bell Labs) da AT&T. Nos primrdios tratva-se de
software livre, mas logo tornou-se proprietrio. Na atualidade, a marca Unix propriedade do The Open Group, um consrcio formado por empresas de informtica.

Resumo
Programas sintetizadores de voz tem permitido que deficientes visuais e usurios em geral aprimorem a interao com textos armazenados digitalmente. Entretanto, poucas so as opes
disponveis na linguagem portugus do Brasil e dentre estas no h nenhuma opo para usurios de sistemas operacionais de cdigo-fonte aberto. Neste trabalho procuramos integrar um
pacote de fonemas do portugus do Brasil ao sintetizador de voz Festival, atualizando o mesmo
para a verso mais atual disponibilizada pelos desenvolvedores daquele projeto. Alm disso,
espera-se facilitar a distribuio dos programas produzidos atravs da criao de pacotes binrios do Debian colocados em repositrios de software publicamente acessveis, como uma
maneira de contribuir para ampliar as opes de acesso a ferramentas de sntese de voz.
Palavras-Chave: Sintetizador de voz, Festival, interao humano-computador, inclusso digital.

vi

Sumrio

1 Introduo

2 Objetivos

2.1

Objetivo Geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.2

Objetivos Especficos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3 Reviso bibliogrfica

3.1

Sntese de Voz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3.2

Sintetizador Festival . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3.3

Compiladores: GCC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3.4

Debian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3.5

Incluso digital . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4 Metodologia

5 Compilao

5.1

Admirvel mundo Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5.2

Tentativas iniciais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5.3

Mundana de abordagem . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

10

5.4

Fonemas em portugus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11

6 Debianizao

13

6.1

Reunindo as ferramentas e materiais necessrios . . . . . . . . . . . . . . . . .

13

6.2

Criando patches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

14

vii

Sumrio

6.3

Criando os pacotes binrios do Debian . . . . . . . . . . . . . . . . . . . . . .

14

7 Resultados

16

8 Discusso

17

9 Concluso

18

9.1

Atividades desenvolvidas . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

18

9.2

Divulgao do trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

18

9.3

Perspectivas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

19

Referncias Bibliogrficas

20

Introduo

A capacidade de registrar e comunicar informao uma das grandes conquistas da humanidade


e o advento da atual era das informaes digitalizadas tornou o processo ainda mais acelerado,
multiplicando as opes de fontes de informao e ampliando o acesso a essas informaes
atravs de sites e repositrios virtuais.
Neste cenrio, como em tantos outros, surge a questo da forma pela qual o homem interage
com as aplicaes e mquinas que armazenam as informaes e claramente percebe-se que a
viso e capacidade de leitura so itens quase que fundamentais para o proveito das informaes
em formato digital, dificultando dessa maneira o acesso dos portadores de deficincia visual e
limitando de forma geral a maneira como a informao acessada pela exigncia de uma tela
para exibio da informao textual.
A pesquisa em produo de sintetizadores de voz apresentou progressos substnciais nas
ltimas dcadas e, combinada com programas capazes de transformar texto em representao
fontica, sinaliza uma possibilidade que abre novas portas aos portadores de deficincia visual e
amplia as possibilidades em geral da interao entre o ser humano e o computador permitindo o
acesso a informao atravs de programas capazes de tranformar texto em fala (DUTOIT 1997).
Esses programas chamados de Natural Language Processor ou, mais comumente, de Text-tospeech j possuem hoje diversas implementaes, contudo em sua maioria so ferramentas
proprietrias e com um custo elevado. H alguns programas de cdigo fonte aberto, sendo o
sintetizador de voz Festival, que um dos objetos de estudo deste trabalho, uma opo com
APIs (Application Program Interface) para comunicao com diversas outras ferramentas e
um suporte bastante bom aos idioma ingls e desenvolvido para o sistema operacional Linux
que tambm cdigo aberto.
Uma dificuldade caracterstica do nosso pas a carncia de certos programas em idioma
portugus brasileiro, fato que constitu uma dificuldade para a disseminao do software livre (EBERLIN 2006). Uma alternativa gratuita para a sistema operacional Windows o programa DOSVOX (NCLEO DE COMPUTAO ELETRNICA - UFRJ 2010) criado e man-

1 Introduo

tido pelo Ncleo da Computao Eletrnica da Universidade Federal do Rio de Janeiro que
nativamente desenvolvido para portugus brasileiro e possi APIs para integrao com outras
ferramentas de sntese de voz para Windows.
Para sistemas operacionais de software livre entretanto, no encontramos opes de sintetizadores de voz com suporte ao portugus brasileiro.
Motivados ento pela:
carncia de opes de cdigo fonte aberto para sistemas operacionais livres;
possibilidade de ampliar o acesso dos deficientes visuais e promover a interao entre
homem e computador;
e partindo de trabalho prvio que adicionou suporte a fonemas do portugus brasileiro a uma
verso anterior do programa Festival (STERN 2009), decidimos efetuar o trabalho de atualizar
a ultima veso do programa, acrescentando o suporte aos fonemas e compilando com a mais
atual verso do compilador GCC. Dessa maneira almejando tornar o pacote disponvel nos
repositrios do sistema operacional GNU/Linux distribuido pelo Debian.

Objetivos

2.1

Objetivo Geral

O objetivo geral deste trabalho o estudo terico e prtico do sintetizador de voz Festival,
possivelmente contribuindo para adicionar a ferramenta a uma distribuio oficial Debian e
tornando possvel o acesso a um programa cdigo-fonte aberto em um sistema operacional
cdigo-fonte aberto, favorecendo a incluso digital de deficientes visuais e a interao entre
homem e computador.

2.2

Objetivos Especficos

Estudo terico do funcionamento de sintetizadores de voz, atravs da literatura existente


na rea.
Estudo terico do funcionamento do compilador GCC e da plataforma GNU/Linux, atravs da literatura existente na rea.
Estudo do cdigo-fonte do Festival com a finalidade de realizar a compilao da verso
mais atual do programa com uso da verso mais atual do compilador GCC.
Gerao de pacotes binrios do Debian com o produto final da compilao.
Entrar em contato com mantenedores do Debian, para possvel incluso dos pacotes binrios gerados no repositrio de distribuio do Debian.

Reviso bibliogrfica

3.1

Sntese de Voz

Sntese de voz o processo de produo artificial de voz humana e tem sido objeto de estudos
e pesquisas h sculos, desde o aparato mecnico capaz de produzir o som das vogais, desenvolvido por Kratzenstein em 1779 (LEMMETTY 1999) at as tecnologias mais atuais com
programas como o Festival.
Convm a este trabalho descrever brevemente alguns elementos da sntese de voz e mais
especificamente dos sistemas Text-To-Speech (TTS) que so sistemas capazes de converter texto
em linguagem natural falada. Este processo permite que as informaes contidas em um texto
sejam compreendidas por seres humanos apenas atravs da audio o que amplia as possibilidade de interao humano-computador e propicia possibilidades para portadores de deficincia
visual que sem esse recurso ficariam impedidos de utilizar.
Um sistema TTS em seu modelo comum composto de algumas caractersticas principais
que possuem dois processos fundamentais: um anlise do texto e a sntese da voz (TAYLOR 2009).
A anlise do texto consiste na identificao da forma, das palavras com sua classificao
traduzindo para uma forma fontica que ento representada atravs da sntese de fala.

3.2

Sintetizador Festival

O sintetizador de voz Festival - The Festival Speech Synthesis System, foi desenvolvido pelo
Centre for Speech Technology Research (CSTR) da universidade de Edimburgo consiste em um
framework para construo de sistemas sintetizadores de voz. Sua proposta inicial justamente
permitir multiplas linguagens e j possu um excelente conjunto de vozes e fonemas para ingls.
Possu diversas APIs para integrao com sistema operacional, comandos interpretados em
Scheme e bibliotecas de C++ (BLACK, TAYLOR & CALEY 1999).

3.3 Compiladores: GCC

3.3

Compiladores: GCC

Compiladores so programas capazes de transformar cdigo-fonte produzido, em geral, por seres humanos para "cdigo de mquina". Sua tarefa geral seria ler uma fonte em uma linguagem
e traduzir essa fonte para uma outra linguagem (BORNAT 1979).
O GNU Compiler Collection (GCC) um programa de cdigo-fonte livre desenvolvido e
mantido pelo projeto GNU que hoje suportado e patrocinado pela Free Software Foundation
(FSF). Possu front-end para diversas linguagens, bem como bibliotecas de funes para as
mesmas. Est presente nos repositrios de todas as distribuies GNU/Linux.

3.4

Debian

O Debian um sistema operacional de cdigo-fonte aberto que usa o Linux como kernel do
sistema e uma grande quantidade de aplicaes do projeto GNU, sendo que hoje os repositrios
de aplicativos do Debian j contam com mais de 25.000 (vinte e cinco mil) pacotes de binrios
de software, todos de cdigo-fonte aberto e com licenas de uso e distribuio livres.
O nome do projeto, Debian, deriva da composio dos nomes de seu criador Ian Murdock
e o da sua esposa Debra. Ian deu nicio ao projeto em 1993, comeando com um pequeno
grupo de desenvolvedores, que com o passar do tempo se expandiu e hoje forma uma grande
comunidade de desenvolvedores, todos eles voluntrios, e usurios.
Com uma politca bastante criteriosa para aceitar acrscimos aos repositrios, o Debian
considerado uma das distribuies mais estveis e confiveis de GNU/Linux justamente por exigir que os binrios desenvolvidos para o sistema sigam regras definidas por exemplo no File Hierarchy Standard(FHS) (FILESYSTEM HIERARCHY STANDARD GROUP 2004), que consite de um conjunto de especificaes para a organizao da estrutura de diretrios para alocao
dos diferentes tipos de arquivos em um sistema Unix ou similar.
O Debian possu ainda uma poltica prpria para o desenvolvimento, empacotamento e distribuio de aplicativos. Essas normas estam contidas em um manual conhecido como Debian
Policy Manual (THE DEBIAN POLICY MAILING LIST 2010).

3.5 Incluso digital

3.5

Incluso digital

Segundo pesquisa do Instituto Brasileiro de Geografia e Estatstica (IBGE) cerca de 24,5 milhes de brasileiros, aproximadamente 15% da populao do pas, possuem alguma forma de
deficincia fsica. No h uma estimativa precisa de quantos desses deficientes possuem acesso
a computadores e a internet, mas se nos basearmos no nmero total de brasileiros com acesso a
internet, que ainda segundo o IBGE representa cerca 32,1 milhes de pessoas, sendo que desse
nmero a mdia de idade era de 28 anos e com 10,7 anos de estudo, temos claramente um quadro que deixa evidente a dificuldade em facilitar o acesso a recursos de informtica e tecnologia
para deficientes.
Mesmo nas pginas em geral da Internet no so encontrados muitos sites com opes que
favoream a acessibilidade, a despeito de iniciativas como a da World Wide Web Consortium
(W3C), que est promovendo atravs de um projeto chamado Web Accessibility Initiative tutoriais e artigos para enfatizar a importncia, ensinar os mtodos e testar a acessibilidade em
sites (WORLD WIDE WEB CONSORTIUM).
Neste cenrio de opes escassas ainda mais escassas so as opes gratuitas e em portugus, fato que constitui um obstculo para a difuso do software livre (EBERLIN 2006).

Metodologia

Adotamos como metodologia de trabalho duas frentes principais, sendo uma delas terica e a
outra de ordem prtica. Na teoria buscamos informaes sobre sntese de voz e compiladores,
e ainda realizamos extensas pesquisas tcnicas com relao as tecnologias que foram utilizadas
ou que fizeram parte deste trabalho, quais sejam:
Sistema operacional GNU/Linux Debian 5.0 lenny.
Filesystem Hierarchy Standard (FHS), conjunto de especificaes para a organizao da
estrutura de diretrios (FILESYSTEM HIERARCHY STANDARD GROUP 2004).
Sintetizador de voz Festival.
Mdulo sintetizador LPC residual da OGI.
Compilador GCC.
Bibliotecas e programas do APT (Advanced Packaging Tool). Em particular, o programas

dpkg, dpkg-source e apt-get.


Na prtica realizamos atividade de compilao do cdigo-fonte da verso 1.96 do programa
Festival com a verso mais atual do GCC e ainda realizamos a criao de pacotes binrios do
Debian.

Compilao

5.1

Admirvel mundo Linux

Para realizao dos trabalhos e, conseguinte, alcance dos objetivos propostos um dos passos
iniciais consistiu para mim no aprendizado de utilizao e configurao de um sistema Linux,
sendo que no possuia experincia nem em sua instalao e to pouco em sua configurao.
Uma grata surpresa foi a riqueza de documentao e material destinado a iniciantes que encontrei na internet com especial destaque para o site do Debian:

http://www.debian.org
Do ponto de vista de um usurio de sistemas Windows alguns pontos que em especial se
destacam so as questes de diviso da organizao dos arquivos de acordo com a permisso
do usurio e o acesso restrito para um superusurio root para atividades relativas ao sistema
operacional em si.
A configurao e o uso de aplicaes em linha de comando causaram uma certa estranheza
inicial que no entanto foi rapidamente superada graas a riqueza de docuentao e as inmeras
facilidades proporcionadas.
A instalao e atualizao de programas e do prprio sistema operacional atravs de comandos apt-get acrescentam ainda uma dimenso obviamente prtica de organizao e aquisio
dos programas. Ainda a estrutura de compartilhamento de bibliotecas favorecem a economicidade.
Para os trabalhos de compilao utilizamos o sistema operacional GNU/Linux Debian 5.0
lenny.

5.2 Tentativas iniciais

5.2

Tentativas iniciais

Inicialmente fizemos o download do cdigo-fonte do Festival do site FestVox mantido pelo


Language Technologies Institute da Universidade Carnegie Mellon:

http://festvox.org/packed/festival/latest/
Os arquivos contendo o cdigo-fonte so distribudos compactados em formato .tar.gz e
os arquivos baixados foram os seguintes:
festival-1.96-beta.tar: Ncleo do Sistema de Sntese de Voz Festival. Contm
ainda exemplos, arquivos de configurao, documentao e bibliotecas.
festlex_CMU.tar.gz: Dicionrio de fonemas em ingls americano e um documento
com as regras de som baseadas no CMUDICT 0.4.
festlex_OALD.tar.gz: Dicionrio do ingls britnico e um documento com as regras
de som derivadas do Oxford Advanced Learners Dictionary of Current English, restrito
somente para uso no comercial.
festlex_POSLEX.tar.gz: Dicionrio, wsj.wp39.poslexR, e um n-grama para a identificao da voz inglesa, wsj.wp39.tri.ngrambin.
festvox_kallpc16k.tar.gz: Sintetizador de difones correspondentes ao ingls americano.
festvox_kedlpc16k.tar.gz: Sintetizador de difones correspondentes ao ingls americano.
festvox_rablpc16k.tar.gz: Sintetizador de difones correspondentes ao ingls britnico.
speech_tools-1.2.96-beta.tar.gz: Biblioteca de ferramentas de voz da Universidade de Edimburgo. Consiste numa coleo de classes C++, funes e programas relacionados com a manipulao de todo tipo de objetos utilizados para o processamento da voz.
Inclui suporte para a leitura e escrita de formas de onda e arquivos de diversos formatos,
e tambm permite a converso entre tipos.
Em seguida efetuamos o download do sintetizador LPC residual do Center for Spoken Language Understanding (CLSU) mantido pelo Oregon Graduate Institute of Science and Technology (OGI) em seu site:

5.3 Mundana de abordagem

10

https://www.cslu.ogi.edu/tts/download/data/OGIresLPC-2.2.tar.gz
Iniciamos ento as atividades de compilao propriamente ditas com a verso 1.96 do
Festival e com a verso 4.01 do gcc fazendo uso dos seguintes comandos:

cd /tts/speech_tools
./configure
make
Em seguida, fazemos o mesmo com o Festival propriamente dito:

cd /tts/festival
./configure
make
Nos deparamos com os primeiros erros de compilao que, descobrimos numa lista de
discusso do KDE, poderiam ser causados por certas incompatibilidades entre o cdigo-fonte
do Festival 1.96 e o GCC verso 4.01. Aplicamos um patch de correo localizado no site da
lista de dicusso do KDE:

http://lists.kde.org/?l=kde-accessibility&m=112757271022463&w=2
com o comando que se segue:

patch -d ../tts/speech_tools -p1 < festbuild-2.patch


Os erros de compilao contudo persistiram e aps intensa pesquisa localizamos uma sugeto de que poderia tratar-se de um problema na verso do compilador em uma lista de discusso
sobre Festival:

http://lists.berlios.de/pipermail/festlang-talk/2009-May/001592.html

5.3

Mundana de abordagem

Neste ponto optamos por uma estratgia mais radical e decidimos partir para a ltima verso
estvel do compilador, que na ocasio era a 4.43. Est deciso foi radical, pois estaramos

5.4 Fonemas em portugus

11

passando a uma verso do compilador que no faz parte da distribuio estvel do Debian
Lenny, mas apenas encontrado na verso de testes Squeeze.
Atualizamos ento os arquivos sources.list que no Debian servem para listar os endereos para download de pacotes binrios ou cdigo-fonte via a ferramenta de instalao e
atualizao de programas denominada apt-get.
Agora com a verso 4.43 do compilador GCC removemos o patch previamente aplicado
sobre o Festival com o seguinte comando:

patch -d ../tts/speech_tools -p1 -R < festbuild-2.patch


Uma nova tentativa de compilao resultou ento em um erro diferente que tentamos pontualmente superar com uso da opo -fpermissive que permite realizar a compilao ignorando certas verificaes. Constatamos ento que o mesmo erro ocorria em diversos dos
arquivos no cdigo-fonte do Festival e do Speech Tools e ento decidimos editar o arquivo

/tts/speech_tools/config/config para aplicar a citada opo -fpermissive a todos os


fontes que seriam compilados com o acrscimo da seguinte linha:

CC_OTHER_FLAGS += -fpermissive
Com isso conseguimos realizar a compilao dos fontes do Festival e do Speech Tools,
mas ainda sem os fonemas em portugus do Brasil. Para testar a compilao utilizamos os
comandos:

festival
(SayText "hello world")

5.4

Fonemas em portugus

Os fonemas em portugus do Brasil foram desenvolvidos como parte do projeto Spooltech, da


Universidade Federal do Rio Grande do Sul (FRANZEN & BARONE 2003), (NETO et al. 2008),
e constituem uma coleo de arquivos que foram acrescentados aos diretrios do Festival para
compilao. Realizamos nova compilao que resultou bem sucedida, entretanto a execuo do
programa apresentou problemas ao tentarmos selecionar voz em portugus:

festival
(voice_aga_diphone)

12

5.4 Fonemas em portugus

Examinando o cdigo-fonte constatamos que o problema ocorria em um programa do mdulo sintetizador LPC residual da OGI. Mais precisamente, localizado no arquivo:

/tts/festival/src/modules/OGIdbase/OGIdbase_scm.cc
Editamos ento algumas linhas desse arquivo, ficando finalmente como mostrado abaixo:
1 new_db = new OGIresLPC_db ;

/*
3 // cerr << datatype << endl ;

if ( datatype == " resLPC ")


5 //

new_db = new OGIresLPC_db ;

else if ( datatype == " LPC ")

// else if ( datatype == " sinLPC ")

new_db = new OGILPC_db ;


new_db = new OGIsine_db ;

7 else {

EST_error (" OGIdbase_scm . cc : Unknown data type \""+ datatype +"\"\ n ") ;
9 }*/

Aps a modificao, uma nova compilao revelou-se bem sucedida e agora obtivemos
sucesso na seleo da voz e fonemas em portugus:

festival
(voice_aga_diphone)
(SayText "Ol mundo. Eu falo em portugus.")

13

Debianizao

6.1

Reunindo as ferramentas e materiais necessrios

Para dar nicio as atividade de criao dos pacotes binrios do Debian que simplificam a instalao e remoo de programas e permitem a distribuio atravs dos repositrios do Debian ou
similares, so necessrios alguns elementos:
Aplicao dpkg utilizada para criao (e gerenciamento) dos pacotes.
Adequao para a instalao dos executveis e a documentao segundo as especificaes
do FHS (FILESYSTEM HIERARCHY STANDARD GROUP 2004).
Observncia das normas contidas no Debian Policy Manual que especifica as regras para
criao de aplicaes e sua integrao como sistema operacional. Acrescenta ainda algumas excees as regras contidas no FHS (THE DEBIAN POLICY MAILING LIST 2010).
Diretrio debian, que contm um subdiretrio patches para alocao dos arquivos que
sero aplicados ao cdigo-fonte antes da compilao e outros programas e arquivos necessrios para, por exemplo, gerar a documentao.
A organizao de acordo com o FHS permite um maior controle e organizao do sistema
operacional, alm de permitir o reuso de bibliotecas comuns a diversas aplicaes.
Procedemos ainda ao download do cdigo-fonte do Festival e do Speech Tools do repositrio do Debian fazendo uso dos comandos:

apt-get source festival


apt-get source speech-tool
apt-get build-dep festival
apt-get build-depspeech-tools

6.2 Criando patches

6.2

14

Criando patches

Criamos uma srie de patches que devem ser aplicados ao cdigo-fonte antes da compilao
com o objetivo de efetuar as correes necessrias. Mais precisamente, o cdigo foi modificado
para:
Acrescentar o mdulo sintetizador LPC residual da OGI.
Acrescentar os fonemas em portugus do Brasil.
Instalar o software produzido (binrios executveis, arquivos de configurao, documentao, etc.) de acordo com o FHS.
Criamos ainda neste processo uma outra srie depatches para permitir a interao com o
Festival atravs de outras formas alm do modo interativo que pode ser utilizado por padro do
programa. Com isso abrimos possibilidade para interao com o aplicativo atravs de:
Leitura de arquivos contendo texto atravs do comando:

festival -tts -language brazilian_portuguese nomedoarquivo.txt


Alternativamente a um arquivo de texto, a leitura dos dados de entrada poderia ser feita
atravs da entrada padro, mais conhecida como STDIN, por exemplo, atravs do comando:

echo "Ol mundo" | festival -tts -language brazilian_portuguese


Utilizao em modo interativo, ou atravs de scripts, como no seguinte exemplo:
1 #!/ usr / bin / festival -- batch

( voice_aga_diphone )
3 ( SayText " Ola Mundo !")

Todos os patches produzidos foram colocados no diretrio debian/patches/ogi.

6.3

Criando os pacotes binrios do Debian

Finalmente com todos os patches e arquivos em ordem pudemos realizar nova compilao e
criao dos pacotes atravs do comando:

6.3 Criando os pacotes binrios do Debian

15

dpkg-buildpackage -us -uc -rfakeroot -b


Com este comando criamos ento dois pacotes binrios do Debian:
festival-ogi_1.96~beta-1_i386.deb: Sintetizador Festival modificado para uso com
o mdulo LPC residual da OGI.
festvox-aga_1.96~beta-2_i386.deb: Base de dados e fonemas necessrios para implementar o suporte ao idioma portugus do Brasil.
Realizamos ento testes instalando e desinstalando os pacotes em reiteradas oportunidades
e em diferentes computadores cujo sistema operacional era o Debian e pudemos constatar sua
funcionalidade.

16

Resultados

Os resultados de ordem prtica e mais facilmente perceptveis foram evidentemente os binrios


compilados e empacotados funcionando adequadamente. Esse xito nos permite tentar junto
aos mantenedores do Debian a incluso dos fontes na prxima distribuio estvel do Debian,
mas ainda em estgio de testes, denominada Squeeze.
Alm de atingirmos os objetivos inicialmente propostos, conseguimos ainda acrescentar
recursos para utilizao dos comandos do programa atravs da linha de comando, leitura de
arquivos de texto e interao com scripts abrindo a possibilidade para utilizaes criativas e
integrao dos binrios com outras aplizaes, criando no apenas uma distribuio til para o
usurio final, mas tambm interessante como ponto de partida para o desenvolvimento futuro
de aplicaes que faam uso de sintetizadores de voz.
Com relao a distribuio dos binrios e do cdigo fonte produzido neste trabalho criamos
um projeto no SourceForge.NET, que hospeda diversos projetos de programas distribudos sob
variadas formas de licenciamento e para diversas plataformas. O projeto pode ser acessado no
seguinte endereo:

https://sourceforge.net/projects/festivalptbr/
Neste repositrio h a ainda a possibilidade do controle de verso, customizao da pgina do
projeto e outras possibilidades como o acrscimo de documentos e manuais que pretendemos
em breve acrescentar o repositrio para facilitar a compreenso por parte de interessados quer
sejam usurios ou desenvolvedores que se interessem em contribuir de alguma maneira para o
desenvolvimento ulterior do projeto.
Ainda como resultados considero o aprendizado no apenas terico dos sintetizadores de
voz e da plataforma GNU/Linux, mas tambm o conhecimento prtico de uso e manipulao
destas ferramentas, com suas dificuldades e surpresas que registramos ao longo desta monografia.

17

Discusso

Foi contatado o mantenedor do Debian:

Kartik Mistry <kartik.mistry@gmail.com>


que o prprio mantenedor do Festival junto ao projeto Debian. Ele mostrou-se receptivo ao
nosso trabalho, mas com relao incluso do software produzido no repositrio do Debian,
no temos ainda nenhum parecer conclusivo no momento.
Foram alcanados os resultados esperados em termos do desenvolvimento e adaptao dos
programas, porm a dificuldade em distribuir os binrios evidencia alguns pontos j citados com
relao a questo da divulgao das ferramentas de cdigo fonte aberto e sua adoo por parte
dos usurios, deficientes visuais ou no.
Durante a pesquisa pudemos verificar que h uma movimentao por parte dos rgos governamentais no sentido de promover o uso do software livre, como pode ser visto no portal

http://inclusaodigital.gov.br que enumera diversas aes sociais que viso a incluso


digital dos cidados, porm os dados do IBGE evidenciam claramente que h um longo caminho
a ser percorrido para alcanar um nmero significativo da populao.
Pudemos ainda citar o programa DOSVOX que constitui uma excelente alternativa em portugus do Brasil para usurios de sistema operacional Windows e a iniciativa promovida pelo
W3C para promover a criao e adaptao de sites para assegurar acessibilidade, mas ainda h
muitas questes a serem exploradas para uma eficaz utilizao das ferramentas existentes para
aprimoramento da interao entre o humano e computador e uma das que nos parece a mais
destacada est na criao de mecanismos de divulgao que sejam do conhecimento do grande
pblico e, talvez, aqui coubesse uma ao mais forte de entidades do governo nesse sentido.
Ainda h a questo de que a voz obtida com o pacote de fonemas que utilizamos ainda
ser mecanizada e estar longe da qualidade obtida com certas ferramentas pagas disponveis no
mercado. Porm, qualquer melhora dos programas nesse sentido certamente foge do objetivo
inicial do presente trabalho.

18

Concluso

9.1

Atividades desenvolvidas

Partimos da pesquisa terica sobre a sntese de voz humana e sua implementao computacional (sintetizadores de voz) com particular nfase no Festival, dado que trata-se de um projeto de
cdigo-fonte aberto, ainda investigando sua utilizao e integrao com uma ferramenta mantida pela OGI, integrando ainda com um pacote de fonemas em portugus do Brasil.
De nicio seguimos os passos j realizados em trabalho prvio, focado numa verso anterior
do Festival e do compilador GCC (STERN 2009) e trouxemos a um resultado funcional com
as verses mais atuais de ambos.
A utilizao da linguagem portugus do Brasil foi acrescida e pode ser utilizada tanto em
linha de comando quanto em modo interativo.
Criamos pacotes binrios e entramos em contato com os mantenedores do Debian, com o
objetivo de que este trabalho seja divulgado e possa favorecer deficientes visuais ou outros usurios e desenvolvedores que estejam engajados com as questes possibilitadas por essa forma de
interao entre humano e computador.

9.2

Divulgao do trabalho

Alm do desenvolvimento do projeto, e para no depender da boa vontade dos voluntrios do


projeto Debian, para divulgar os programas produzidos no presente trabalho junto com seu
cdigo-fonte, preparamos um repositrio no SourceForge.NET que pode ser acessado no seguinte endereo:

https://sourceforge.net/projects/festivalptbr/
O repositrio criado ser utilizado tambm como uma maneira de dar continuidade ao projeto original de desenvolvimento, cujo objetivo inicial acredita-se tenha sido plenamente atin-

9.3 Perspectivas

19

gido.

9.3

Perspectivas

O projeto original sucetvel de ser aprimorado atravs de atividades como por exemplo:
Melhoria dos fonemas do portugus do Brasil.
Acrscimo de vozes menos mecanizadas e novas opes de voz.
Integrao atravs de interfaces ou scripts do sistema operacional com aplicaes que
recebam comando de voz, para ampliar a capacidade de interao.
Realizao de testes e adaptaes necessrias para funcionamento em outras distribuies
GNU/Linux.

20

Referncias Bibliogrficas
BLACK, A. W.; TAYLOR, P.; CALEY, R. The Festival Speech Synthesis System. System
documentation. 1.4. ed. Site, 1999. Disponvel em: <http://www.cstr.ed.ac.uk/
projects/festival/manual/>. Acesso em: 11 abr. 2010. 3.2
BORNAT, R. Understanding and Writing Compilers. New York: Macmillan Press Ltd.,
1979. 3.3
DUTOIT, T. High-Quality Text-to-Speech Synthesis: an Overview. Journal of Electrical &
Electronics Engineering. Australia: Special Issue on Speech Recognition and Synthesis,
1997. 25-37 p. Disponvel em: <http://tcts.fpms.ac.be/publications/regpapers/
1997/ieeea97_td.zip>. Acesso em: 11 mar. 2010. 1
EBERLIN, S. O Software Livre como Alternativa para a Incluso Digital do Deficiente
Visual. Campinas - SP: Unicamp, 2006. 1, 3.5
FILESYSTEM HIERARCHY STANDARD GROUP. Filesystem Hierarchy Standard. 2.3.
ed. Site, 2004. Disponvel em: <http://www.debian.org/doc/packaging-manuals/
fhs/fhs-2.3.pdf.gz>. Acesso em: 11 mar. 2010. 3.4, 4, 6.1
FRANZEN, E.; BARONE, D. A. C. Automatic Discovery of Brazilian Portuguese Letter
to Phoneme Conversion Rules through Genetic Programming. Berlin / Heidelberg:
Springer, 2003. 62-65 p. Disponvel em: <http://www.springerlink.com/content/
uvkwylcljp15m2nw/>. Acesso em: 11 mar. 2010. 5.4
LEMMETTY, S. Review of Speech Synthesis Technology. Helsinki: Helsinki University of
Technology, 1999. Disponvel em: <http://www.acoustics.hut.fi/publications/
files/theses/lemmetty_mst/thesis.pdf>. Acesso em: 11 mar. 2010. 3.1
NETO, N. et al. Spoltech and OGI-22 Baseline Systems for Speech Recognition in
Brazilian Portuguese. Berlin / Heidelberg: Springer, 2008. 256-259 p. Disponvel em:
<http://www.springerlink.com/content/a66051465208874r/>. Acesso em: 11
mar. 2010. 5.4
NCLEO DE COMPUTAO ELETRNICA - UFRJ. PROJETO DOSVOX. 2010. Site.
Disponvel em: <http://intervox.nce.ufrj.br/dosvox/>. Acesso em: 11 mar.
2010. 1
STERN, I. R. Suporte para Fonemas do Portugus Brasileiro no Sintetizador de Voz
Festival. So Paulo: Escola de Artes, Cincias e Humanidades da Universidade de So
Paulo, 2009. Monografia. 1, 9.1
TAYLOR, P. Text - to - Speech Synthesis. Cambridge: Cambridge University Press, 2009. 3.1

Referncias Bibliogrficas

THE DEBIAN POLICY MAILING LIST. Debian Policy Manual. 3.8.4.0. ed. Site, 2010.
Disponvel em: <http://www.debian.org/doc/debian-policy/policy.pdf.gz>.
Acesso em: 11 abr. 2010. 3.4, 6.1
WORLD WIDE WEB CONSORTIUM. Web Accessibility Initiative. Site. Disponvel em:
<http://www.w3.org/WAI/>. Acesso em: 11 abr. 2010. 3.5

21

S-ar putea să vă placă și