Using Mbrola-Voices with the Processing ttslib

Nikolaus Gradwohl2010-06-20T17:33:00+02:00

To use mbrola-voices with the processing ttslib make sure you have installed the newest version of ttslib (version 0.2 at the time of writing). Download the mbrola-binary for your system and make sure the binary is named mbrola (or else freetts won't find it).

Make sure you can live with the mbrola-licence.

Download the us voices you want to use and unzip them to the directory where your mbrola binary lives.

on my linux system the content of the mbrola directory looks like this

./mbrola206a-linux-ppc
./mbrola-linux-alpha
./mbrola_linux_libc5
./mbrola
./mbrola-linux-i386
./mbrola302b-linux-ppc
./us1
./us1/us1mrpa
./us1/license.txt
./us1/us1.txt
./us1/TEST
./us1/TEST/xmas.pho
./us1/TEST/alice.pho
./us1/TEST/push.pho
./us1/TEST/mbroli.ini
./us1/TEST/mbrola.pho
./us1/us1
./us2
./us2/license.txt
./us2/us2.txt
./us2/TEST
./us2/TEST/babel.pho
./us2/TEST/alice.pho
./us2/TEST/mbroli.ini
./us2/TEST/mbrola.pho
./us2/us2
./us3
./us3/us3
./us3/us3.txt
./us3/license.txt
./us3/TEST
./us3/TEST/cslu.pho
./us3/TEST/diphone.pho
./us3/TEST/mike.pho
./us3/TEST/mbroli.ini

in the setup method of your processing sketch set the absolute path to your mbrola directory as a java system property. Now the name of the mbrola voice you want to use can be added as a string parameter to the TTS constructor

import guru.ttslib.*;

TTS tts;

void setup() {
  System.setProperty("mbrola.base","/path/to/mbrola/");
  tts = new TTS("mbrola_us1");
}

void draw() {
}

void mousePressed() {
  tts.speak("Hello! I'm a talking processing sketch!");
}
read more ...