feat: Implement multi-voice support and management

Refactor the TTS handling to support multiple, user-selectable voices. This replaces the previous single-voice system.

Key changes:
- Introduce VoiceManager to handle loading and managing voices from a dedicated oices/ directory.
- Add slash commands (/voice list, /set, /current, /refresh) for users to manage their personal TTS voice.
- Implement on-demand voice loading to improve startup time and memory usage.
- Remove the old 	ts_handler.py and single voice .wav files in favor of the new system.
- Update configuration to specify a voices directory instead of a single file path.
This commit is contained in:
2026-01-18 17:24:12 -06:00
parent ae1c2a65d3
commit 92dfcb1d39
14 changed files with 463 additions and 85 deletions

BIN
voices/Estinien.wav Normal file

Binary file not shown.

BIN
voices/Gaius.wav Normal file

Binary file not shown.

BIN
voices/Gibralter_funny.wav Normal file

Binary file not shown.

BIN
voices/Gibralter_good.wav Normal file

Binary file not shown.

BIN
voices/HankHill.wav Normal file

Binary file not shown.

BIN
voices/Johnny.wav Normal file

Binary file not shown.

BIN
voices/MasterChief.wav Normal file

Binary file not shown.

BIN
voices/Trump.wav Normal file

Binary file not shown.

5
voices/preferences.json Normal file
View File

@@ -0,0 +1,5 @@
{
"user_voices": {
"122139828182712322": "hankhill"
}
}