Text-to-Speech Module
All settings for this feature live under Settings Text-to-speech .
The Text-to-Speech (TTS) Module in GWToolbox++ brings Guild Wars to life by converting NPC dialogue, speech bubbles, and other in-game text into spoken audio. This feature enhances immersion and accessibility by allowing you to hear conversations and interactions as you play.
Features
- Convert NPC dialogue to speech using multiple TTS providers
- Play speech bubbles from NPCs, enemies, and party members
- Customizable voice settings for different races and genders
- Support for both explorable areas and outposts
- Custom voice assignments for specific NPCs
- Activity logging and recent playback tracking
TTS Providers
The module supports multiple text-to-speech providers:
-
GWDevHub TTS (Default)
- Free service specifically for Guild Wars players
- No API key required
- Only processes the first sentence of NPC dialogue
-
ElevenLabs
- High-quality AI voices
- Requires API key from ElevenLabs
-
OpenAI
- Natural-sounding TTS
- Requires API key from OpenAI Platform
-
Google Cloud
- Enterprise-grade text-to-speech
- Requires API key and Text-to-Speech API enabled
- Get credentials at Google Cloud Console
-
Play.ht
- Voice cloning and custom voices
- Requires both API key and User ID
- Sign up at Play.ht
Getting Started
To access the Text-to-Speech settings:
- Open the GWToolbox++ main window
- Navigate to Settings
- Find the “Text-to-speech” section
Basic Configuration
-
Choose TTS Provider
- Select your preferred provider from the dropdown
- For paid services, enter your API credentials
- GWDevHub TTS works immediately with no setup
-
Configure Processing Options
- Enable/disable first sentence only processing
- Enable/disable first dialog only processing
- Toggle goodbye messages when closing dialogs
- Choose whether to play merchant greetings
Location Settings
Control where TTS is active:
Play Speech In
- Explorable Areas: Enable TTS in missions, quests, and explorable zones
- Outposts: Enable TTS in towns and outposts
Play Speech Bubbles
- When in an outpost: Process speech bubbles from NPCs in towns
- When in an explorable area: Process speech from skills, enemy quotes, and ally dialogue
- From other party members: Include speech from your party (Warning: may use additional API credits)
- From non-friendly NPCs: Include enemy dialogue and quotes
NPC Speech Bubble Range
- Set the distance (in game units) for processing speech bubbles
- Default: 166.000 (earshot range)
- Range: 0 to 2500
- Higher values process more speech but use more API credits
Race and Character Voices
The module can generate speech for different Guild Wars races:
Supported Races
- Human: Default human male/female voices
- Charr: Deep, gravelly voices
- Norn: Strong, resonant voices
- Asura: Higher-pitched, energetic voices
- Tengu: Unique avian-inspired voices
- Dwarf: Traditional dwarven voices
- Centaur: Distinctive centaur voices
Enable or disable TTS for each race individually to customize your experience.
Advanced Features
Custom NPC Voice Assignment
For paid TTS providers (ElevenLabs, OpenAI, etc.), you can assign specific voice IDs to individual NPCs:
- Find the NPC ID of the character you want to customize
- Enter the NPC ID in the input field
- Enter the Voice ID from your TTS provider
- Click “Add Custom Voice Assignment”
Voice settings (stability, similarity, style) are automatically inherited from the NPC’s race and gender.
Example:
- NPC ID:
1234 - Voice ID:
2EiwWnXFnvU5JabPnv8n
You can remove custom assignments at any time using the “Remove” button next to each assignment.
Stop Conditions
- Stop speech when dialog window is closed: Immediately halt audio playback when you close an NPC dialogue
- Useful for quickly moving through conversations
Cost Management
When using paid TTS services, several options help manage API usage:
Cost Optimization Settings:
- Only process first sentence (reduces API calls)
- Only process first dialog (limits conversation length)
- Disable speech bubbles in explorable areas (reduces frequent triggers)
- Limit NPC speech bubble range (processes fewer ambient quotes)
- Disable party member speech bubbles (reduces multiplayer triggers)
The module displays a warning when settings that increase API usage are enabled.
Recent Activity Log
The bottom of the settings panel shows recent TTS activity:
- Audio files being played
- Estimated duration of each clip
- Success/failure messages
- Generation status from GWDevHub voice service
This helps you monitor what’s being processed and troubleshoot any issues.
Language Support
- The module respects Guild Wars’ audio language settings
- Guild Wars officially supports 6 audio languages
- Goodbye messages and some merchant greetings currently only support English
- Text processing uses the game’s configured audio language preference
Tips and Best Practices
- Start with GWDevHub TTS: It’s free and requires no setup
- Enable selectively: Start with outposts only to test the feature
- Monitor API usage: Keep an eye on the Recent Activity log when using paid services
- Adjust bubble range: Lower the range in busy areas to reduce processing
- Use race filters: Disable races you don’t want to hear to reduce load
- First sentence only: Keep this enabled for most content to save on API costs
Troubleshooting
No audio playing?
- Check that your TTS provider is configured correctly
- Verify API credentials are valid (for paid services)
- Ensure the location settings allow speech in your current area
- Check that the NPC’s race is enabled in the race filters
Too many API calls?
- Enable “Only process the first sentence”
- Enable “Only process the first dialog”
- Reduce NPC speech bubble range
- Disable speech bubbles in explorable areas
- Disable non-friendly NPC speech
Audio cutting off?
- Disable “Stop speech when dialog window is closed”
- Check the Recent Activity log for error messages
Quality issues?
- Try a different TTS provider
- For ElevenLabs/OpenAI, experiment with custom voice IDs
- Check that your API key has sufficient credits
Notes
- TTS processing happens asynchronously to avoid impacting game performance
- Audio files are cached where possible to reduce API calls
- The GWDevHub service is optimized for Guild Wars dialogue and lore-appropriate voices
- Custom voice assignments only work with providers that support voice selection
- Speech bubbles from skills and combat quotes may be frequent in explorable areas