Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
In the current implementation, the pyttsx3 text-to-speech engine is initialized inside the speak() function every time it is called. This leads to unnecessary repeated initialization of the engine, which causes performance degradation and introduces noticeable delays in speech output. The bug also results in inefficient resource management, as new engine instances are created repeatedly instead of reusing a single instance.
closes #370
🔍 Steps to Reproduce
Run the Program:
Execute the provided code that uses pyttsx3 for speech synthesis and speech_recognition for voice input.
Initiate a Conversation:
When prompted by the program, start interacting by answering questions.
Each time the program speaks (via the speak() function), observe the delay between the text prompt and the speech output.
Observe Speech Delays:
Notice the delay in the time it takes for the program to speak after each prompt (e.g., asking "Is it an animal?" or making a guess).
💡 Expected Behavior
Expected Outcome:
Noticeable delays between prompts and speech output.
Increase in memory and CPU usage over time due to repeated engine initialization.