Version 3.01g Wed Oct 21 16:51:27 MET DST 1998
M M BBBB RRRR OOO L A
MM MM B B R R O O L A A
M M M M B B R R O O L A A
M M M BBBB RRR O O L AAAAAAA
M M B B R R O O L A A
M M B B R R O O L A A
M M BBBBB R R OOO LLLLL A A
--------------------------------------------------------------
Table of Contents
--------------------------------------------------------------
1.0 License
2.0 A brief description of the MBROLA software
3.0 Distribution
4.0 Installation, and Tests
5.0 Format of input and output files - Limitations
6.0 Joining the MBROLA project as a user
7.0 Joining the MBROLA project as database provider
8.0 Acknowledgments
9.0 Contacting the author
--------------------------------------------------------------
1.0 License
--------------------------------------------------------------
This program and object code is being provided to "you", the licensee,
by Thierry Dutoit, the "author", under the following license, which
applies to any program, object code or other work which contains a
notice placed by the copyright holder saying it may be distributed
under the terms of this license. The "program", below, refers to any
such program, object code or work.
By obtaining, using and/or copying this program, you agree that you
have read, understood, and will comply with these terms and
conditions:
Terms and conditions for the distribution of the program
--------------------------------------------------------
This program may not be sold or incorporated into any product which is
sold without prior permission from the author.
When no charge is made, this program may be copied and distributed
freely, provided that this notice is copied and distributed with
it. Each time you redistribute the program (or any work based on the
program), the recipient automatically receives a license from the
original licensor to copy or distribute the program subject to these
terms and conditions. You may not impose any further restrictions on
the recipients' exercise of the rights granted herein. You are not
responsible for enforcing compliance by third parties to this License.
If you wish to incorporate the program into other free programs whose
distribution conditions are different, write to the author to ask for
permission.
If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this license, they do not
excuse you from the conditions of this license. If you cannot
distribute so as to satisfy simultaneously your obligations under this
license and any other pertinent obligations, then as a consequence you
may not distribute the program at all. For example, if a patent
license would not permit royalty-free redistribution of the program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this license would be to
refrain entirely from distribution of the program.
Terms and conditions on the use of the program
----------------------------------------------
Permission is granted to use this software for non-commercial,
non-military purposes, with and only with the voice and language
databases made available by the author from the MBROLA project www
homepage:
http://tcts.fpms.ac.be/synthesis
In return, the author asks you to mention the MBROLA reference paper:
T. DUTOIT, V. PAGEL, N. PIERRET, F. BATAILLE, O. VAN DER VRECKEN
"The MBROLA Project: Towards a Set of High-Quality Speech
Synthesizers Free of Use for Non-Commercial Purposes"
Proc. ICSLP'96, Philadelphia, vol. 3, pp. 1393-1396.
or, for a more general reference to Text-To-Speech synthesis, the
book:
An Introduction to Text-To-Speech Synthesis,
T. DUTOIT, Kluwer Academic Publishers, Dordrecht
Hardbound, ISBN 0-7923-4498-7
April 1997, 312 pp.
in any scientific publication referring to work for which this program
has been used.
Disclaimer
----------
THIS SOFTWARE CARRIES NO WARRANTY, EXPRESSED OR IMPLIED. THE USER
ASSUMES ALL RISKS, KNOWN OR UNKNOWN, DIRECT OR INDIRECT, WHICH INVOLVE
THIS SOFTWARE IN ANY WAY. IN PARTICULAR, THE AUTHOR DOES NOT TAKE ANY
COMMITMENT IN VIEW OF ANY POSSIBLE THIRD PARTY RIGHTS.
--------------------------------------------------------------
2.0 A brief description of MBROLA
--------------------------------------------------------------
MBROLA is a speech synthesizer based on the concatenation of
diphones. It takes a list of phonemes as input, together with prosodic
information (duration of phonemes and a piecewise linear description
of pitch), and produces speech samples on 16 bits (linear), at the
sampling frequency of the diphone database.
It is therefore NOT a Text-To-Speech (TTS) synthesizer, since it does
not accept raw text as input. In order to obtain a full TTS system,
you need to use this synthesizer in combination with a text processing
system that produces phonetic and prosodic commands.
We maintain a web page with pointers to such freely available systems:
http://tcts.fpms.ac.be/synthesis/mbrtts.html
This software is the heart of the MBROLA project, the aim of which is
to obtain a set a speech synthesizers for as many languages as
possible, free of use for non-commercial applications.
The terms of this project can be summarized as follows :
After some official agreement between the author of this software and
the owner of a diphone database, the database is processed by the
author and adapted to the mbrola format, for free. The resulting
mbrola diphone database is made available for non-commercial use as
part of the MBROLA project. Commercial rights on the mbrola database
remain with the database provider, for exclusive use with the mbrola
software.
The ultimate goal of this project is to boost up academic research on
speech synthesis, and particularly on prosody generation, known as one
of the biggest challenges taken up by Text-To-Speech synthesizers for
the years to come.
More details can be found at the MBROLA project homepage :
http://tcts.fpms.ac.be/synthesis
The synthesizer uses a synthesis method known itself as MBROLA.
--------------------------------------------------------------
3.0 Distribution
--------------------------------------------------------------
This distribution of mbrola contains the following files :
mbrola.exe or mbrola: An executable file of the synthesizer itself
(depends on the computer supposed to run it)
readme.txt : This file
As such, it requires an MBROLA language/voice database to run
properly. American English, Brazilian Portuguese, Breton, British
English, Croatian, Dutch, French, German, Greek, Romanian, Spanish and
Swedish voices are made available. Additional languages and voices
will be available in the context of the MBROLA project.
Please consult the MBROLA project homepage to get the voices:
http://tcts.fpms.ac.be/synthesis
--------------------------------------------------------------
4.0 Installation and Tests
--------------------------------------------------------------
The following computers/OS are currently supported :
SUN Sparc 5/S5R4 (Solaris2.4)
HPUX9.0 and HPUX10.0
VAX/VMS V6.2 (V5.5-2 won't work)
DECALPHA(AXP)/VMS 6.2
AlphaStation 200 4/233
AlphaStation 200 4/166
IBM RS6000 Aix 4.12
PC486/DOS6 (but other PCs/DOSs should do, too)
PC486/Windows 3.1
PC486/Windows 95
PC-Pentium/Windows 98
PC-Pentium/Windows NT
PC/LINUX 1.2.11
PCPentium120/Solaris2.4
OS/2
BeBox
Macintosh
Please send acknowledgement when mbrola works on a machine not listed
here. A special DLL version is distributed for PC/Windows to allow
direct audio output; check on the Mbrola site the Mbrolatools package.
See the MBROLA Homepage if your computer or OS is not supported yet.
Assuming you have copied the right .zip file, create a directory
mbrola (although this is not critical), copy the mbrXXX.zip file into
it (in which XXX stands for a version number), and unzip the file:
unzip mbrXXX.zip (or pkunzip on PC/DOS)
You are now ready to synthesize your first words....
First try: mbrola
to see the terms and conditions on the use of this software.
Then try: mbrola -h
to get some help on how to use the software:
> USAGE: ./synth [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
Now in order to go further, you need to get a version of an MBROLA
language/voice database from the MBROLA project homepage. Let us
assume you have copied the FR1 database and referred to
the accompanying fr1.txt file for its installation.
Then try: mbrola fr1/fr1 fr1/TEST/bonjour.pho bonjour.wav
it uses the format:
mbrola diphone_database command_file1 command_file2 ... output_file
and creates a sound file for the word 'bonjour' ( Hello !).
Basically the output file is composed of signed integer numbers on 16
bits, corresponding to samples at the sampling frequency of the MBROLA
voice/language database (16 kHz for the diphone database supplied by
the author of MBROLA : Fr1). MBROLA can produce different audio file
formats: .au, .wav, .aiff, .aif, and .raw files depending on the
ouput_file extension. If the extension is not recognized, the format
is RAW (no header). We recommand .wav for Windows, and .au for Unix
platforms.
To display information about the phoneme set used by the database,
type:
mbrola -i fr1/fr1
It displays the phonetic alphabet as well as copyright information
about the database.
Option -e makes Mbrola ignore wrong or missing diphone sequences
(replaced by silence) which can be quite useful when debugging your
TTS. Equivallent to "IGNORE" directive in the initialization file (N.B
replace the obsolete ;;E=OFF , unsupported in .pho file).
Optional parameters let you shorten or lengthen synthetic speech and
transpose it by providing optional time and frequency ratios:
mbrola -t 1.2 -f 0.8 fr1/fr1 TEST/bonjour.pho bonjour.wav
or its equivalent in the initialization file:
TIME 1.2
FREQ 0.8
for instance, will result in a RIFF Wav file bonjour.wav 1.2 times
longer than the previous one (slower rate), and containing speech in
which all fundamental frequency values have been multiplied by 0.8
(sounds lower).
You can also set the values of these coefficients directly in a .pho
file by adding special escape sequences like :
;; F=0.8
;; T=1.2
You can change the voice characteristics with the -l parameter. If the
sampling rate of your database is 16000, indicating -l 18000 allows
you to shorten the vocal tract by a ratio of 16/18 (children voice, or
women voice depending on the voice you're working on). With -l
10000, you can lengthen the vocal tract by a ratio of 16/10 (namely
the voice of a Troll). The same command in an initialization file
becomes "VOICE 10000".
Option "-v" specifies a VolumeRatio which multiplies each output
sample. In the example below, each sample is multipliead by 0.7 (the
loudness goes down). Warning: setting VolumeRatio too high generates
saturation.
mbrola -v 0.7 fr1/fr1 TEST/bonjour.pho bonjour.wav
or add "VOLUME 0.7" in an initialization file
The -c option lets you specify which symbol will be used as an escape
sequence for comments and commands in .pho files. The default value is
the semi-colon ';', but you may want to change this if your phonetic
alphabet uses this symbol, like in:
mbrola -c ! fr1/fr1 TEST/test1.pho test2.pho test.wav
equivalent to "COMMENT !" in an initialization file
The -F option lets you specify which symbol will be used to Flush the
audio output. The default value is #, you may want to change the
symbol like in:
mbrola -F FLUSH_COMMAND fr1/fr1 test.pho test.wav
equivalent to "FLUSH FLUSH_COMMAND" in the initialization file.
Using Pipes
-----------
A - instead of command_file or output_file means stdin or stdout. On
multitasking machines, it is easy to run the synthesizer in real time
to obtain audio output from the audio device, by using pipes.
Renaming and Cloning phonemes
-----------------------------
It may happen that the language processing module connected to MBROLA
doesn't use the same phonemic alphabet as the voice used. The Renaming
and Cloning mechanisms help you to quickly solve such problems
(without adding extra CPU load). The only limitation about phoneme
names is that they can't contain blank characters.
If, for instance, phoneme "a" in the mbrola voice you use is called
"my_a" in your alphabet, and phoneme "b" is called "my_b", then the
following command solves the problem:
mbrola -R "a my_a b my_b" fr1/fr1 test.pho test.wav
You can give as many renaming pairs as you want. Circular definition
are not a problem -> "a b b c" will rename original [a] into [b] and
original [b] into [c] independantly ([a] won't be renamed to [c]).
LIMITATION: you can't rename a phoneme into another that already
exists.
The cloning mechanism does exactly the same thing, though the old
phoneme still exists after renaming. This is usefull if you have 2
allophones in your alphabet, but the Mbrola voice only provides one.
Imagine for instance, that you make the disctinction between the
voiced [r] and its unvoiced counterpart [r0] and that you are using a
syllabic version [r=]. If as a first approximation using [r] for both
is OK, then you may use an Mbrola voice that only provides one version
of [r] by running:
mbrola -C "r r0 r r=" fr1/fr1 test.pho test.wav
which tells the synthesizer that [r0] and [r=] should be both
synthesized as [r]. You can write a long cloning list of phoneme
pairs to fit your needs.
Renaming and cloning eats CPU since the complete diphone hash table
has to be rebuilt, but once the renaming or cloning has occurred there
is absolutely NO RELATED PERFORMANCE DROP. So using this feature
is more efficient than a pre-processor, though incompatibilities
cannot always be solved by a simple phoneme mapping.
Before renaming anything as #, check paragraph 5.4
When you have long cloning and renaming lists, you can conveniently
write them into an initialization file according to the following
format:
RENAME a my_a
RENAME b my_b
CLONE r r0
CLONE r r=
The obsolete ";; RENAME a my_a" can't be used in .pho file anymore,
but is correctly parsed in initialization files.
Note to Festival and EN1 users: the consequence of the change above is
that you must change the previous call format "mbrola en1 en1mrpa ..."
into "mbrola -I en1mrpa en1 ...".
BELOW ARE A NUMBER OF MACHINE DEPENDANT HINTS FOR BEST USING MBROLA
On MSDOS/Windows or OS/2
------------------------
Type: mbrola fr1/fr1 TEST/bonjour.pho bonjour.wav
Then you can play the RIFF Wav file with windows sound utility On OS/2
pipes may be used just like below.
REMARK: MbrolaTools provide an excellent DLL and graphical pho player
called Mbroli. We advise you to use them instead of mbrola.exe for
Windows.
On modern Unix systems such as Solaris or HPUX or Linux
-------------------------------------------------------
mbrola fr1/fr1 TEST/bonjour.pho -.au | audioplay
where audioplay is your audio file player (* the name vary with the
platform, e.g. splayer for HPUX *)
If your audioplayer has problems with sun .AU files, try with .raw
Never use .wav format when you pipe the ouput (mbrola can't rewind the
file to write the audio size in the header). Wav format was not
developped for Unix (on the contrary Au format let you specify in the
header "we're on a pipe, read until end of file").
NOTE FOR LINUX: you can use the GPL rawplay program provided at
ftp://tcts.fpms.ac.be/pub/mbrola/pclinux/
On Sun4 or with machines with an old audio interface
-----------------------------------------------------
Those machines are now quite old and only provide a mulaw 8Khz
output. A hack is:
mbrola fr1/fr1 input.pho - | sox -t raw -sw -r 16000 - -t raw -Ub -r 8000 - > /dev/audio
(providing you have the public domain sox utility developed by Ircam).
You should hear 'bonjour' without the need to create intermediate
files. Note that we strongly recommend that you DON'T use SOX, since
its resampling method (linear interpolation) will permanently damage
the sound.
Other solution: The UTILITY.ZIP file available from the MBROLA
homepage provides RAW2SUN which does this conversion.
On VAX or AXP workstations
--------------------------
To make it easier for users to find MBROLA, you should add the
following command to your system startup procedure:
$ DEFINE/SYSTEM/EXEC MBROLA_DIR disk:[dir]
where "disk:[dir]" is the name of the directory you created for the
MBROLA_DIR files. You could also add the following command to your
system login command procedure:
$ MBROLA :== $MBROLA_DIR:MBROLA.EXE
$ RAW2SUN :== $MBROLA_DIR:RAW2SUN.EXE
to use the decsound device:
$ MCR DECSOUND - volume 40 -play sound.au
See also the MBR_OLA.COM batch file in the UTILITY.ZIP file available
from the MBROLA Homepage if you cannot play 16 bits sound files on
your machine.
--------------------------------------------------------------
5.0 Format of input and output files - Limitations
--------------------------------------------------------------
5.1 Phoneme commands
--------------------
The input file bonjour.pho in the above example simply contains :
; bonjour
_ 51 25 114
b 62
o~ 127 48 170.42
Z 110 53.5 116
u 211
R 150 50 91
_ 91
This shows the format of the input data required by MBROLA. Each line
contains a phoneme name, a duration (in ms), and a series (possibly
none) of pitch targets composed of two float numbers each : the
position of the pitch target within the phoneme (in % of its
total duration), and the pitch value (in Hz) at this position.
In order to increase readability, it is also possible to enclose pitch
target in parentheses. Hence, the first line of bonjour.pho could
be written :
_ 51 (25,114)
it tells the synthesizer to produce a silence of 51 ms, and to put a
pitch target of 114 Hz at 25% of 51 ms. Pitch targets define a
piecewise linear pitch curve. Notice that the intonation curve they
define is continuous, since the program automatically drops pitch
information when synthesizing unvoiced phones.
The data on each line is separated by blank characters or tabs.
Comments can optionally be introduced in command files, starting with
a semi-colon ';'. This default can be overrun with the -c option
of the command line.
Another special escape sequence ';;' allows the user to introduce
commands in the middle of .pho files as described below. This escape
sequence is also affected by the -c option.
5.2 Changing the Freq Ratio or Time Ratio
-----------------------------------------
A command escape sequence containing a line like "T=xx" modifies the
time ratio to xx, the same result is obtained on the fundamental
frequency by replacing T with F, like in:
;; T = 1.2
;;F=0.8
5.3 Flush the output stream
---------------------------
Note, finally, that the synthesizer outputs chunks of synthetic speech
determined as sections of the piecewise linear pitch curve. Phones
inside a section of this curve are synthesized in one go. The last
phone of each chunk, however, cannot be properly synthesized while the
next phone is not known (since the program uses diphones as base
speech units). When using mbrola with pipes, this may be a
problem. Imagine, for instance, that mbrola is used to create a
pipe-based speaking clock on an HP:
speaking_clock | mbrola - -.au | splayer
which tells the time, say, every 30 seconds. The last phone of each
time announcement will only be synthesized when the next announcement
starts. To bypass this problem, mbrola accepts a special command
phone, which flushes the synthesis buffer : "#"
This default character can be replaced by another symbol thanks to the
command:
;; FLUSH new_flush_symbol
Another important issue with piping under UNIX, is the possibility to
prematurely end the audio output, if for example the user presses the
stop button of your application. Since release 3.01, Mbrola handles
signals.
If in the previous example the user wants to interrupt the speaking
clock message, the application just needs to send the USR1 signal. You
can send such a signal from the console with:
kill -16 mbrola_process_number
Once mbrola catches the signal, it reads its input stream until it
gets EOF or a FLUSH command (hence, surrounding sections with flush is
a good habit).
Limitations of the program
--------------------------
Phones can be synthesized with a maximum duration which depends on
the fundamental frequency with which they are produced. The higher the
frequency, the lower the duration. For a frequency of 133 Hz, the
maximum duration is 7.5 sec. For a frequency of 66.5 Hz, it is 15 sec.
For a frequency of 266 Hz, it is 3.75 sec.
--------------------------------------------------------------
6.0 Joining the MBROLA project as a user
--------------------------------------------------------------
For convenience, we have defined two mailing lists :
* mbrola-interest@tcts.fpms.ac.be : a forum for MBROLA questions and
issues. It is used by the maintainers of the mbrola project to
announce new releases, bug fixes, new voices and languages, and other
information of interest to all MBROLA users. Users who want to share
.pho files or free applications running on top of mbrola should send
mail to mbrola-interest.
It is your interest, as a user, to subscribe to the mbrola-interest
mailing list, by sending an e-mail to :
mbrola-interest-request@tcts.fpms.ac.be
with the word 'subscribe' in either the header or the main text. To
unsubscribe, just send another mail with 'unsubscribe'.
BUGS
----
If you detect a bug, or if you find an input for which the quality of
the speech provided by mbrola is not as good as usual, first consult
the FAQ file from the MBROLA Project homepage, which will be
frequently updated.
If this is of no help, send a kind mail to mbrola@tcts.fpms.ac.be in
which you include the .pho file with which the problem appears and
mention your machine architecture.
NEW DATABASES
-------------
If you want to participate to the mbrola project by providing a
diphone database (i.e. a set of sample files with one example of each
diphone in your language), refer to the mbrola WWW homepage, or send
an email to: mbrola@tcts.fpms.ac.be.
APPLICATIONS
------------
If you have used mbrola to build speaking apps on top of it (like
talking clocks, talking agendas, talking tools for handicapped
persons, etc., and want to make it available to the community (for
free, of course, and for non-commercial, non-military applications, as
imposed by the mbrola license agreement), just make an announcement to
the mbrola mailing list:
mbrola-interest@tcts.fpms.ac.be.
COMMERCIAL VERSION
------------------
If you are interested in the commercial version of mbrola (source code
available), send an email to: mbrola@tcts.fpms.ac.be
FEEDBACK
--------
If you simply find this initiative useful, please drop us a note at
mbrola@tcts.fpms.ac.be. We have spent a lot of our time to provide you
with this program, and we would like to get some feedback in return.
Don't forget, either, to mention the MBROLA reference paper :
T. DUTOIT, V. PAGEL, N. PIERRET, F. BATAILLE, O. VAN DER VRECKEN
"The MBROLA Project: Towards a Set of High-Quality Speech
Synthesizers Free of Use for Non-Commercial Purposes"
Proc. ICSLP 96, Philadelphia, vol. 3, pp. 1393-1396
or, for a more general reference to Text-To-Speech synthesis, the
book:
An Introduction to Text-To-Speech Synthesis,
T. DUTOIT, Kluwer Academic Publishers, Dordrecht
Hardbound, ISBN 0-7923-4498-7
April 1997, 312 pp.
in any scientific publication referring to work for which this program
has been used.
--------------------------------------------------------------
7.0 Joining the MBROLA project as a database provider
--------------------------------------------------------------
One of the biggest interests of the MBROLA project (and definitely its
most original aspect) lies in its ability to provide an ever growing
set of languages/voices to users.
To achieve this goal, the MBROLA project has itself been organized so
as to incite other research labs or companies to share their diphone
databases.
The terms of this sharing policy can be summarized as follows :
1. We shall only use your database to adapt it to the mbrola format,
and destroy the copy when this is done.
2. The resulting mbrola diphone database will be copyright Faculte
Polytechnique de Mons. Non-commercial use of the database in the
framework of the MBROLA project will be automatically granted to
Internet users. In return, we shall send you a license agreement which
will transfer all our commercial rights on the database to you,
provided the database is used with and only with the MBROLA program.
3. All these details will be fixed by some official agreement before
you send us anything.
If you want to create a database from scratch
---------------------------------------------
First, you should be aware that recording a diphone database is not a
trivial operation. If it is not performed carefully, the result can be
deceiving. FR1, for instance, required about one month of work, yet
with the help of some efficient laboratory tools for signal recording
and editing. What is more, some phonetic knowledge of the targeted
language is necessary to create the initial corpus.
So if you just think of designing a new diphone database as a game,
forget it.
If, on the contrary, you are willing to spend some time to provide the
MBROLA community with a new language or voice, or if you already have
a diphone database and wish to share it in mbrola format (and receive
in return the rights for any commercial exploitation of the mbrola
diphone database we will create for you), welcome here.
If you want to build a new diphone database, please contact the author
first. He will help you as much as he can, by providing phonetic
information if available for instance.
In all cases, make a first dummy trial : create a small corpus for a
few diphones, record them, segment them, equalize them if you can, and
send the result directly to the author. He will test your data, tell
you how good it is, and what should be done to make it better.
If you want to share an existing database
-----------------------------------------
contact the authors (see below).
--------------------------------------------------------------
8.0 Acknowledgments
--------------------------------------------------------------
I would like to thank Vincent Pagel (Mons / BE) for his intensive
programming, testing, and debugging of this program, and for all sorts
of fruitful discussions. Not to forget Nicolas Pierret and Olivier Van
der Vreken, for their contribution to the Mbrola coder.
Then let's greet our pioneer database providers:
Marian Boldea (RO),
Aggelos Bletsas (GR),
Gosta Bruce (SW),
Alistair Conkie (UK),
Denis Costa (BR),
Arthur Dirksen (NL),
Thierry Dutoit (FR),
Celine Egea (FR),
Fred Englert (DE),
George Sergiadis (GR),
Nikolaj Lazic (CR),
Yann-Ber Messager (BZ),
Vincent Pagel (FR),
Marcus Philipson (SW),
Raymond Veldhuis (NL)
and the team at University Autonoma of Barcelona (ES)!
May they be thanked for their work.
Sam Przyswa (NEXT Paris/FR), Fred Englert (IBMRS600 Frankfurt/DE),
Arnaud Gaudinat (VAX-VMS University of Geneva, CH), Cyrille
Mastchenko (BeOS Montreal/CA), Michael C. Thornburgh (SCO-Unix USA),
Bruno Langlois (Java port Quebec/CA), Christophe M. Vallat (OS2
Domerat/FR), Cristiano Verondini (Mac Bologna/Italy), Gerald Kerma
(Mac G'K2 Vaugrigneuse/FR), David Woodman (SUN4 Berkshire/England)
Gary Tho;as (Linux-PPC Grenoble/France) and Thomas Fletcher (QNX-OS
CA) for their help in the compilation of MBROLA on many platforms.
Arnaud Gaudinat (Lausanne/CH), Thierry Gartiser (Nancy/France), Alec
Epting (Summer Institure of Linguistics/USA), Michael M. Cohen
(University of California - Santa Cruz), and Patrick Bouffer (France)
have arranged mirror sites.
David Haubensack has written a French TTS in PERL, Stephen Isard and
Alistair Conkie have provided the Freespeech British English TTS!!
Alan Black and Paul Taylor have supported the Mbrola Project in their
great Festival multilingual TTS Project.
Fabrice Malfrere (Mons/BE) who has developped an efficient speech
alignment program for Windows (distributed on the mbrola site).
Alain Ruelle (Mons/BE) who has developped the MBRPlay dll and the
Mbroli interactive pho file player for Windows.
Last but not least, I am also greatly indebted to Francois Bataille
(Mons/BE) for having supported the creation of this internet project.
--------------------------------------------------------------
9.0 Contacting the author
--------------------------------------------------------------
Dr Thierry Dutoit
Faculte Polytechnique de Mons, TCTS Lab,
31, bvd Dolez, B-7000 Mons, Belgium.
tel : /32/65/374133
fax : /32/65/374129
e-mail: mbrola@tcts.fpms.ac.be, for general information,
questions on the installation of software and databases.