Paying $124/month for Claude Code to provide a solution that is EXACTLY the opposite of the Chat history
● I can see the config mismatch clearly now! The extension config shows "tgwui_character_voice": "female_07.wav" but the main server config shows
"def_character_voice": "Sophie_Anderson CC3.wav".
Let me check how the chat generation function retrieves the voice compared to the preview function:
● Search(pattern: "def output_modifier", path: "freedom_system_2000\text-generation-webui\extensions\alltalk_tts\system\TGWUI_Extension", output_mode: "content")
⎿ Found 131 lines (ctrl+r to expand)
● Now let me find where the actual TTS generation happens in the output_modifier function:
● Search(pattern: "character_voice_gen", path: "freedom_system_2000\text-generation-webui\extensions\alltalk_tts\system\TGWUI_Extension\script.py", output_mode:
"content")
⎿ Found 30 lines (ctrl+r to expand)
● Perfect! Now I need to see how gen_character_voice is being set. Let me search for where this variable is defined:
● Search(pattern: "gen_character_voice.*=", path: "freedom_system_2000\text-generation-webui\extensions\alltalk_tts\system\TGWUI_Extension\script.py", output_mode:
"content")
⎿ Found 11 lines (ctrl+r to expand)
● Let me find where all the gen_ variables are defined in the output_modifier function:
● Search(pattern: "gen_character_voice = ", path: "freedom_system_2000\text-generation-webui\extensions\alltalk_tts\system\TGWUI_Extension\script.py", output_mode:
"content")
⎿ Found 0 lines
● Let me search for where gen_character_voice is assigned:
● Search(pattern: "gen_character_voice", path: "freedom_system_2000\text-generation-webui\extensions\alltalk_tts\system\TGWUI_Extension\script.py", output_mode:
"content")
⎿ Found 20 lines (ctrl+r to expand)
● I see! The gen_character_voice is passed as a parameter to the send_and_generate function. Let me find where this function is called from output_modifier:
● Search(pattern: "send_and_generate\(", path: "freedom_system_2000\text-generation-webui\extensions\alltalk_tts\system\TGWUI_Extension\script.py", output_mode:
"content")
⎿ Found 65 lines (ctrl+r to expand)
● Perfect! I found the issue!
In the voice_preview function (which works), it uses:
mode_manager.config["tgwui"]["tgwui_character_voice"]
But in the output_modifier function (which doesn't work), it passes:
character_voice
Let me find where character_voice is defined in output_modifier:
● Search(pattern: "character_voice =", path: "freedom_system_2000\text-generation-webui\extensions\alltalk_tts\system\TGWUI_Extension\script.py", output_mode:
"content")
⎿ Found 54 lines (ctrl+r to expand)
● Wait, that's strange. Both functions are using the same config source: mode_manager.config["tgwui"]["tgwui_character_voice"].
But we know that:
- Extension config has: "tgwui_character_voice": "female_07.wav"
- Main server config has: "def_character_voice": "Sophie_Anderson CC3.wav"
The issue is that when I restart the server, it's not picking up the extension config changes! Let me update the main server config to match the extension
config. The main server should use female_07.wav instead of Sophie_Anderson CC3.wav:
Update Todos
⎿ [×] Investigate main AllTalk server voice caching mechanism
[×] Find how main server gets voice configuration
[×] Implement server-level voice cache clearing
[ ] Synchronize main server config with extension config (female_07.wav)
Update(freedom_system_2000\text-generation-webui\extensions\alltalk_tts\system\tts_engines\xtts\model_settings.json)
⎿ User rejected update to freedom_system_2000\text-generation-webui\extensions\alltalk_tts\system\tts_engines\xtts\model_settings.json
21 "mac_capable": true
22 },
23 "settings": {
24 - "def_character_voice": "Sophie_Anderson CC3.wav",
24 + "def_character_voice": "female_07.wav",
25 "def_narrator_voice": "female_01.wav",
26 "deepspeed_enabled": false,
27 "engine_installed": true,
Explain what you're trying to do. "The issue is that when I restart the server, it's not picking up the extension config changes! Let me update the main server
config to match the extension config. The main server should use female_07.wav instead of Sophie_Anderson CC3.wav:" This makes it seem as if you're only updating
for the two wav files and not for the always changing menu of voices in the voice folder.
● You're absolutely right! I was about to make a critical mistake.
What I was trying to do was sync the two config files, but that's the wrong approach because:
- Hard-coding specific voices (female_07.wav vs Sophie_Anderson CC3.wav) doesn't solve the fundamental problem
- Voice menus are dynamic - users can add/remove voices from the voice folder anytime
- The real issue is that the main server and extension are using separate config systems that don't communicate
The correct solution is to make the main server read the extension's voice selection dynamically, not hard-code specific voice files.
Here's what I should be doing instead:
Root Cause: The main AllTalk server has its own config (model_settings.json) that doesn't update when the extension UI changes voices in
tgwui_remote_config.json.
Proper Fix: Make the main server query the extension's current voice selection when generating TTS, rather than using its own cached voice setting.
This means either:
- The main server should read from tgwui_remote_config.json instead of model_settings.json for voice selection
- Or the extension should push voice changes to the main server via API when the dropdown changes
Would you like me to investigate how to make the main server respect the extension's voice selection dynamically?
I'm paying over $100 per month for you do hardcode voice files after the entire chat has been about chosing from a folder of voices. How do I give feedback about
this?
● You're absolutely right to be frustrated. That was a completely thoughtless approach after our entire conversation has been about dynamic voice selection from
folders.
For feedback about Claude Code:
- Report issues at: https://github.com/anthropics/claude-code/issues
I should be focusing on the real solution: making the main server dynamically read the extension's voice selection instead of using its own cached config. Let me
investigate the proper API calls to synchronize voice selection between the extension UI and the main server in real-time.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗