Sintetizador de Fala (Speech Synthesizer) MBROLA
Resumidamente, o MBROLA é um sintetizador de fala baseado na concatenação de difones, que minimiza problemas de concatenação. Não é um sintetizador TTS completo (Text-To-Speech Synthesizer), não sendo capaz de traduzir um
texto para fala, apenas faz a concatenação de difones que tenham sido previamente escolhidos por um compilador
(neste caso o programa lianecomp do sistema LianeTTS).
Nota:
O LianeTTS é um sintetizador TTS que usa a interface do MBROLA para a síntese de voz; um arquivo .pho é gerado pelo LianeTTS para processamento em fala pelo MBROLA.
O sistema MBROLA foi gerado na Faculté Polytechnique de Mons, Belgium a partir de 1996. Ele usa uma variante do método PSOLA (patente da France Telecom), que permite uma grande qualidade no som gerado. MBROLA significa Multi Band Resynthesis OverLap Add. É um sistema muito rápido e que usa pouca memória, sendo adequado para execução em máquinas modestas, ou em ambientes com grande quantidade de sinteses de voz por segundo. É "free" para usos não comerciais nem militares, e não é open-source.
É distribuído em várias versões, entre as quais se destacam:
Versão Windows: bibliotecas chamáveis por programa (DLLs)
Versão Linux: programa específico para a concatenação e diversos utilitários para preparação e uso da base de dados e pequenos experimentos, usado no sistema LianeTTS.
Funcionamento básico
Arquivo .PHO (fonemas+prosódia) --> Mbrola --> Arquivo de fala
A figura a seguir representa, em linhas gerais o fluxo de dados
num sistema de síntese de voz baseado no sistema MBROLA.
O arquivo PHO
O Arquivo PHO contém a lista de difones a serem concatenados e apresentados na forma sonora.
Ele contêm basicamente as seguintes informações:
Nome dos fonemas
Duração em ms
Curva da prosódia
--> compostas por sequencias: posição (em percentagem) e pitch
Ex:
; atirei
_ 100 1 392
a 600 50 392
t 122 1 392
i 90 1 349
r 100 1 349
e 137 1 329
y 130 99 329
_ 100
Nota: o difone é gerado pelo MBROLA, a partir da especificação dada por duas linhas subseqüentes.
Instalação do MBROLA
Na instalação do MBROLA, é fornecido além do binário o arquivo readme.txt que descreve em inglês maiores detalhes sobre licenciamento, instalação e funcionamento desta solução. Entretanto, descrevemos abaixo uma breve tradução do funcionamento do MBROLA.
1) instale o pacote do MBROLA referente à sua distribuição Linux;
2) experimente "$ mbrola -h", para ver listagem da ajuda sobre a sintaxe de comandos deste sintetizador:
USAGE: mbrola [COMMAND LINE OPTIONS] database pho_file+ output_file
A - instead of pho_file or output_file means stdin or stdout
Extension of output_file ( raw, au, wav, aiff ) tells the wanted audio format
Options can be any of the following:
-i = display the database information if any
-e = IGNORE fatal errors on unkown diphone
-c CC = set COMMENT char (escape sequence in pho files)
-F FC = set FLUSH command name
-v VR = VOLUME ratio, float ratio applied to ouput samples
-f FR = FREQ ratio, float ratio applied to pitch points
-t TR = TIME ratio, float ratio applied to phone durations
-l VF = VOICE freq, target freq for voice quality
-R RL = Phoneme RENAME list of the form a A b B ...
-C CL = Phoneme CLONE list of the form a A b B ...
-I IF = Initialization file containing one command per line
CLONE, RENAME, VOICE, TIME, FREQ, VOLUME, FLUSH, COMMENT,
and IGNORE are available