AugustAtSeattle / SpeakNote

SpeakNote: Your Personal Virtual Assistant on iOS
MIT License
2 stars 0 forks source link

Decouple Speech to Text Service from ViewModel #4

Closed AugustAtSeattle closed 10 months ago

AugustAtSeattle commented 10 months ago

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.

AugustAtSeattle commented 10 months ago
  1. 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.
  2. 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.
  3. 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.
  4. 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.
AugustAtSeattle commented 10 months ago