***********************************************************
Sistema de sntese de fala para portugus
Copyleft (c) Serpro - 2007
*********************************************************** 
Detentor da licena:
SERPRO - SERVIO FEDERAL DE PROCESSAMENTO DE DADOS
BRASIL
Autor: Jos Antonio Borges
Verso 1.0 gerada em junho/2007
***********************************************************
A redistribuio desta pea de programao de computadores  regida pela
LICENA SERPRO LPGL - 2007
 permitido copiar e distribuir copias fiis deste software
e de sua documentao, mas no so permitidas quaisquer
alteraes aos mesmos, sem autorizao expressa do Serpro.
Esta documentao deve ser includa intacta em qualquer redistribuio
deste produto.
***********************************************************
Crditos:
Este sintetizador usa partes do sintetizador DOSVOX do
      NCE/UFRJ, criado por J. A. Borges em 1994
Tradutor de Portugus originalmente criado em 1987 por
      Alexandre Plastino de Carvalho
      Sylvia de Oliveira e Cruz
      Veronica Lourenco de Herval Costa
A concatenao dos difones utiliza o sistema MBROLA,
      CopyRight (C) 1996-2007 - Facult Politechnique de Mons - Blgica
***********************************************************
 
A documentao abaixo est descrita em Delphi, mas pode ser
facilmente convertida para outras linguagens de 32 bits, sendo
trivial sua converso para C,  C++, python e muitas outras.
 
***********************************************************
 
1. Inicializao do sistema de fala
A rotina lianeTTS_open inicializa a base de dados necessria para
a converso de textos para fala.
Declarao:
function lianeTTS_open (mbrola_db,
                        arq_regras, arq_excessoes, arq_abrev,
                        arq_prosodia, arq_listadif: pchar): boolean; 
                stdcall;

Valores default dos parmetros:
    So assumidos os seguintes valores para os parmetros, caso sejam
enviadas "strings" vazias (mas no nulas).
    mbrola_db        =  br4
    arq_regras       =  portug.nrl
    arq_excessoes    =  portug.exc
    arq_abrev        =  portug.abr
    arq_prosodia     =  portug.pro
    arq_listadif     =  portug.dfn
    A base de dados bar4 deve estar registrada no painel de controle 
do sistema MBrola (localizado no painel de controle do Windows).
Caso ela no esteja registrada,  buscada em c:\winvox\lianetts\br4
    So assumidos a velocidade 60 e o pitch rate de 50.
 
***********************************************************
 
2. Escolha do arquivo de sada da sntese de voz
Declarao:
procedure lianeTTS_setOutputFile (filename: pchar); stdcall;
Valores default dos parmetros:
Se filename for fornecido como uma cadeia vazia (''), no nula,
ser assumida a placa de som principal do computador como sada.
 
***********************************************************
 
3. Configurao da velocidade e tonalidade
Declarao:
procedure lianeTTS_config (speed, pitch: integer); stdcall;
Os valores fornecidos devem estar entre 0 e 100.
 
***********************************************************
 
4. Fechamento do sistema de sntese e desalocao da biblioteca
contida na memria.
Declarao:
procedure lianeTTS_close; stdcall;
 
***********************************************************
5. Cancelamento da fala em execuo
Declarao:
procedure lianeTTS_stop; stdcall;
 
***********************************************************
6. Pedido de fala
Declarao:
function lianeTTS_speak (toSpeak: pchar): boolean; stdcall;
A fala  realizada assincronamente.
Um novo pedido de fala cancela automaticamente um pedido anteriormente
no concludo.
 
***********************************************************
 
7. Verificao se o sintetizador est falando
Declarao:
function lianeTTS_isSpeaking: boolean; stdcall;
A rotina retorna o valor TRUE caso alguma sntese esteja sendo executada.
 
***********************************************************
 
8. Espera a sntese atual terminar
Declarao:
procedure lianeTTS_wait; stdcall;
Se no houver sntese em andamento, a rotina retorna imediatamente.
 
***********************************************************

Importante:
O sistema Mbrola deve ser instalado no computador antes de que este
software possa ser utilizado.  O sistema MBrola pode ser obtido no site:
tcts.fpms.ac.be/synthesis/mbrola/mbrcopy.html
