MULTISPEECH.CONF(5)
π MULTISPEECH.CONF π
okay bestie, so this is the manual page for multispeech.conf β the Multispeech configuration file (section 5 of the File Formats Manual, iykyk). grab a strawberry π and let's get into it.
β¨ NAME β¨
multispeech.conf β the Multispeech configuration file. that's it, that's the name, periodt.
πΈ DESCRIPTION πΈ
so when multispeech boots up, it's looking for its config in two places, no cap:
/etc/multispeech.conf~/.multispeechrc
and here's the tea on who wins π«: the user settings you put in ~/.multispeechrc always take precedence over the system-wide ones in /etc/multispeech.conf. always always.
and all of those settings can then get overridden by an extra config file you pass in on the command line. and when multispeech gets started as a Speech Dispatcher module, it treats that command-line file as an extension of the global config. so options in there override the main system config file... but ~/.multispeechrc still takes precedence over both of them. main character energy, honestly π
some configuration options are mandatory, so at least one of these files has to exist. no config, no vibes. π
π SYNTAX π
the syntax is lowkey simple.
- lines that start with the
#character are treated as comments - blank lines get ignored, they're just there for aesthetic
- every option entry looks like this:
keyword = value
case is significant. fr fr, don't try to be cute with it.
all options are logically grouped into sections. each section starts with its name in square brackets on its own line. very demure, very mindful. π
π¦ CLIENT INTERACTION CONTROL OPTIONS π¦
these options live in the section named frontend. here's what's inside:
charsetβ the input charset should be specified by its name. you can find available names in/usr/share/i18n/SUPPORTEDor wherever else it lives on your system. by default this option is not set, so your current locale setting gets used.native_voicesβ enable native voice control embedded commands.dtk_voicesβ enable DECtalk voice control embedded commands.
ok so these last two control inline parameter parsing, and here's the breakdown. in the default state, only native voices are enabled β so multispeech behaves like it always used to and accepts only the special inline commands formed by emacspeak. when dtk voices are enabled, multispeech recognizes DECtalk inline commands and tries to emulate some subset of the DECtalk voice control capabilities.
use the word yes or on to enable, and the word no or off to disable. and nothing's stopping you from keeping both options enabled at the same time β in that case, DECtalk inline commands get accepted right alongside the native ones. but if you disable both? then inline command detection and parsing just doesn't happen at all. π
π GENERAL AUDIO OUTPUT CONTROL OPTIONS π
section name is audio. it contains the following options:
deviceβ the default device for all audio output (speech, sounds and tones). if you don't specify it explicitly, the system default gets used. DSP device specifications (like/dev/dsp) are allowed here, and so are the ALSA ones. invokemultispeech -lto get a list of all available devices on your system.general_volumeβ the volume level applied to all audio output in general. it should be in the range of(0.0..1.0]. when this option isn't specified, the default value0.8is used.latencyβ audio output latency, in seconds. the special value0.0implies that a reasonable latency will be chosen automatically by the system. normally you should not set this up explicitly. do it only if you're pretty unsatisfied by the default.async_operationβ this enables truly asynchronous audio stream operation. normally it is absolutely not necessary, so it's disabled by default β but theoretically there can be some circumstances where it'd be preferable. use the wordyesoronto enable, and the wordnooroffto disable.pulseaudio_directβ this allows direct usage of the PulseAudio API for thepulseanddefaultdevices when apulsedevice is present in the system. if it's disabled, those devices get accessed via the native host API bridge instead. use the wordyesoronto enable, and the wordnooroffto disable.
π₯ SOUNDS PLAYING CONTROL OPTIONS π₯
section name is sounds. it's got several options that affect sound file playing capability:
deviceβ the sound files playing device. this setting overwrites the general default and lets you play sound files on a separate audio device. DSP device specifications (like/dev/dsp) are accepted here, and so are the ALSA ones. invokemultispeech -lto get a list of all available devices on your system.volumeβ relative volume level for sound files playing. it's1.0by default.asynchronousβ this enables or disables playing sound files simultaneously with other audio activities, like speech and tone signals producing. it's enabled by default. use the wordyesoronto enable, and the wordnooroffto disable.
β TONE SIGNALS PRODUCING CONTROL OPTIONS β
section name is tones. it consists of the following options:
deviceβ the tones producing device. this setting overwrites the general default and lets you use a separate device for tone signals. DSP device specifications (like/dev/dsp) are accepted here, and so are the ALSA ones. invokemultispeech -lto get a list of all available devices on your system.volumeβ relative volume level for tone signals producing. it's1.0by default.samplingβ sampling frequency for generated tone signals. it's44100by default.asynchronousβ this enables or disables producing tone signals simultaneously with other audio activities, like speech and sound files playing. it's enabled by default. use the wordyesoronto enable, and the wordnooroffto disable.
π GENERAL SPEECH CONTROL OPTIONS π
section name is speech. these options affect speech output in general:
deviceβ the speech output device. this setting overwrites the general default and lets you produce speech on a separate audio device. DSP device specifications (like/dev/dsp) are accepted here, and so are the ALSA ones. invokemultispeech -lto get a list of all available devices on your system.volumeβ relative volume level for speech output. it's1.0by default.languageβ this specifies the language to speak. allowed values are:enfor Englishrufor Russiandefor Germanfrfor Frenchesfor Spanishptfor Portugueseitfor Italianautodetectfor automatic detection from the text nature
by default the language is autodetected. and the language can then be changed on the fly during runtime by the respective commands. π§
fallbackβ this specifies the language that'll be chosen when it should be changed, but autodetection fails. any supported language may be specified here, obviously β exceptautodetect. and of course, the language you declare as a fallback must be available itself. see below for the language related options. π
πΈ LANGUAGE RELATED SPEECH CONTROL OPTIONS πΈ
there's a separate section for each supported language, named:
enfor Englishrufor Russiandefor Germanfrfor Frenchesfor Spanishptfor Portugueseitfor Italian
these sections contain pretty much the same collection of options that affect speech in a specific language. the actual speech engine gets chosen by the key option engine. by default it's espeak for all languages. if it's explicitly not set, or set as disabled, then the language won't be available in Multispeech and no resources will be spent for it. the actual choice varies from language to language, but these two values are always legitimate. you don't have to define a speech engine for each language, but at least one must be defined. and honestly? it's wise to define a speech engine for only those languages you're actually gonna use β or define a speech engine for all languages in the global config and then locally disable the ones you don't need. chef's kiss. π
each language specific section consists of the following options:
engineβ TTS engine specification. allowed values are as follows:freephoneβ English speech with Freephone and Mbrola voiceen1ru_ttsβ Russian speech with Ru_tts speech synthesizerespeakβ all supported languages with Espeak TTS enginembrolaβ English, German, French, Spanish, Portuguese and Italian speech produced by Mbrola in conjunction with Espeak as a preprocessoruserβ user defined TTS engine
priorityβ language detection priority. any integer value is allowed. during autodetection, languages are probed in ascending order of their priority values. it's0by default.volumeβ specific voice loudness relative to the general speech volume level. it's1.0by default.pitchβ specific voice pitch adjustment relative to its normal level. it's1.0by default. a greater value causes higher pitch.rateβ relative speech rate for a specific voice. it's1.0by default. a higher value causes quicker speech.accelerationβ apply additional speech tempo acceleration. the speech rate gets changed by the specified difference in percents compared to the original tempo. positive values cause speech acceleration, while negative ones actually imply slowing it down. default value is0, so no additional tempo change is applied.char_pitchβ relative voice pitch control applied to single letters pronunciation. by default1.0is suggested.char_rateβ relative speech rate control applied to single letters pronunciation. by default1.0is suggested.caps_factorβ voice pitch factor for capital letters. by default it's1.2, so capital letters get pronounced by slightly higher pitch.speak_numbersβ this affects numbers speaking. when it'syesoron, digits are treated as if they belong to the native alphabet and therefore do not cause language switching. when it'snooroff, digits are treated as foreign symbols, causing a switch to another language β which will be the fallback one, or some other one according to the language priority settings. it'syesby default.
π€ MBROLA RELATED OPTIONS π€
Okay bestie, the section literally named mbrola is where you tell multispeech how to talk to the mbrola speech engine. Options go here:
executableβ the path to the Mbrola executable. If you only drop a program name (which is the default vibe, btw), then the environment variablePATHgets examined and every path mentioned in there gets searched. iykyk.voicesβ path to the directory where Mbrola voice files live. Default suggestion is/usr/share/mbrola.
πΈ MBROLA VOICES ASSIGNMENT πΈ
So these voices are used by the Mbrola backend in conjunction with Espeak. If you wanna see the list of voices Espeak supports, go invoke espeak --voices. Only Mbrola voices are allowed in here, periodt. Also make sure you actually have the corresponding Mbrola voices, because no voice files = no slay. See the Espeak documentation for further details.
enβ English voice. By defaulten1is used.deβ German voice. By defaultde6is used.frβ French voice. By defaultfr4is used.esβ Spanish voice. By defaultes1is used.ptβ Portuguese voice. By defaultbr3is used.itβ Italian voice. By defaultit3is used.
βοΈ FREEPHONE RELATED OPTIONS βοΈ
The section named freephone is fully devoted to the freephone speech backend, and here's what lives in it:
executableβ path to the Freephone executable. If only a program name is specified (as it is by default), then the environment variablePATHgets examined and all paths mentioned there get searched.lexiconβ path to the lexical database. Default suggestion is/usr/share/freespeech/enlex.db.
π·πΊ RU TTS RELATED OPTIONS π·πΊ
Section ru_tts is all the options that control how multispeech interacts with the ru_tts speech synthesizer:
executableβ path to the Ru_tts executable. If only a program name is specified (as it is by default), then the environment variablePATHgets examined and all paths mentioned there get searched.lexiconβ path to the lexical database. Default suggestion is/usr/share/freespeech/rulex.db.logβ an optional file to collect unknown words. This file must be writable for the Multispeech user. The collected data can be used later to improve the lexical database. No such file is suggested by default, so unknown words are simply not stored. π«Άexpressivenessβ relative voice pitch variation level. The default value is1.0, which is the normal intonation. A value of0.0causes absolutely monotonic speech (robotic queen behavior, ngl).female_voiceβ when this option isyes, the alternative female voice is used instead of the default (male) one. πdecimal_point,decimal_commaβ these options enable or disable treating a point and a comma inside a number as a decimal separator. By default both are enabled. Useyesoronto enable andnooroffto disable.interclause_gap_factorβ the factor applied to all interclause gap durations.comma_gap_factor,dot_gap_factor,semicolon_gap_factor,colon_gap_factor,question_gap_factor,exclamation_gap_factorβ the factors applied to the durations of the gaps implied by the corresponding punctuations. (Yes, every punctuation mark gets its own lil knob. Obsessed.)intonational_gap_factorβ the factor applied to the duration of intonational gaps not caused by punctuations.
π£οΈ ESPEAK RELATED OPTIONS π£οΈ
Interaction with the espeak TTS engine is controlled by the options grouped in section espeak:
executableβ path to the Espeak executable. If only a program name is specified (as it is by default), then the environment variablePATHgets examined and all paths mentioned there get searched.enβ English voice specification. By defaultenis suggested. Invokeespeak --voicesto see all available alternatives.ruβ Russian voice specification. By defaultruis suggested. Invokeespeak --voicesto see all available alternatives.deβ German voice specification. By defaultdeis suggested. Invokeespeak --voicesto see all available alternatives.frβ French voice specification. By defaultfris suggested. Invokeespeak --voicesto see all available alternatives.esβ Spanish voice specification. By defaultesis suggested. Invokeespeak --voicesto see all available alternatives.ptβ Portuguese voice specification. By defaultptis suggested. Invokeespeak --voicesto see all available alternatives.itβ Italian voice specification. By defaultitis suggested. Invokeespeak --voicesto see all available alternatives.
β¨ USER DEFINED TTS BACKEND OPTIONS β¨
The section name is user. Here's what gets grouped in there:
commandβ the shell command that performs the TTS transformation. This command must accept text on the standard input and produce a sound stream on the standard output. It should be a simple command β pipes or other shell complications are not allowed here β but command line arguments may be specified. On top of that, there are several special keywords recognized by Multispeech and replaced by actual values internally, right before execution. This mechanism is how Multispeech passes the current speech parameters to the TTS engine. The keywords are:
%lang - replaced by the language id string;
%pitch - replaced by relative voice pitch value;
%rate - replaced by relative speech rate value;
%freq - replaced by the sampling frequency value.
That last keyword is replaced only when freq_control is enabled (see below).
formatβ produced sound stream sample format. The allowed values here are:
s8 - signed 8 bits;
u8 - unsigned 8 bits;
s16 - signed 16 bits.
Leave this option commented out if the sound stream is produced in a format that can be detected automatically, like a wave file for instance.
samplingβ produced sound stream sampling frequency in Hz. Assumed22050by default. This option is ignored when the sound stream format is autodetected.stereoβ set toyesif the produced sound stream is stereo. By default it is assumed mono. This option is ignored when the sound stream format is autodetected.freq_controlβ set this option toyesif the TTS engine accepts a sampling frequency specification (like mbrola does, for instance) and you wish to make use of this capability. This option allows%freqkeyword replacement in the command line. Leave it commented out if unsure. πcharsetβ the character set in which the TTS engine accepts its input. Available charset names can be found in/usr/share/i18n/SUPPORTEDor wherever else it is on your system. By default this option is not set, so the current locale setting is used.
π§ SPEECH DISPATCHER MODULE RELATED OPTIONS π§
The section name is spd. The following options are grouped here:
versionβ Speech Dispatcher version. Usually it is correctly guessed automatically, but you can specify it explicitly when compatibility issues take place.sound_iconsβ path to the directory where multispeech will search sound icon files when acting as a Speech Dispatcher module. Default suggestion is/usr/share/sounds/sound-icons.use_voice_languageβ this option defines multispeech's behaviour whensynthesis_voiceand language settings are passed by Speech Dispatcher in a single request. If it isyesoron, the language will be chosen according to the specified voice; otherwise, when it isnooroff, the last setting in the packet takes precedence. By default this option isyes.accept_explicit_languageβ this option enables or disables explicit language choice by Speech Dispatcher. When disabled, language can be chosen only viasynthesis_voice. Use the wordyesoronto enable and the wordnooroffto disable. By default this option is enabled.ignore_unknown_voiceβ when this option isyesoron, Speech Dispatcher requests to setsynthesis_voicewith an unknown name are ignored. Otherwise, when it isnooroff, such requests are treated as if the voice name wasNULL. That special name is used for the so-called default voice, which lets multispeech utilize its language autodetection mechanism β though language still can be changed explicitly by Speech Dispatcher if enabled. This option isnoby default.index_marksβ this option enables or disables index marks support. When it isyesoron, index marks are reported correctly, but it becomes necessary to split the message at the point of the index mark. If such a side effect is somewhat inconvenient, it may be better to turn index marks support off by setting this option tonooroff. By default index marks support is enabled.
π SEE ALSO π
espeak(1), freephone(1), mbrola(1), multispeech(1), ru_tts(1), speech-dispatcher(1).
π AUTHOR π
Igor B. Poretsky <poretsky@mlbox.ru>.
And that's the whole page, bestie!! π This was MULTISPEECH.CONF(5), dated March 2, 2010 β yes, a whole legend, we stan. Go configure something gorgeous. πβ¨
π¦ where this page comes from
- debian trixie: multispeech-common 4.6.2-2 Β· GPL-2.0-or-later
- ubuntu questing: multispeech-common 4.6.2-2build2
- ubuntu resolute: multispeech-common 4.6.2-3build1 Β· GPL-2.0-or-later
- ubuntu stonking: multispeech-common 4.6.2-3build1 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms