Next Previous Contents

5. Text-To-Speech Control Protocol (version 0)

TTSCP is a client-server connection-oriented, both human- and machine-readable communication protocol, remotely similar to the File Transfer Protocol in spirit. TTSCP is offered as a standard interface for controlling generic speech processing applications, not only Text-To-Speech ones. It is primarily designed to rtrols the interpretation of those adjustments themselves.

--pros_weight* weight

The asterisk stands for a @-separated symbolic name of a linguistic description level, such as phone, syll or word. The parameter is an integer value primarily used for enabling (1) or disabling (0) certain levels of description when the total quantities for a segment are computed. It must however be understood that when some rules like smooth are applied, the prosodic values are distributed down to the target level of such a rule and cannot be distinguished anymore. If higher values than 1 are set, that will multiply the prosodic effect assigned to a level correspondingly.

--pros_eff_multiply_*

The asterisk stands for a single letter, f, i or t, that is, a prosodic quantity symbol. This option controls how are the prosodic values for individual levels of description combined. If it is off, they are summed up (taking the corresponding pros_neutral_* as the baseline); if it is on, they get multiplied with each other (again taking pros_neutral_* as the neutral value). See prosody modelling for more information and examples.

--pros_neutral_*

The asterisk stands for a single letter, f, i or t, that is, a prosodic quantity symbol. This option controls what prosodic value is to be considered neutral for use in Epos. The current configuration file use 100 and prosodic adjustments are essentially percentages, but a higher value could be used for more fine grained prosody control (provided the synthesis algorithms can take advantage of it).

File Naming

In Epos, most of the files ever opened are located in a single directory tree. This tree usually starts at /usr/share/epos, but it can be changed at configure time. For example, after issuing

cd src
./configure --prefix=/usr/local

and after recompiling and reinstalling Epos, the files will be searched under /usr/local/lib/epos. See configure --help for more details on configuring Epos. It is also possible to use the command line option base_dir at Epos startup to change the tree base without recompilation. Files of the same type -- and related to the same language or voice, if applicable -- are located in the same subdirectory by default. Thus, the path name actually used by Epos consists of the base directory path, the subdirectory (or directory for short) and a relative file name. This makes it possible to move either the whole configuration structure, or a specific part of it, or a single file to another place.

The relative file name may contain slashes (directory name separators). If they only occur in the middle of the name, the file name is still relative to the directory it would normally be located in. However, if the file name begins with a slash or with ./, the file is treated as absolute or relative to the current working directory of the Epos process, respectively. The second case is thus slightly unreliable, but the first one allows to place any file in an arbitrary directory. Likewise, if the directory name begins with a slash, it is not considered to be relative to the base directory.

Changing these options in run time does not immediately cause re-reading the renamed files. All of the options in this section are static unless stated otherwise.

--base_dir dirname

Only changeable on the command line. The value is an absolute directory name. This option can be used to change the location of the whole configuration structure, which can also be used for trying out Epos before installing it:

cd src
./epos --base_dir ../cfg

--pseudo_root_dir dirname

The value is a directory name. Sets the path prepended to any file name referenced in the TTSCP stream command. This subtree cannot be escaped with cute parent-of-root paths, but you can use symlinks to arbitrary accessible parts of the kernel name space, again, without giving access to the rest of the file system. Write access to this subtree to any user except Epos effectively gives him the privilege to use the Epos file access rights anywhere in the system through creating a symlink to the absolute root directory. This option is not static.

--ini_dir dirname

The value is a directory name. Sets the path to language independent configuration files. This option is only changeable on the command line.

--fixed_ini_file filename

The value is a file name. This option can be used to change the file name of the fixed.ini file, which usually contains operating system independent, relatively fixed default global configuration. This option is only changeable on the command line.

--cfg_file filename

The value is a file name. This option can be used to change the file name of the epos.ini file.

--local_sound_device filename

The value is a file name. This option can be used to change the file name of the local sound card device. In many unices, setting this to /dev/dsp is the recommended way to actually hear Epos speak. Other unices don't have /dev/dsp, however. If the sound card has no file name at all, set this to the null device file name (that may be handled specially by the respective port of Epos).

--mbrola_binary filename

The file name of the mbrola executable file, either absolute or relative to the location of the voice configuration (which allows using different binaries with different voices, although this option is not voice dependent). Because of a limitation of the interface the binary is spawned by Epos every time it is needed and so this option is not static.

--input_file filename

The value is a file name. This option can be used to change the file name of the implicit input text used by the monolithic version of Epos. The value is language dependent.

--stddbg_file filename

The value is a file name. This option can be used to change the file name whereto various debugging output should be written. If not set at all, stdout will be used.

--stdshriek_file filename

The value is a file name. This option can be used to change the file name whereto output unrelated to the usual output should be printed. It includes especially error messages.

--rules_dir dirname

The language dependent value is a directory name. The directory shall contain the rules file.

--hash_dir dirname

The language dependent value is a directory name. The directory shall contain any dictionaries used by the rules.

--input_dir dirname

The language dependent value is a directory name. The directory shall contain the implicit input text file for the monolithic version of Epos.

--lang_base_dir dirname

The value is a global directory name, not a language dependent one. It serves as the base directory for looking up the newly constructed languages.

--voice_base_dir dirname

The value is a global directory name, not a language dependent one. It serves as the base directory for looking up the newly constructed voices. It is however only used for configuration files, not for inventories. A language dependent subdirectory name is appended to it.

--inv_base_dir dirname

The value is a global directory name, not a language dependent one. It serves as the base directory for looking up inventories and related data. A voice dependent subdirectory name (the location option) is appended to it.

--unimap_dir dirname

The value is global directory name. It serves as the base directory for looking up mappings between individual character sets and the Unicode and also between SAMPA notation and Unicode.

--ttscp_help_dir dirname

The value is a directory name. In this directory, TTSCP help files for individual TTSCP commands and other help topics are located. The contents of these files is sent to the TTSCP control connection in reply to a corresponding help command. This option is not static.

--wav_dir dirname

The value is a global directory name. Any waveform files created by Epos without explicit directory specification will be created in this directory. Applies only to the monolithic Epos.

Daemon Startup Options

All options in this subsection are static. They also usually have no effect if changed during run time; change them in the configuration files instead and request Epos reinitialization.

--daemon_log filename

The value is a file name. This option can be used to set the file where various information about the Epos process is recorded. At the moment that is of little practical use except for debugging.

--syslog

Log all TTSCP error messages with syslogd, if the syslog facility is available. Due to the internal design of Epos, some of these messages are never actually sent over TTSCP to anyone - for example, a fatal misconfiguration condition detected before the first client connects; but they're logged anyway.

--full_syslog

Log all TTSCP completion messages with syslogd, if the syslog facility is available, including 1xx and 2xx class messages.

--authpriv

Log all security relevant TTSCP completion messages with the facility authpriv instead of daemon. This includes messages concerning denial of access or incorrectly specified resource or password. In that case, the err message level is used instead of warn. Notice that network errors are not affected by this option.

--log_codes

When set, all TTSCP messages are preceded with their numeric codes as in TTSCP when logging using syslogd.

--server_pwd_file filename

The value is a file name. This option can be used to force the server to store its internal password to a file. This password can then be used for TTSCP authentication in order to issue restricted commands such as down. If the file can not be created, no error is reported.

--debug_password password

The value is a string. The string may be used instead of the server password. Use of this option usually makes TTSCP insecure and is discouraged.

--restr_file filename

The file named by this parameter provides access control in TTSCP to individual options. Its syntax is described above. This option can only be changed from the command line.

--listen_port port

The TCP port number where the daemon should be listening for incoming TTSCP connections. The daemon will check if no other service is already running on that port and refuses to run if the port is already occupied.

--local_only

When this option is set, the daemon accepts no new connections on network interfaces except the localhost one. This way, only clients running on the same machine can connect to the server. If this option is not set, the server accepts new connections on all available interfaces.

Debugging Options

Various kinds of debugging information can be printed by Epos to standard output. The amount of it is configurable. Most debugging information is printed throughout the code using the D_PRINT macro; other sources of debugging information are not discussed in this subsection. The D_PRINT macro takes three parameters: the severity level, the format string and additional parameters as implied by the format string. The semantics is fully analogous to the printf family of standard library functions with the additional condition that only information whose severity level is sufficiently high under current settings is printed. There is also a variant of the macro, DO_PRINT, which prints its message unconditionally. This is useful for temporary promotion of individual debugging messages without losing their standard severity levels. There is one more variant, DBG, which can be used for debugging printouts which are not effectively handled by the printf-style function like dumping of arrays.

Note also that #define DEBUGGING must be enabled in interf.h, else the debugging macros are ignored altogether.

The severity level may have one of these values:


level debugging messages easy invocation typical examples
3 rare -D major events, warnings
2 normal -DD informative messages
1 verbose -DDD detailed debugging printouts
0 detailed -DDDD miscellaneous chaos
Severity levels

Both options in this subsection are static.

--debug

This option must be on to provide any debugging information (except for daemon activity logging controlled by the daemon_log option and syslog logging.

--debug_level

The minimum severity level of debugging messages which should be printed.


Next Previous Contents ./usr/share/doc/epos/html/epos-5.html0000644000000000000000000012026410214157306017545 0ustar rootroot00000000000000 The Epos Speech System: Text-To-Speech Control Protocol (version 0) Next Previous Contents

5. Text-To-Speech Control Protocol (version 0)

TTSCP is a client-server connection-oriented, both human- and machine-readable communication protocol, remotely similar to the File Transfer Protocol in spirit. TTSCP is offered as a standard interface for controlling generic speech processing applications, not only Text-To-Speech ones. It is primarily designed to rtrols the interpretation of those adjustments themselves.

--pros_weight* weight

The asterisk stands for a @-separated symbolic name of a linguistic description level, such as phone, syll or word. The parameter is an integer value primarily used for enabling (1) or disabling (0) certain levels of description when the total quantities for a segment are computed. It must however be understood that when some rules like smooth are applied, the prosodic values are distributed down to the target level of such a rule and cannot be distinguished anymore. If higher values than 1 are set, that will multiply the prosodic effect assigned to a level correspondingly.

--pros_eff_multiply_*

The asterisk stands for a single letter, f, i or t, that is, a prosodic quantity symbol. This option controls how are the prosodic values for individual levels of description combined. If it is off, they are summed up (taking the corresponding pros_neutral_* as the baseline); if it is on, they get multiplied with each other (again taking pros_neutral_* as the neutral value). See prosody modelling for more information and examples.

--pros_neutral_*

The asterisk stands for a single letter, f, i or t, that is, a prosodic quantity symbol. This option controls what prosodic value is to be considered neutral for use in Epos. The current configuration file use 100 and prosodic adjustments are essentially percentages, but a higher value could be used for more fine grained prosody control (provided the synthesis algorithms can take advantage of it).

File Naming

In Epos, most of the files ever opened are located in a single directory tree. This tree usually starts at /usr/share/epos, but it can be changed at configure time. For example, after issuing

cd src
./configure --prefix=/usr/local

and after recompiling and reinstalling Epos, the files will be searched under /usr/local/lib/epos. See configure --help for more details on configuring Epos. It is also possible to use the command line option base_dir at Epos startup to change the tree base without recompilation. Files of the same type -- and related to the same language or voice, if applicable -- are located in the same subdirectory by default. Thus, the path name actually used by Epos consists of the base directory path, the subdirectory (or directory for short) and a relative file name. This makes it possible to move either the whole configuration structure, or a specific part of it, or a single file to another place.

The relative file name may contain slashes (directory name separators). If they only occur in the middle of the name, the file name is still relative to the directory it would normally be located in. However, if the file name begins with a slash or with ./, the file is treated as absolute or relative to the current working directory of the Epos process, respectively. The second case is thus slightly unreliable, but the first one allows to place any file in an arbitrary directory. Likewise, if the directory name begins with a slash, it is not considered to be relative to the base directory.

Changing these options in run time does not immediately cause re-reading the renamed files. All of the options in this section are static unless stated otherwise.

--base_dir dirname

Only changeable on the command line. The value is an absolute directory name. This option can be used to change the location of the whole configuration structure, which can also be used for trying out Epos before installing it:

cd src
./epos --base_dir ../cfg

--pseudo_root_dir dirname

The value is a directory name. Sets the path prepended to any file name referenced in the TTSCP stream command. This subtree cannot be escaped with cute parent-of-root paths, but you can use symlinks to arbitrary accessible parts of the kernel name space, again, without giving access to the rest of the file system. Write access to this subtree to any user except Epos effectively gives him the privilege to use the Epos file access rights anywhere in the system through creating a symlink to the absolute root directory. This option is not static.

--ini_dir dirname

The value is a directory name. Sets the path to language independent configuration files. This option is only changeable on the command line.

--fixed_ini_file filename

The value is a file name. This option can be used to change the file name of the fixed.ini file, which usually contains operating system independent, relatively fixed default global configuration. This option is only changeable on the command line.

--cfg_file filename

The value is a file name. This option can be used to change the file name of the epos.ini file.

--local_sound_device filename

The value is a file name. This option can be used to change the file name of the local sound card device. In many unices, setting this to /dev/dsp is the recommended way to actually hear Epos speak. Other unices don't have /dev/dsp, however. If the sound card has no file name at all, set this to the null device file name (that may be handled specially by the respective port of Epos).

--mbrola_binary filename

The file name of the mbrola executable file, either absolute or relative to the location of the voice configuration (which allows using different binaries with different voices, although this option is not voice dependent). Because of a limitation of the interface the binary is spawned by Epos every time it is needed and so this option is not static.

--input_file filename

The value is a file name. This option can be used to change the file name of the implicit input text used by the monolithic version of Epos. The value is language dependent.

--stddbg_file filename

The value is a file name. This option can be used to change the file name whereto various debugging output should be written. If not set at all, stdout will be used.

--stdshriek_file filename

The value is a file name. This option can be used to change the file name whereto output unrelated to the usual output should be printed. It includes especially error messages.

--rules_dir dirname

The language dependent value is a directory name. The directory shall contain the rules file.

--hash_dir dirname

The language dependent value is a directory name. The directory shall contain any dictionaries used by the rules.

--input_dir dirname

The language dependent value is a directory name. The directory shall contain the implicit input text file for the monolithic version of Epos.

--lang_base_dir dirname

The value is a global directory name, not a language dependent one. It serves as the base directory for looking up the newly constructed languages.

--voice_base_dir dirname

The value is a global directory name, not a language dependent one. It serves as the base directory for looking up the newly constructed voices. It is however only used for configuration files, not for inventories. A language dependent subdirectory name is appended to it.

--inv_base_dir dirname

The value is a global directory name, not a language dependent one. It serves as the base directory for looking up inventories and related data. A voice dependent subdirectory name (the location option) is appended to it.

--unimap_dir dirname

The value is global directory name. It serves as the base directory for looking up mappings between individual character sets and the Unicode and also between SAMPA notation and Unicode.

--ttscp_help_dir dirname

The value is a directory name. In this directory, TTSCP help files for individual TTSCP commands and other help topics are located. The contents of these files is sent to the TTSCP control connection in reply to a corresponding help command. This option is not static.

--wav_dir dirname

The value is a global directory name. Any waveform files created by Epos without explicit directory specification will be created in this directory. Applies only to the monolithic Epos.

Daemon Startup Options

All options in this subsection are static. They also usually have no effect if changed during run time; change them in the configuration files instead and request Epos reinitialization.

--daemon_log filename

The value is a file name. This option can be used to set the file where various information about the Epos process is recorded. At the moment that is of little practical use except for debugging.

--syslog

Log all TTSCP error messages with syslogd, if the syslog facility is available. Due to the internal design of Epos, some of these messages are never actually sent over TTSCP to anyone - for example, a fatal misconfiguration condition detected before the first client connects; but they're logged anyway.

--full_syslog

Log all TTSCP completion messages with syslogd, if the syslog facility is available, including 1xx and 2xx class messages.

--authpriv

Log all security relevant TTSCP completion messages with the facility authpriv instead of daemon. This includes messages concerning denial of access or incorrectly specified resource or password. In that case, the err message level is used instead of warn. Notice that network errors are not affected by this option.

--log_codes

When set, all TTSCP messages are preceded with their numeric codes as in TTSCP when logging using syslogd.

--server_pwd_file filename

The value is a file name. This option can be used to force the server to store its internal password to a file. This password can then be used for TTSCP authentication in order to issue restricted commands such as down. If the file can not be created, no error is reported.

--debug_password password

The value is a string. The string may be used instead of the server password. Use of this option usually makes TTSCP insecure and is discouraged.

--restr_file filename

The file named by this parameter provides access control in TTSCP to individual options. Its syntax is described above. This option can only be changed from the command line.

--listen_port port

The TCP port number where the daemon should be listening for incoming TTSCP connections. The daemon will check if no other service is already running on that port and refuses to run if the port is already occupied.

--local_only

When this option is set, the daemon accepts no new connections on network interfaces except the localhost one. This way, only clients running on the same machine can connect to the server. If this option is not set, the server accepts new connections on all available interfaces.

Debugging Options

Various kinds of debugging information can be printed by Epos to standard output. The amount of it is configurable. Most debugging information is printed throughout the code using the D_PRINT macro; other sources of debugging information are not discussed in this subsection. The D_PRINT macro takes three parameters: the severity level, the format string and additional parameters as implied by the format string. The semantics is fully analogous to the printf family of standard library functions with the additional condition that only information whose severity level is sufficiently high under current settings is printed. There is also a variant of the macro, DO_PRINT, which prints its message unconditionally. This is useful for temporary promotion of individual debugging messages without losing their standard severity levels. There is one more variant, DBG, which can be used for debugging printouts which are not effectively handled by the printf-style function like dumping of arrays.

Note also that #define DEBUGGING must be enabled in interf.h, else the debugging macros are ignored altogether.

The severity level may have one of these values:


level debugging messages easy invocation typical examples
3 rare -D major events, warnings
2 normal -DD informative messages
1 verbose -DDD detailed debugging printouts
0 detailed -DDDD miscellaneous chaos
Severity levels

Both options in this subsection are static.

--debug

This option must be on to provide any debugging information (except for daemon activity logging controlled by the daemon_log option and syslog logging.

--debug_level

The minimum severity level of debugging messages which should be printed.


Next Previous Contents ./usr/share/doc/epos/html/epos-5.html0000644000000000000000000012026410214157306017545 0ustar rootroot00000000000000 The Epos Speech System: Text-To-Speech Control Protocol (version 0) Next Previous Contents

5. Text-To-Speech Control Protocol (version 0)

TTSCP is a client-server connection-oriented, both human- and machine-readable communication protocol, remotely similar to the File Transfer Protocol in spirit. TTSCP is offered as a standard interface for controlling generic speech processing applications, not only Text-To-Speech ones. It is primarily designed to rtrols the interpretation of those adjustments themselves.

--pros_weight* weight

The asterisk stands for a @-separated symbolic name of a linguistic description level, such as phone, syll or word. The parameter is an integer value primarily used for enabling (1) or disabling (0) certain levels of description when the total quantities for a segment are computed. It must however be understood that when some rules like smooth are applied, the prosodic values are distributed down to the target level of such a rule and cannot be distinguished anymore. If higher values than 1 are set, that will multiply the prosodic effect assigned to a level correspondingly.

--pros_eff_multiply_*

The asterisk stands for a single letter, f, i or t, that is, a prosodic quantity symbol. This option controls how are the prosodic values for individual levels of description combined. If it is off, they are summed up (taking the corresponding pros_neutral_* as the baseline); if it is on, they get multiplied with each other (again taking pros_neutral_* as the neutral value). See prosody modelling for more information and examples.

--pros_neutral_*

The asterisk stands for a single letter, f, i or t, that is, a prosodic quantity symbol. This option controls what prosodic value is to be considered neutral for use in Epos. The current configuration file use 100 and prosodic adjustments are essentially percentages, but a higher value could be used for more fine grained prosody control (provided the synthesis algorithms can take advantage of it).

File Naming

In Epos, most of the files ever opened are located in a single directory tree. This tree usually starts at /usr/share/epos, but it can be changed at configure time. For example, after issuing

cd src
./configure --prefix=/usr/local

and after recompiling and reinstalling Epos, the files will be searched under /usr/local/lib/epos. See configure --help for more details on configuring Epos. It is also possible to use the command line option base_dir at Epos startup to change the tree base without recompilation. Files of the same type -- and related to the same language or voice, if applicable -- are located in the same subdirectory by default. Thus, the path name actually used by Epos consists of the base directory path, the subdirectory (or directory for short) and a relative file name. This makes it possible to move either the whole configuration structure, or a specific part of it, or a single file to another place.

The relative file name may contain slashes (directory name separators). If they only occur in the middle of the name, the file name is still relative to the directory it would normally be located in. However, if the file name begins with a slash or with ./, the file is treated as absolute or relative to the current working directory of the Epos process, respectively. The second case is thus slightly unreliable, but the first one allows to place any file in an arbitrary directory. Likewise, if the directory name begins with a slash, it is not considered to be relative to the base directory.

Changing these options in run time does not immediately cause re-reading the renamed files. All of the options in this section are static unless stated otherwise.

--base_dir dirname

Only changeable on the command line. The value is an absolute directory name. This option can be used to change the location of the whole configuration structure, which can also be used for trying out Epos before installing it:

cd src
./epos --base_dir ../cfg

--pseudo_root_dir dirname

The value is a directory name. Sets the path prepended to any file name referenced in the TTSCP stream command. This subtree cannot be escaped with cute parent-of-root paths, but you can use symlinks to arbitrary accessible parts of the kernel name space, again, without giving access to the rest of the file system. Write access to this subtree to any user except Epos effectively gives him the privilege to use the Epos file access rights anywhere in the system through creating a symlink to the absolute root directory. This option is not static.

--ini_dir dirname

The value is a directory name. Sets the path to language independent configuration files. This option is only changeable on the command line.

--fixed_ini_file filename

The value is a file name. This option can be used to change the file name of the fixed.ini file, which usually contains operating system independent, relatively fixed default global configuration. This option is only changeable on the command line.

--cfg_file filename

The value is a file name. This option can be used to change the file name of the epos.ini file.

--local_sound_device filename

The value is a file name. This option can be used to change the file name of the local sound card device. In many unices, setting this to /dev/dsp is the recommended way to actually hear Epos speak. Other unices don't have /dev/dsp, however. If the sound card has no file name at all, set this to the null device file name (that may be handled specially by the respective port of Epos).

--mbrola_binary filename

The file name of the mbrola executable file, either absolute or relative to the location of the voice configuration (which allows using different binaries with different voices, although this option is not voice dependent). Because of a limitation of the interface the binary is spawned by Epos every time it is needed and so this option is not static.

--input_file filename

The value is a file name. This option can be used to change the file name of the implicit input text used by the monolithic version of Epos. The value is language dependent.

--stddbg_file filename

The value is a file name. This option can be used to change the file name whereto various debugging output should be written. If not set at all, stdout will be used.

--stdshriek_file filename

The value is a file name. This option can be used to change the file name whereto output unrelated to the usual output should be printed. It includes especially error messages.

--rules_dir dirname

The language dependent value is a directory name. The directory shall contain the rules file.

--hash_dir dirname

The language dependent value is a directory name. The directory shall contain any dictionaries used by the rules.

--input_dir dirname

The language dependent value is a directory n