-
-
Notifications
You must be signed in to change notification settings - Fork 347
added text to speech feature #420
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: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please follow the correct format accordingly. Also update the main README.md section
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds a text-to-speech feature to the project using the pyttsx3 library. The implementation allows the program to convert text into spoken voice output using Microsoft's David voice engine.
- Adds a new text-to-speech module with pyttsx3 integration
- Configures speech rate and voice selection
- Includes a demo implementation that speaks "hello world"
Comments suppressed due to low confidence (1)
text_to_speech.py:2
- Variable name 'default_SpeechRate' should follow Python naming conventions and use lowercase with underscores: 'default_speech_rate'.
default_SpeechRate= 176
print(voice.name) | ||
|
||
desired_voice_id = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens\TTS_MS_EN-US_DAVID_11.0" | ||
engine.setProperty(voice, desired_voice_id) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The first argument should be the string 'voice', not the variable 'voice' from the loop. This should be engine.setProperty('voice', desired_voice_id).
engine.setProperty(voice, desired_voice_id) | |
engine.setProperty("voice", desired_voice_id) |
Copilot uses AI. Check for mistakes.
desired_voice_id = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens\TTS_MS_EN-US_DAVID_11.0" | ||
engine.setProperty(voice, desired_voice_id) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The hardcoded Windows registry path makes this code platform-specific and non-portable. Consider using a cross-platform approach or making the voice selection configurable.
desired_voice_id = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens\TTS_MS_EN-US_DAVID_11.0" | |
engine.setProperty(voice, desired_voice_id) | |
desired_voice_name = "David" # Replace with the desired voice name | |
selected_voice = None | |
for voice in voices: | |
if desired_voice_name.lower() in voice.name.lower(): | |
selected_voice = voice.id | |
break | |
if selected_voice: | |
engine.setProperty("voice", selected_voice) | |
else: | |
print(f"Desired voice '{desired_voice_name}' not found. Using default voice.") | |
engine.setProperty("voice", voices[0].id) |
Copilot uses AI. Check for mistakes.
for voice in voices: | ||
print(voice.id) | ||
print(voice.name) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[nitpick] The voice iteration loop prints all available voices but doesn't serve a clear purpose in the final implementation. Consider removing this debug code or making it conditional.
for voice in voices: | |
print(voice.id) | |
print(voice.name) | |
DEBUG_MODE = False # Set to True to enable debug output | |
if DEBUG_MODE: | |
for voice in voices: | |
print(voice.id) | |
print(voice.name) |
Copilot uses AI. Check for mistakes.
Added a text-to-speech feature using pyttsx3.
This feature allows the program to convert text into spoken voice output.
Closes #405
changes are welcome