|
Hello
This is an emofilt distribution. You should get further information at
http://emofilt.syntheticspeech.de/
The newest version of emofilt should always be available there via the
cvs-repository.
DESCRIPTION
emoFilt is NOT a text-to-speech synthesizer, it's ONLY a filter between
an MBROLA pho-file and the MBROLA-engine to "emotionalize" the speech.
DISTRIBUTION
if you unpacked the distribution the following files should appear
Readme.txt - this file
emofilt_software_user_agreement.txt - license agreement
emofilt_fat.jar - program as jar-file
configuration files:
emofiltConfig.ini - main configuratio file
languages.xml - voice-specification file
emotions.xml - example emotion-specification file
logConfig.xml - log4j-configuration
examples:
sayMary.sh - example script to run emofilt with Mary TTS
emoFilt.bat - example batch file to start Gui with button-click
directory test - several PHO-files for testing
directory docs - web documentation
directory src - source-files
directory licenses - several software licenses that apply
INSTALL
Emofilt needs Java 1.5 to be installed. Other versions might
work, but I didn't try them.
Unpack the zip-archive. All pathes are stored in the
emofiltConfig.ini files, open it with a text-editor.
The most important path you will have to configure (besides the paths
to Mbrola-programs) is the workingDir (right on top of the file).
Specify here the directory where the other configuration files
(languages.xml, emotions.xml and loggerConfig.xml) are stored.
Then either (if windows) click emoFilt.bat or type
java -jar emofilt_fat.jar -useGui on a commandline in this emofilt-
folder.
You can run emofilt from anywhere if you specify the path to its
configuration file with the -cf option.
Some fixed values should be specified in this configuration file, but
you can specify a different one with the -cf argument).
In order to get acoustic output ("play-button") you must configure
the paths in the configuration file and have MBROLA installed.
The default configuration file is in English, but you can write
your own for your language by translating the wordings.
In order to have the "new utterance" command in the Gui-interface work,
you have to have installed and configured (in the configuration-file) a
text-to-phofile converter program, e.g. MARY TTS.
USAGE
Because emofilt is a java program you need Java to run it.
There are two interfaces:
- 1. Emofilt Developer is a graphical interface (Gui) that lets you
generate emotion-descriptions.
You can call it with the option -useGui, so you would type on the
commandline (from inside the program directory):
java -jar emofilt_fat.jar -useGui
and you should see a window popping up with the interface. First
thing you might do then is loading an utterance via the
utterance.load menu-items.
Help is provided mainly by tooltips, which should pop up if you
linger with the pointer over the panels.
- 2. the same program can be used as a commandline interface, if you want
to use it as a filter between a text-to-phoneme converter program
and Mbrola.
here is the output if the program's usage message:
$ java -jar emofilt_fat.jar -h
emofilt version 0.94
Usage: program [-h ] [-version ] [-useGui ] [-mary ] [-if ] [-of ] [-e ] [-voc ] [-cf ] [-ef ] [-lf ] [-lcf ] [-lv ]
-h 'print usage' Default: false
-version 'print version' Default: false
-useGui 'display the graphical developer interface' Default: false
-mary 'send input to mary server for text-to-speech' Default: false
-if 'specify input pho-file' Default: System.in
-of 'specify output pho-file' Default: System.out
-e 'specify emotion (must appear in emotions-description)' Default: untitled
-voc 'specify voice' Default:
-cf 'specify configuration-file' Default: emofiltConfig.ini
-ef 'specify emotion-description xml-file' Default: emotions.xml
-lf 'specify voice-description xml-file' Default: languages.xml
-lcf 'specify logger configuration log4j-file' Default: logConfig.xml
-lv 'specify log-level [debug warn error fatal off]' Default: debug
-gr 'global rate: damp or amplify the modifications for graded emotions between -1 and 1' Default: 0
many of the required input files can be specified in the emofilt
config-file.
EXAMPLE
Follows an example-script that utters a phrase emotionally, if you use
the cygwin bash under windows and txt2pho
$ cat sayEmotional.bat
echo $2 > tmp.txt;
echo "" > txt2pho.ini;
txt2pho.exe tmp.txt tmp.pho;
java -jar "D:\Work\emoFilt\emofilt\emofilt_fat.jar" -lv off -cf
"D:\Work\emoFilt\emofilt\emofiltConfig.ini" -e $1 -if tmp.pho
-of tmp_e.pho;
PhoPlayer.exe database="D:\Programme\Mbrola\de6\de6" tmp_e.pho;
or, if the Mary server is running:
$ cat sayMary.sh
echo $2 | java -jar emofilt_fat.jar -mary -voc us1 -e $1 -of tmp_e.pho;
PhoPlayer.exe database="D:\Programme\Mbrola\us1\us1" tmp_e.pho;
the same function as a bash-script under linux
$ cat sayEmotional.sh
echo $2 | txt2pho | java -jar /home/felixbur/emofilt/emofilt.jar -cf /home/felixbur/emofilt/emofiltConfig.ini -e $1 | mbrola /home/felixbur/de1/de1 - -.au | play -t au -;
If you have the Mary text-to-speech server running, you could also omit
txt2pho and pass orthography directly to emofilt like this:
echo $2 | java -jar /home/felixbur/emofilt/emofilt.jar -mary -cf /home/felixbur/emofilt/emofiltConfig.ini -e $1 | mbrola /home/felixbur/de1/de1 - -.au | play -t au -;
If I type now
$ sayEmotional.sh happiness "am Wochenende scheint mal wieder die Sonne."
I hear the sentence played in a happy mood ;-)
enjoy!
PS:
If you should write new language, emotion or config files, e.g.
for new voices/languages,
I'll be happy to include them in future distributions.
|