From 6ad254f2875b044173dc4273c6bcdd2cedb0dc75 Mon Sep 17 00:00:00 2001 From: Storm Dragon Date: Sat, 12 Jul 2025 13:51:05 -0400 Subject: [PATCH] Added speech-dispatcher configuration. --- etc/speech-dispatcher/speechd.conf | 358 +++++++++++++++++++++++++++++ 1 file changed, 358 insertions(+) create mode 100644 etc/speech-dispatcher/speechd.conf diff --git a/etc/speech-dispatcher/speechd.conf b/etc/speech-dispatcher/speechd.conf new file mode 100644 index 0000000..a000323 --- /dev/null +++ b/etc/speech-dispatcher/speechd.conf @@ -0,0 +1,358 @@ + +# Global configuration for Speech Dispatcher +# ========================================== + +# -----SYSTEM OPTIONS----- + +# CommunicationMethod specifies the method to be used by Speech Dispatcher to communicate with +# its clients. Two basic methods are "unix_socket" and "inet_socket". +# +# unix_socket -- communication over Unix sockets represented by a file in the +# filesystem (see SocketPath below). This method works only locally, but is +# preferred for standard session setup, where every user runs his own instance of Speech +# Dispatcher to get voice feedback on his own computer. +# +# inet_socket -- alternatively, you can start Speech Dispatcher on +# a TCP port and connect to it via hostname/port. This allows for a more +# flexible setup, where you can use Speech Dispatcher over network +# from different machines. See also the Port and LocalhostAccessOnly +# configuration variables. +# +# CommunicationMethod "unix_socket" + +# SocketPath is either "default" or a full path to the filesystem +# where the driving Unix socket file should be created in case the +# CommunicationMethod is set to "unix_socket". The default is +# $XDG_RUNTIME_DIR/speech-dispatcher/speechd.sock where $XDG_RUNTIME_DIR +# is the directory specified by the XDG Base Directory Specification. +# Do not change this unless you have a reason and know what you are doing. + +# SocketPath "default" + +# The Port on which Speech Dispatcher should be available to clients if the "inet_socket" +# communication method is used. + +# Port 6560 + +# By default, if "inet_socket" communication method is used, the specified port is opened only +# for connections coming from localhost. If LocalhostAccessOnly is set to 0 it disables this +# access control. It means that the port will be accessible from all computers on the +# network. If you turn off this option, please make sure you set up some system rules on what +# computers are and are not allowed to access the Speech Dispatcher port. + +# LocalhostAccessOnly 1 + +# By default, Speech Dispatcher is configured to shut itself down after a period of +# time if no clients are connected. The timeout value is in seconds, and is started when +# the last client disconnects. A value of 0 disables the timeout. + +Timeout 0 + +# -----LOGGING CONFIGURATION----- + +# The LogLevel is a number between 0 and 5 specifying the +# verbosity of information to the logfile or screen +# 0 means nothing, 5 means everything (not recommended). + +LogLevel 3 + +# The LogDir specifies where the Speech Dispatcher logs reside +# Specify "stdout" for standard console output +# or a custom log directory path. 'default' means +# the logs are written to the default destination (e.g. a preconfigured +# system directory or the home directory if .speech-dispatcher is present) +# DO NOT COMMENT OUT THIS OPTION, leave as "default" for standard logging + +LogDir "default" +#LogDir "/var/log/speech-dispatcher/" +#LogDir "stdout" + +# The CustomLogFile allows logging all messages # regardless of +# priority, to the given destination. +#CustomLogFile "protocol" "/var/log/speech-dispatcher/speech-dispatcher-protocol.log" + +# ----- VOICE PARAMETERS ----- + +# The DefaultRate controls how fast the synthesizer is going to speak. +# The value must be between -100 (slowest) and +100 (fastest), default +# is 0. + +# DefaultRate 0 + +# The DefaultPitch controls the pitch of the synthesized voice. The +# value must be between -100 (lowest) and +100 (highest), default is +# 0. + +# DefaultPitch 0 + +# The DefaultPitchRange controls the pitch range of the synthesized voice. The +# value must be between -100 (lowest) and +100 (highest), default is +# 0. + +# DefaultPitchRange 0 + +# The DefaultVolume controls the default volume of the voice. It is +# a value between -100 (softly) and +100 (loudly). Currently, +100 +# maps to the default volume of the synthesizer. + +DefaultVolume 100 + +# The DefaultVoiceType controls which voice type should be used by default. +# Voice types are symbolic names which map to particular voices provided by +# the synthesizer according to the output module configuration. +# Please see the synthesizer-specific configuration +# in etc/speech-dispatcher/modules/ to see which voices are assigned to +# different symbolic names. The following symbolic names are +# currently supported: MALE1, MALE2, MALE3, FEMALE1, FEMALE2, FEMALE3, +# CHILD_MALE, CHILD_FEMALE + +# DefaultVoiceType "MALE1" + +# The Default language with which to speak +# Note that the spd-say client in particular always sets the language to its +# current locale language, so this particular client will never pick this +# configuration. + +# DefaultLanguage "en-US" + + +# ----- MESSAGE DISPATCHING CONTROL ----- + +# The DefaultClientName specifies the name of a client who didn't +# introduce himself at the beginning of an SSIP session. + +# DefaultClientName "unknown:unknown:unknown" + +# The Default Priority. Use with caution, normally this shouldn't be +# changed globally (at this place) + +# DefaultPriority "text" + +# The DefaultPauseContext specifies by how many index marks a speech +# cursor should return when resuming after a pause. This is roughly +# equivalent to the number of sentences before the place of the +# execution of pause that will be repeated. + +# DefaultPauseContext 0 + +# -----SPELLING/PUNCTUATION/CAPITAL LETTERS CONFIGURATION----- + +# The DefaultPunctuationMode sets the way dots, comas, exclamation +# marks, question marks etc. are interpreted. none: they are ignored +# some: some of them are sent to synthesis (see +# DefaultPunctuationSome) all: all punctuation marks are sent to +# synthesis + +# DefaultPunctuationMode "none" + +# Level of punctuation for which symbol pre-processing should be performed by +# the server rather than by the module. +# +# This is completely independent of what punctuation level is actually asked, it +# controls to which extent the server should do the punctuation work to insert +# the appropriate words or if the output module is responsible for doing it. +# +# Setting this to "no" disables pre-processing completely and leaves all +# punctuation preprocessing to the output module. Setting this to +# "none" enables only the server rules which are always enabled whatever +# the punctuation level. Setting this to "all" enables all server rules for +# punctuation. Setting this to "char" enables all server rules, including +# rules for spelling spaces. Of course, which rules actually take effect depends +# on the requested punctuation level. + +SymbolsPreproc "char" + +# Which preprocessing files should be loaded, and in which order +# +# This is done first for the most specific localization, then lesser specific +# localization, etc. I.e. for the fr_FR language for instance, fr-fr files are +# loaded first, then fr files, then en files. + +SymbolsPreprocFile "gender-neutral.dic" +SymbolsPreprocFile "font-variants.dic" +SymbolsPreprocFile "symbols.dic" +SymbolsPreprocFile "emojis.dic" +SymbolsPreprocFile "orca.dic" +SymbolsPreprocFile "orca-chars.dic" +SymbolsPreprocFile "symbols-fallback.dic" + +# The DefaultCapLetRecognition: if set to "spell", capital letters +# should be spelled (e.g. "capital b"), if set to "icon", +# capital letters are indicated by inserting a special sound +# before them but they should be read normally, it set to "none" +# capital letters are not recognized (by default) + +# DefaultCapLetRecognition "none" + +# The DefaultSpelling: if set to On, all messages will be spelt +# unless set otherwise (this is usually not something you want to do.) + +# DefaultSpelling Off + +# ----- AUDIO CONFIGURATION ----------- + +# -- AUDIO OUTPUT -- + +# Chooses between the possible sound output systems: +# "pulse" - PulseAudio +# "alsa" - Advanced Linux Sound System +# "oss" - Open Sound System +# "pipewire" - the new low-latency sound server, for near realtime speech performance +# "nas" - Network Audio System +# "libao" - A cross platform audio library +# +# Pipe Wire is the newest audio output method in this configuration, but not the default one. +# However, if it works in your deployment, it is recommended because of the +# latency related advantages it has over pulseaudio and others, however enabling +# it should be done with precaution, because it isn't tested to work in all +# configurations supported by speech dispatcher. +# For now, enabling this is at the discression of the users and packagers of +# speech dispatcher. However, because we want to eventually make this the default +# for everyone, trying it in your deployments, if non-critical, is recommended +# +# OSS, Pulse Audio and ALSA are only provided for compatibility with +# architectures that do not include Pipe Wire. +# +# NAS provides network transparency, but is not very well tested. +# +# libao is a cross platform library with plugins for different sound systems +# and provides alternative output for Pulse Audio and ALSA as well as for other +# backends. + +# AudioOutputMethod "pipewire" + +# -- Pulse Audio parameters -- + +# Pulse audio device name or "default" for the default pulse device + +#AudioPulseDevice "default" + +# Latency requested from pulseaudio, in ms. Smaller values make speech +# interruption snappier, but also uses more CPU time thus battery. +# 10ms latency is considered in HCI (Human-computer Interaction) as real-time. + +#AudioPulseMinLength 10 + +# -- ALSA parameters -- + +# Audio device for ALSA output + +#AudioALSADevice "default" + +# -- OSS parameters -- + +# Audio device for OSS output + +#AudioOSSDevice "/dev/dsp" + +# -- NAS parameters -- + +# Route to the Network Audio System server when NAS +# is chosen for the audio output. Note that NAS +# server doesn't need to run on your machine, +# you can use it also over network (for instance +# when working on remote machines). + +#AudioNASServer "tcp/localhost:5450" + + + +# -----OUTPUT MODULES CONFIGURATION----- + +# Each AddModule line loads an output module. +# Syntax: AddModule "name" "binary" "configuration" "logfile" +# - name is the name under which you can access this module +# - binary is the path to the binary executable of this module, +# either relative (to libexec/speech-dispatcher-modules/ +# or ~/.local/libexec/speech-dispatcher-modules) or absolute +# - configuration is the path to the config file of this module, +# either relative (to etc/speech-dispatcher/modules/ +# or ~/.config/speech-dispatcher) or absolute + +#AddModule "espeak" "sd_espeak" "espeak.conf" +#AddModule "espeak-ng" "sd_espeak-ng" "espeak-ng.conf" +#AddModule "festival" "sd_festival" "festival.conf" +#AddModule "flite" "sd_flite" "flite.conf" +#AddModule "ivona" "sd_ivona" "ivona.conf" +#AddModule "pico" "sd_pico" "pico.conf" +#AddModule "espeak-ng-mbrola" "sd_espeak-ng-mbrola" "espeak-ng-mbrola.conf" +#AddModule "espeak-ng-mbrola-generic" "sd_generic" "espeak-ng-mbrola-generic.conf" +#AddModule "espeak-mbrola-generic" "sd_generic" "espeak-mbrola-generic.conf" +#AddModule "swift-generic" "sd_generic" "swift-generic.conf" +#AddModule "epos-generic" "sd_generic" "epos-generic.conf" +#AddModule "dtk-generic" "sd_generic" "dtk-generic.conf" +#AddModule "ibmtts" "sd_ibmtts" "ibmtts.conf" +#AddModule "cicero" "sd_cicero" "cicero.conf" +#AddModule "kali" "sd_kali" "kali.conf" +#AddModule "mary-generic" "sd_generic" "mary-generic.conf" +#AddModule "baratinoo" "sd_baratinoo" "baratinoo.conf" +#AddModule "rhvoice" "sd_rhvoice" "rhvoice.conf" +#AddModule "voxin" "sd_voxin" "voxin.conf" + +# The output module testing doesn't actually connect to anything. It +# outputs the requested commands to standard output and reads +# responses from stdandard input. This way, Speech Dispatcher's +# communication with output modules can be tested easily. + +# AddModule "testing" + +# The DefaultModule selects which output module is the default. You +# must use one of the names of the modules loaded with AddModule. + +# DefaultModule espeak-ng + +# The LanguageDefaultModule selects which output modules are preferred +# for specified languages. + +#LanguageDefaultModule "en" "espeak" +#LanguageDefaultModule "cs" "festival" +#LanguageDefaultModule "es" "festival" + +# -----CLIENT SPECIFIC CONFIGURATION----- + +# Here you can include the files with client-specific configuration +# for different types of clients. They must contain one or more sections with +# this structure: +# BeginClient "emacs:*" +# DefaultPunctuationMode "some" +# ...and/or some other settings +# EndClient +# The parameter of BeginClient tells Speech Dispatcher which clients +# it should apply the settings to (it does glob-style matching, you can use +# * to match any number of characters and ? to match one character) + +# There are some sample client settings + +Include "clients/*.conf" + +# The DisableAutoSpawn option will disable the autospawn mechanism. +# Thus the server will not start automatically on requests from the clients +# DisableAutoSpawn + + +# Copyright (C) 2001-2009 Brailcom, o.p.s +# Copyright (C) 2009 Rui Batista +# Copyright (C) 2010 Andrei Kholodnyi +# Copyright (C) 2010 William Hubbs +# Copyright (C) 2010 Trevor Saunders +# Copyright (C) 2012 William Jon McCann +# Copyright (C) 2014 Rob Whyte +# Copyright (C) 2014-2016 Luke Yelavich +# Copyright (C) 2014 Hussain Jasim +# Copyright (C) 2017 Colomban Wendling +# Copyright (C) 2018 Raphaƫl POITEVIN +# Copyright (C) 2018 Florian Steinhardt +# Copyright (C) 2018-2024 Samuel Thibault +# +# This program is free software; you can redistribute it and/or modify it under +# the terms of the GNU General Public License as published by the Free Software +# Foundation; either version 2 of the License, or (at your option) any later +# version. +# +# This program is distributed in the hope that it will be useful, but WITHOUT ANY +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. See the GNU General Public License for more details (file +# COPYING in the root directory). +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see .