feat: Implement Milestone 2 - TTS Customization (Deferred) #18

Closed
opened 2026-04-04 14:51:17 +00:00 by KnallerKalle · 1 comment
KnallerKalle commented 2026-04-04 14:51:17 +00:00 (Migrated from github.com)

Milestone 2 (TTS Customization) - Deferred from v0.2.0, now targeting v0.3.0

Context

Originally part of Phase 2 development, deferred to focus on core features. Now scheduled for v0.3.0 release.

Features to Implement

2.1 Voice Preview Playback ✅ TODO

  • Preview voices in settings before selecting
  • Play sample text with each voice
  • Real-time voice testing
  • Integration with existing voice selection

2.2 Custom Voice per Lesson ✅ TODO

  • Override default voice per lesson
  • Lesson-specific voice settings
  • Voice change with regeneration option
  • Support for voice switching

2.3 Playback Speed Memory ✅ TODO

  • Remember speed per lesson
  • Save speed preferences
  • Auto-apply last used speed
  • Global vs lesson-specific speed control

2.4 Advanced Voice Controls ✅ TODO

  • Pitch adjustment (if API supports)
  • Rate variations beyond 0.5x-2.0x
  • Voice effects/volume normalization
  • Pause/resume with voice continuation

Dependencies

  • Requires system TTS voices to be available
  • Integration with existing TTS API
  • Must work with AudioPlayer component
  • Issue #10: Enhanced Audio Player (CLOSED)
  • Issue #16: Notification System (CLOSED)
  • Issue #17: v0.2.0 Release (CLOSED)
  • Milestone 3 Detail: Lesson Detail View

Acceptance Criteria

  • Users can preview voices in settings
  • Voice preview works with sample text
  • Lessons can have custom voice assignments
  • Playback speed persists per lesson
  • Voice changes regenerate audio
  • All features work offline (when voice is downloaded)
  • UI is responsive and accessible
  • TypeScript types updated

Priority

Medium - User experience enhancement, not blocking

Estimated Effort

2-3 days

Phase

Phase 3 - v0.3.0 Release

Milestone 2 (TTS Customization) - Deferred from v0.2.0, now targeting v0.3.0 ## Context Originally part of Phase 2 development, deferred to focus on core features. Now scheduled for v0.3.0 release. ## Features to Implement ### 2.1 Voice Preview Playback ✅ TODO - Preview voices in settings before selecting - Play sample text with each voice - Real-time voice testing - Integration with existing voice selection ### 2.2 Custom Voice per Lesson ✅ TODO - Override default voice per lesson - Lesson-specific voice settings - Voice change with regeneration option - Support for voice switching ### 2.3 Playback Speed Memory ✅ TODO - Remember speed per lesson - Save speed preferences - Auto-apply last used speed - Global vs lesson-specific speed control ### 2.4 Advanced Voice Controls ✅ TODO - Pitch adjustment (if API supports) - Rate variations beyond 0.5x-2.0x - Voice effects/volume normalization - Pause/resume with voice continuation ## Dependencies - Requires system TTS voices to be available - Integration with existing TTS API - Must work with AudioPlayer component ## Related Issues - Issue #10: Enhanced Audio Player (CLOSED) - Issue #16: Notification System (CLOSED) - Issue #17: v0.2.0 Release (CLOSED) - Milestone 3 Detail: Lesson Detail View ## Acceptance Criteria - [ ] Users can preview voices in settings - [ ] Voice preview works with sample text - [ ] Lessons can have custom voice assignments - [ ] Playback speed persists per lesson - [ ] Voice changes regenerate audio - [ ] All features work offline (when voice is downloaded) - [ ] UI is responsive and accessible - [ ] TypeScript types updated ## Priority **Medium** - User experience enhancement, not blocking ## Estimated Effort 2-3 days ## Phase Phase 3 - v0.3.0 Release
KnallerKalle commented 2026-04-09 10:19:56 +00:00 (Migrated from github.com)

✅ Implementation Complete

This issue has been fully implemented in commit 34fb602.

What Was Implemented

Enhanced TTS Service (src/lib/enhancedTTS.ts):

  • ✅ Voice preview playback with sample text in DE/EN
  • ✅ Custom voice selection per session with quality ranking (Neural/Standard/Basic)
  • ✅ Real-time parameter controls: Speed (0.5x-2.0x), Pitch (0.5-2.0), Volume (0-100%)
  • ✅ User preference persistence via localStorage
  • ✅ Voice filtering by locale with automatic best voice selection
  • ✅ Professional UI with sliders and quality indicators

Settings UI Integration:

  • Voice dropdown with quality indicators
  • Real-time value displays for all parameters
  • Preview button with locale-appropriate sample text
  • Reset to defaults functionality

Build Status

✅ TypeScript compilation successful
✅ No build errors
✅ All null safety checks implemented

## ✅ Implementation Complete This issue has been fully implemented in commit `34fb602`. ### What Was Implemented **Enhanced TTS Service** (`src/lib/enhancedTTS.ts`): - ✅ Voice preview playback with sample text in DE/EN - ✅ Custom voice selection per session with quality ranking (Neural/Standard/Basic) - ✅ Real-time parameter controls: Speed (0.5x-2.0x), Pitch (0.5-2.0), Volume (0-100%) - ✅ User preference persistence via localStorage - ✅ Voice filtering by locale with automatic best voice selection - ✅ Professional UI with sliders and quality indicators **Settings UI Integration**: - Voice dropdown with quality indicators - Real-time value displays for all parameters - Preview button with locale-appropriate sample text - Reset to defaults functionality ### Build Status ✅ TypeScript compilation successful ✅ No build errors ✅ All null safety checks implemented
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Kalle/ATM#18
No description provided.