* ====================================================================== * Softspeech - A wrapper around freephone/hadifix and mbrola and * a general speech library with drivers for different hardware * synthesizers. * Copyright (C) 1998-1999 Roger Butenuth * This is free software, placed under the terms of the * GNU General Public License, as published by the Free Software * Foundation. Please see the file COPYING for details. * For the latest version see: * http://www.uni-paderborn.de/cs/heiss/blinux/index.html * $Id: README,v 1.3 1999/01/20 20:51:08 butenuth Exp $ * ====================================================================== Softspeech reads from standard input and sends audio to /dev/dsp. It needs freephone or hadifix and mbrola as subprocesses. They are expected to be in /opt/speech, so your /opt/speech should look similar to the following: drwxr-xr-x 2 root root 1024 Nov 3 11:04 FESTIVAL_USERS -rwxr-xr-x 1 root root 14330 Sep 20 13:40 README drwxr-xr-x 3 root root 1024 Jun 5 19:06 de2 drwxr-xr-x 3 root root 1024 Sep 10 17:55 en1 -rwxr-xr-x 1 root root 74808 Nov 15 19:40 freephone drwxr-xr-x 2 root root 1024 Nov 15 19:40 lib -rwxr-xr-x 1 root root 165272 Nov 3 11:11 mbrola -rw-r--r-- 1 root root 30958 Oct 22 11:00 readme.txt -rwxr-xr-x 1 root root 1828527 Sep 26 17:50 txt2pho drwxr-xr-x 2 root root 1024 Nov 3 21:14 txt2pho_data With this setup, you have German and English speech. If you need only one language, you can remove the files for the other one. Softspeech starts with a default language (English), if you do not want this, you can override it by defining a symbol on the command line or in the source code (look for DEFAULT_LANGUAGE). The input of Softspeech is similar to that of the Dolphin synthesizers, but not compatible (ranges for parameters are given as decimal numbers, ranges are different). The sign # is a placeholder for a decimal number >= 0. "@=1" German "@=2" British English "@W#" speed, 100 is normal "@F#" frequency (pitch), 100 is normal "@A#" volume, from 0 to 100, default is 75 (soundblaster default) "@I#" set index, when index is reached, "@I#" is returned on stdout It is difficult to track how much of the input has been transformed by the t2pho part or mbrola, for this reason each index stalls the speech pipe until everything before the index is spoken. So be careful: When you write much after an index and wait for the index after the write has completed, deadlock may occur. You are on the save side whenever you write less than the amount a Linux pipe can hold after an index. 0x18 (control X) clear speech pipe This is an early release, there are probably bugs. Don't hesitate to contact me whenever you find one. Roger Butenuth