Small local server for using wfloat with SillyTavern's OpenAI Compatible TTS provider.
It uses the wfloat-python package.
git clone https://github.com/wfloat/wfloat-openai-server.git
cd wfloat-openai-server
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txtuvicorn wfloat_openai_server.app:app --host 127.0.0.1 --port 8123In SillyTavern:
- Open
Extensions->TTS - Set
Enabledto on - Set
ProvidertoOpenAI Compatible - Set
Provider Endpointtohttp://127.0.0.1:8123/v1/audio/speech - Set
Modeltowfloat-tts - Leave the API key empty
- In
Available Voices, paste something like:
clever_villain_woman,strong_hero_man:anger:0.8,skilled_hero_woman,mad_scientist_woman:surprise:0.7
- Click
Reload - Click
Available voicesto test playback
The voice field can be:
voice_namevoice_name:emotionvoice_name:emotion:intensity
Examples:
outgoing_anime_womanoutgoing_anime_woman:joymad_scientist_woman:surprise:0.9
Voice options:
skilled_hero_manskilled_hero_womanfun_hero_manfun_hero_womanstrong_hero_manstrong_hero_womanmad_scientist_manmad_scientist_womanclever_villain_manclever_villain_womannarrator_mannarrator_womanwise_elder_manwise_elder_womanoutgoing_anime_manoutgoing_anime_womanscary_villain_manscary_villain_womannews_reporter_mannews_reporter_woman
Valid emotions:
neutraljoysadnessangerfearsurprisedismissiveconfusion
Intensity range:
0.0to1.0
- The server uses the local
wfloatpackage. speedis passed through towfloat.- The server always returns WAV audio.
- SillyTavern sends
response_format: "mp3"for this provider, but it still plays WAV responses correctly.
WFLOAT_MODEL_NAMEDefault:wfloat/wfloat-ttsWFLOAT_DEFAULT_VOICEDefault:wise_elder_manWFLOAT_DEFAULT_EMOTIONDefault:neutralWFLOAT_DEFAULT_INTENSITYDefault:0.5