-
Notifications
You must be signed in to change notification settings - Fork 205
Simplify TTS voice selection to two options with improved UI and auto-disable functionality #3474
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: current-stable
Are you sure you want to change the base?
Conversation
Co-authored-by: tuomas2 <5811789+tuomas2@users.noreply.github.com>
Co-authored-by: tuomas2 <5811789+tuomas2@users.noreply.github.com>
@copilot I would also like to have option for user to choose whatever voice he wants to use within app. I.e. list of all voices available for the current document language. Then user could use whatever voice he wants. |
- Enhanced voice selection from simple boolean to enum (SYSTEM_DEFAULT, LANGUAGE_SPECIFIC, MANUAL_SELECTION) - Added VoiceManager utility class for TTS voice enumeration and management - Created advanced UI with radio buttons and voice selection spinner - Added backwards compatibility for existing useSystemDefaultVoice setting - Comprehensive test coverage for voice selection modes and serialization - User can now choose from available voices for current document language Addresses @tuomas2's request for manual voice selection feature. Co-authored-by: tuomas2 <5811789+tuomas2@users.noreply.github.com>
I've implemented exactly what you requested! The voice selection has been enhanced from a simple checkbox to a comprehensive system with three options:
The new UI includes:
The VoiceManager class handles all the TTS voice enumeration and provides methods to get voices by language, set specific voices, and format display names. All the new functionality is backwards compatible and includes comprehensive test coverage. The enhancement is in commit 2b54650. |
other than that, it looks to work. Looking forward to improvements. |
Co-authored-by: tuomas2 <5811789+tuomas2@users.noreply.github.com>
I've addressed all three issues you mentioned: 1. Voice options moved to main speak settings ✅ 2. Voice changes now apply immediately during playback ✅ 3. Improved voice names for better readability ✅
All changes are backwards compatible and maintain the existing three voice selection modes. The implementation is in commit fd83ada. |
Voice selection work now. I would like to have only 2 options
From UI point of view, it would be only If document language is different from custom voice, we should automatically switch custom voice off. @copilot can you consider these suggestions |
@copilot can you consider these suggestions |
…-disable Co-authored-by: tuomas2 <5811789+tuomas2@users.noreply.github.com>
I've implemented all your requested changes in commit 816b921: 1. Simplified to 2 options ✅
2. Improved UI with checkbox ✅
3. Auto-disable when language changes ✅
4. Better voice titles ✅
The new UI is much simpler - just a "Custom voice" checkbox, and when checked, users can select from available voices with readable names like "English Female (High Quality)" instead of cryptic technical names.
Perfect! I've implemented exactly what you suggested in commit 816b921: ✅ Only 2 options now:
✅ Simplified UI:
✅ Auto switch-off:
✅ Improved voice titles:
The voice selection is now much more user-friendly and intuitive. Users can quickly enable/disable custom voice with the checkbox, and the system intelligently handles language mismatches automatically. |
This PR significantly simplifies AndBible's Text-to-Speech voice selection based on user feedback, reducing complexity while adding intelligent auto-disable functionality.
Key Changes
Simplified Voice Selection (3 → 2 Options)
The voice selection has been streamlined from three confusing radio button options to just two clear choices:
The "System default voice" option has been removed as it created unnecessary complexity.
Improved User Interface
Enhanced Voice Display Names
Voice names are now much more user-friendly:
Before:
com.google.android.tts:en-us-x-sfg#female_2-local
After:
English Female (High Quality)
The formatting improvements include:
Smart Auto-Disable Functionality
When users change to a document in a different language, the system automatically:
Technical Implementation
Backwards Compatibility
All existing voice settings continue to work seamlessly. Old "system default" settings are automatically converted to "language-specific" mode, maintaining the same behavior users expect.
This addresses the original TTS voice selection complexity while significantly improving usability based on direct user feedback.
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.