Skip to content

Add fono generic output module - #1117

Merged
sthibaul merged 1 commit into
brailcom:masterfrom
bogdanr:fono-generic-module
Sep 1, 2026
Merged

Add fono generic output module#1117
sthibaul merged 1 commit into
brailcom:masterfrom
bogdanr:fono-generic-module

Conversation

@bogdanr

@bogdanr bogdanr commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Adds a generic output module config for fono, a command-line voice stack.

fono speak stream reads text on stdin and plays the audio itself, so the module is a one-liner and needs no $PLAY_COMMAND. It stops on SIGKILL, so stop and cancel work.

Which synthesizer actually speaks is fono's business, not this file's: on-device ONNX (Kokoro, Piper, Supertonic), a Wyoming server, an OpenAI-compatible endpoint, or a cloud vendor like ElevenLabs or Cartesia. Switching backends does not touch the config here.

Voices are mapped by fono's palette labels (male 1, female 2, ...) instead of raw model ids, so the AddVoice lines hold across backends. DefaultVoice "auto" lets fono pick per the language of the text.

Same shape as edgetts-generic.conf and mimic3-generic.conf: config only, no build changes, GenericCmdDependency "fono" so the module is skipped when fono is not installed.

Tested on Slackware with speech-dispatcher 0.12.1: spd-say -o fono-generic, voice selection with -y, and spd-say -C mid-utterance.

fono is a command-line voice stack that plays synthesized audio itself,
so sd_generic only has to pipe text into 'fono speak stream'. The backend
behind it (local ONNX, Wyoming, or a cloud vendor) is set in fono's own
config and does not change this file.

Signed-off-by: Bogdan Radulescu <bogdan@nimblex.net>
@sthibaul
sthibaul merged commit 1b4492c into brailcom:master Sep 1, 2026
7 checks passed
@sthibaul

sthibaul commented Sep 1, 2026

Copy link
Copy Markdown
Collaborator

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants