LostRuins / lite.koboldai.net

A zero dependency web UI for KoboldAI Horde
GNU Affero General Public License v3.0
81 stars 41 forks source link

XTTS options not saved #55

Closed Seantourage closed 9 months ago

Seantourage commented 9 months ago

When re-opening the advanced settings menu after setting a XTTS API and voice the TTS setting shows Microsoft Luna.

Additionally when reloading the page, the XTTS options are not saved in local browser storage kaihordewebui_settings requiring it to be re-configured again.

It would also be nice if along with the default settings (below) you could also specify a speaker/voice and have xtts auto connect:

Current: Line 3347: var xtts_base_url = " http://127.0.0.1:8020"; Line 3398: speech_synth: 100, //0 is disabled, 100 is xtts

Add: default_voice = "female"; (or female.wav, staying consistent with the dropdown voice dialog)

If my skills were better I'd submit code, but thought I'd offer as much info as i could with the bug report/feature request.

Also does the current implementation utilize streaming similar to SillyTavern? I'm assuming not, but just wanted to check.

Thanks again. As I get more familiar maybe I can submit code one of these days.

LostRuins commented 9 months ago

No streaming is currently used. As of now, custom XTTS endpoint settings are not saved to settings and are lost on restart.

LostRuins commented 9 months ago

Fixed, please try.

Seantourage commented 9 months ago

Still having issues, but I think it's due to the number of TTS voices my OS has installed.

I've patched up the code but am having one issue that I can't figure out. For some reason, some variables in localsettings will be updated when changes are made to the localstorage however the script refuses to use it and instead goes with the default.

For example the variable for speech synth is set at zero.

speech_synth: 0, //0 is disabled, 100 is xtts

If I go into advanced settings and change to XTTS and add my custom url it works. However upon refreshing the page and seeing the correct values changed in the localstorage (eg: speech_synth: 100 and custom XTTS endpoint) it fails to import the speech_synth setting and default the saved_xtts_url. Only after opening and closing the settings window does it actually update speech_synth to the correct saved value. Seems to be the case with a number of other variables as well.

My only guess is the web elements pull from the localsettings however there are parts of the code that pull from the web element meaning until the element is rendered once and set propertly, only then can other parts of the code reference the value. I understand the reasoning is so changes can be updated but it seems to be causing problems.

I made several small tweaks that fix the issues i mentioned earlier but want to find a solution to this problem before submitting a pull request.

Any chance you can reach out via discord or elsewhere for a quick moment to troubleshoot?

Username is seantourage on discord

LostRuins commented 9 months ago

Sure, sent you a friend request.

If you test it in the latest https://lite.koboldai.net does it work?

Check out https://github.com/LostRuins/lite.koboldai.net/blob/main/index.html#L4971 that's where the localsettings are saved and loaded. Certain fields like endpoint URLs and API keys are not overwritten from file.