MBROLA is speech synthesis software as a worldwide collaborative project. The MBROLA project web page provides diphone databases for many spoken languages.
Please look at MBROLA-voices project homepage to get the voices. You may also develop your own voices using the MBROLATOR. 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. You need C compiler and libraries to compile the project. On Debian-based Linux or MinGW you need to install following packages: On Windows, you can build standalone program and mbrola.dll using Microsoft Visual C++ by using project solution in VisualC directory for VC 2015 or later (recommended), or VisualC6 for older version from VC 6.0. To build, open mbrola.sln on Visual Studio (or mbrola.dsw for VC6 version), then build all projects on solution or you can select either mbrola to build mbrola standalone program or mbrolalib to build mbrola.dll library. More documentation for developers is located in Documentation folder of the project. Now in order to go further, you need to get a version of an MBROLA language/voice database from the MBROLA-voices page or create one using the [MBROLATOR] ( Let us assume you have copied the FR1 database and referred to the accompanying fr1.txt file for its installation. 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 recommend .wav for Windows, and .au for Unix platforms. Option -e makes Mbrola ignore wrong or missing diphone sequences (replaced by silence) which can be quite useful when debugging your TTS. Equivalent to "IGNORE" directive in the initialization file (N.B replace the obsolete ;;E=OFF , unsupported in .pho file). 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 : Option -v specifies a VolumeRatio which multiplies each output sample. In the example below, each sample is multiplied by 0.7 (the loudness goes down). Warning: setting VolumeRatio too high generates saturation. 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: 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: 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. The cloning mechanism does exactly the same thing, though the old phoneme still exists after renaming. This is useful if you have 2 allophones in your alphabet, but the Mbrola voice only provides one. 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. Note to Festival and EN1 users: the consequence of the change above is that you must change the previous call format mbrola en1 en1mrpa ...
~3 min read
MBROLA is speech synthesis software as a worldwide collaborative project. The MBROLA project web page provides diphone databases for many spoken languages.
The MBROLA software is not a complete speech synthesis system for all those languages; the text must first be transformed into phoneme and prosodic information in MBROLA's format, and separate software (e.g. eSpeakNG) is necessary.
Excerpt from the source-code README · 16,728 chars · not written by Vinony
via Wikidata · CC0
Discovered by embedding cosine similarity (sentence-transformers MiniLM, 384-dim).