|
I am trying to use piper with speech-dispatcher (and Firefox). I installed it with I followed this old post and adapted it (had to add My However, when using I added a This is probably more a speech-dispatcher thing than piper, but maybe other users here have been having the same problem ? |
Replies: 1 comment
|
The confusion makes sense once you know that e_string = string_replace(e_string, "$LANGUAGE", ...);
e_string = string_replace(e_string, "$PUNCT", generic_msg_punct_str);
if (generic_msg_voice_str != NULL)
e_string = string_replace(e_string, "$VOICE", generic_msg_voice_str);
else {
char *default_voice = module_getdefaultvoice();
if (!default_voice)
default_voice = "no_voice";
e_string = string_replace(e_string, "$VOICE", default_voice);
}Note the token it searches for is exactly Dropping the braces should be all it takes: Your The Arch wiki page you found writes it without braces for exactly this reason. And if it ever does come through empty after the fix, that branch above tells you what to expect — a missing voice becomes the literal string |
The confusion makes sense once you know that
$VOICEisn't a shell variable at all — it's a placeholder that speech-dispatcher substitutes into the command string before handing it to the shell. Its generic module does a plain literal text replacement over theGenericExecuteSynthline, one token at a time: