Create a Service Manager for Speech Recognition
Task Description: Implement a service manager that abstracts the speech recognition functionalities.
Objective: Centralize speech recognition handling in a single service manager class, making the ViewModel leaner and more focused.
Accommodate Connection to Whisper Service
Task Description: Integrate GPT Whisper as a primary service for speech-to-text within the service manager.
Objective: Provide an option to use GPT Whisper for enhanced speech recognition capabilities when available.
Fallback to Local SFSpeechRecognizer
Task Description: Implement a fallback mechanism to use local SFSpeechRecognizer if the Whisper service is unavailable.
Objective: Ensure the app has a reliable speech-to-text functionality even without internet connectivity or if Whisper service is down.
Integrate 15 Seconds Silent Detection in Service Manager
Task Description: Move the 15 seconds silence detection logic into the service manager.
Objective: Manage all aspects of speech recognition, including silence detection, within the service manager for better encapsulation and reusability.
Refactor the app to decouple speech-to-text functionalities from the ViewModel by implementing a dedicated service manager.
Tasks:
This enhancement aims to improve modularity and flexibility in handling different speech-to-text services.