Commit Graph

21 Commits

Author SHA1 Message Date
cogwheel0
08d5de8a68 refactor(tts): Simplify text-to-speech service by migrating to TtsManager 2025-12-08 10:28:59 +05:30
cogwheel0
ff0c42af11 fix(tts): Improve speak completion handling to prevent race conditions 2025-11-27 22:09:56 +05:30
cogwheel0
d092bb2e44 fix(audio): optimize audio configuration for iOS and Android platforms 2025-11-27 18:41:41 +05:30
cogwheel0
d38e986d7c feat(callkit): Add CallKit service for native call UI and permissions 2025-11-24 12:29:44 +05:30
cogwheel0
84af6bbe86 feat(tts): Remove auto engine and fix ios STS 2025-11-21 13:39:19 +05:30
cogwheel0
36915fba09 feat(tts): ensure Android default TTS engine is set before speaking 2025-11-21 12:22:23 +05:30
cogwheel0
b05d9f84a5 feat(tts): Add server-side speech synthesis and playback pipeline 2025-11-10 02:43:31 +05:30
cogwheel0
0d49309ad1 feat(tts): Refactor text splitting and offset computation for TTS 2025-11-05 00:59:57 +05:30
cogwheel0
3424af60f9 feat(l10n): Add silence duration settings for speech-to-text 2025-11-05 00:48:20 +05:30
cogwheel0
715849aff3 feat(tts): add speech rate support for text-to-speech generation 2025-11-03 00:44:24 +05:30
cogwheel0
cfadeffd24 feat(tts): add auto mode for text-to-speech engine selection 2025-11-02 21:31:13 +05:30
cogwheel0
5d33e5fe65 fix: server side tts on ios 2025-10-31 23:20:04 +05:30
cogwheel0
de0f195aea feat(tts): Improve text-to-speech service with enhanced error handling and state management 2025-10-30 21:42:35 +05:30
cogwheel0
44149d5f81 feat(tts): add server default voice retrieval and integrate it into 2025-10-30 16:10:20 +05:30
cogwheel0
56246507de feat(tts): add karaoke-style TTS progress bar to assistant UI
Add rendering and support for a karaoke-style text-to-speechprogress bar in assistant messages so users can see the currently
spoken sentence and highlighted word during playback.

- Append TTS karaoke bar to AssistantMessageWidget when the message is
  the active TTS target and playback is speaking/paused/loading.
- Implement _buildKaraokeBar to render the active sentence with a
  highlighted word span, using ConduitCard and theme styles.
- Import conduit_components for shared UI primitives.
- Extend TextToSpeechState with sentence data:
  sentences, sentenceOffsets, activeSentenceIndex, and per-word
  progress (wordStartInSentence, wordEndInSentence).
- Add provider callbacks wiring: onSentenceIndex and
  onDeviceWordProgress handlers (hooked into TTS backend).
- Prepare sentence splitting and word-progress plumbing in the TTS
  provider (prepares data used to drive the karaoke display).

This change improves UX by visually indicating the spoken sentence
and current word during TTS playback, aiding comprehension and
accessibility.
2025-10-23 17:05:35 +05:30
cogwheel0
8ec411d6aa feat(tts): server chunked playback queue on server pathRefactor server-backedTS path to perform sentence chunking and
queued playback via a dedicated _startServerChunkedPlayback method
instead of generating a single monolithic audio blob.

This change simplifies the server flow, avoids constructing an entire
audio buffer in memory, and enables smoother playback and error
recovery. On errors, the code still falls back to device TTS.
2025-10-23 16:46:24 +05:30
cogwheel0
561e7dd616 feat(tts): server-backed TTS engine selection
Introduce server TTS support and engine selection while keeping
device TTS as the default.

- Add new persistence keys for storing TTS engine and selected
  server voice (ttsEngine, ttsServerVoiceId, ttsServerVoiceName).
- Extend TextToSpeechService to support two engines:
  TtsEngine.device (FlutterTts) and TtsEngine.server (remote audio).
- Wire in an AudioPlayer and optional ApiService to fetch raw
  audio bytes from the server and play them, with event hooks
  mapped to existing lifecycle callbacks.
- Implement fallback to device TTS on server errors or empty
  responses, and ensure player lifecycle (pause/stop/dispose)
  is handled when using server engine.
- Allow engine and preferred voice to be configured before
  initialization and updated at runtime via updateSettings.

This enables selecting a server-side voice and using a remote
TTS provider while preserving compatibility with the existing
device TTS implementation.
2025-10-23 16:31:15 +05:30
cogwheel0
6c81d68e59 feat: Add Text-to-Speech settings and customization options
- Introduced new preference keys for TTS settings: voice, speech rate, pitch, and volume.
- Updated SettingsService to handle TTS settings and persist them.
- Enhanced AppSettings to include TTS-related properties.
- Implemented TTS settings UI in AppCustomizationPage, allowing users to select voice and adjust speech parameters.
- Added localization support for TTS settings in multiple languages.
2025-10-17 14:40:44 +05:30
cogwheel0
4f6c10c857 feat: enhance text-to-speech and voice call services
- Added volume, speech rate, and pitch settings to the TextToSpeechService for improved audio control.
- Reset the accumulated response in VoiceCallService before sending messages to ensure accurate response handling.
- Enhanced the handling of socket events in VoiceCallService to manage streaming content and completion more effectively.
- Improved logging for better debugging and tracking of TTS and voice call states.
2025-10-08 13:35:24 +05:30
cogwheel0
37e5633c5c fix: tts 2025-09-21 20:18:21 +05:30
cogwheel0
c05644f731 feat: text to speech 2025-09-20 23:58:18 +05:30