9b992d6dbe
user_guild_map was only written when a login token was consumed on the webui login page. Users on stale session cookies never re-login, so their jobs carried empty guild_id and TTS was posted to whatever global channel happened to match instead of the server they logged in from. Persist the guild as soon as the bot registers the token so _resolve_guild_id() falls back to the correct login guild.
TTS Toy
A RedBot cog for text-to-speech in voice chat with multiple TTS engines, emoji sound effects, and voice cloning.
Modes
| Mode | Description | Requires |
|---|---|---|
minimax |
MiniMax cloud API, natural voices | API key |
chatterbox |
Local Chatterbox server, AI voice cloning | Chatterbox server |
dectalk |
Classic 1980s robotic voice | DECTalk server |
morshu |
Morshu from CD-i Zelda | g2p_en, numpy, pydub |
vox |
Black Mesa VOX announcer | Built-in |
Switch modes: [p]ttstoy mode <mode>
Quick Start
[p]ttstoy mode chatterbox
[p]chatterbox addvoice MyVoice (attach .wav/.mp3 or paste a URL)
[p]tts Hello world [laugh] this is cool
Commands
Use [p]ttstoy to see all available commands for the current mode.
Chatterbox Voice Management
| Command | Description |
|---|---|
[p]chatterbox addvoice <name> |
Upload a voice clip (attach file or paste URL) |
[p]chatterbox removevoice <name> |
Remove a voice and delete from server |
[p]chatterbox sharevoice <name> @User |
Share a voice with another user |
[p]chatterbox myvoices |
List your voices |
[p]chatterbox temp [0.0-1.5] |
Per-voice randomness (per voice per user) |
[p]chatterbox exag [0.25-2.0] |
Per-voice expressiveness (per voice per user) |
[p]chatterbox volume [-20-20] |
Per-voice dB loudness offset (per voice per user) |
[p]chatterbox guide |
Full feature guide |
[p]chatterbox model [turbo|original] |
Switch Chatterbox model (owner) |
[p]chatterbox url [url] |
Set Chatterbox server URL (owner) |
Append reset to temp, exag, or volume to clear the setting.
General
| Command | Description |
|---|---|
[p]tts <text> |
Speak in voice chat |
[p]ttstoy myvoice [name] |
Set or view your personal voice |
[p]ttstoy voice [name] |
Set global default voice (owner) |
[p]ttstoy mode [mode] |
Show or set TTS mode (owner) |
[p]ttstoy sfxvolume [0-100] |
Set SFX volume (owner) |
[p]sfx |
List available sound effects |
[p]ttstoy info |
DM setup instructions |
DECTalk
| Command | Description |
|---|---|
[p]ttstoy dectalkinstall |
Install built-in DECTalk server |
[p]ttstoy dectalkstart |
Start server |
[p]ttstoy dectalkstop |
Stop server |
[p]ttstoy dectalkstatus |
Check server status |
[p]ttstoy dectalkautotoggle |
Toggle auto-start |
[p]ttstoy dectalkurl [url] |
Set DECTalk API URL |
DECTalk voices are controlled in-text: [:np] Paul, [:nb] Betty, [:nh] Harry, [:nf] Frank, [:nd] Dennis, [:nk] Kit, [:nu] Ursula, [:nr] Rita, [:nw] Wendy.
VOX
| Command | Description |
|---|---|
[p]ttstoy voxpack [vox|vox2] |
Switch VOX voice pack |
[p]ttstoy voxwords |
List available words |
Emoji SFX
Include emoji in your TTS text to trigger sound effects:
[p]tts Hello 🎉 world 🔥
Use [p]sfx to see all available triggers. Add .mp3 files to sfx/<folder>/ to customize.
Requirements
- RedBot 3.5+
- Audio cog loaded
- ffmpeg
requests,g2p_en,numpy,pydub(pip)