Commit Graph

24 Commits

Author SHA1 Message Date
c310f11484 feat: Add TTS engine selector UI in frontend
- Added engine selection buttons (Kokoro vs Piper) in VoiceAssignmentSection
- Implemented getEngines(), setEngine(), and getVoices() API client functions
- Engine selector dynamically loads available voices for selected engine
- Added visual feedback for active engine with descriptions
- Piper engine shows pitch control capability notice
- Voice dropdowns update automatically when switching engines
- Audio cache clears when switching engines for clean state

Users can now easily switch between Kokoro (high quality) and
Piper (fast with pitch control) directly from the UI.
2025-12-09 14:50:16 +00:00
b5c53604a6 Fix voice preview not updating when age category changes
- Clear all cached previews for a role when age changes
- Clear all cached previews for a role when voice changes
- Now preview correctly reflects the selected age speed modifier
2025-12-09 14:37:23 +00:00
69eb0b3507 Add voice preview and age category modifiers
Features:
- Voice preview button to test voices before generation
- Age category selection (young, teen, adult, old)
- Age categories adjust voice speed automatically:
  - Young: 1.15x (faster, energetic)
  - Teen: 1.08x (slightly faster)
  - Adult: 1.0x (normal)
  - Old: 0.85x (slower, measured)
- Preview caching to avoid regenerating same voice
- Backend /api/tts/preview endpoint for voice samples
- Frontend previewVoice API function

This allows users to hear how each voice sounds and adjust
character ages to make them sound younger or older.
2025-12-09 14:17:58 +00:00
a8636bcf71 Add segment splitting and editing in script review
- Added ability to edit segment text directly in textarea
- Added split segment button to divide segments at natural break points
- Added delete segment button to remove unwanted segments
- Split logic finds sentence/quote boundaries for natural splits
- All segments maintain speaker assignments after split
2025-12-09 13:55:16 +00:00
55f630a479 fix: downgrade to Tailwind v3 for stable CSS compilation
- Remove Tailwind v4 which has breaking changes
- Install Tailwind v3.4.0 (stable)
- Update PostCSS config for v3
- Ensure proper CSS compilation
2025-12-09 13:49:50 +00:00
a72cee105e fix: correct CSS import order for Tailwind v4
- Move Google Fonts import before Tailwind directives
- Fix PostCSS build warning
- Ensure proper CSS compilation

NOTE: Dev server must be restarted for changes to take effect
2025-12-09 13:31:41 +00:00
4a53c897c5 feat: create professional, polished UI with perfect spacing
- Add generous padding and spacing throughout (p-10, p-12)
- Constrain content width with max-w-4xl and max-w-5xl
- Increase font sizes for better hierarchy (text-3xl, text-lg)
- Add gradient backgrounds to cards and elements
- Implement smooth transitions and hover states
- Create professional progress stepper with labels
- Add shadow effects with color-matched glows
- Increase button padding and font sizes
- Add gradient borders on hover
- Implement proper visual breathing room
- Create polished, premium aesthetic
- Add smooth cubic-bezier transitions
- Improve form input styling with focus rings
- Create professional card hover effects
2025-12-09 13:29:48 +00:00
2f200aa61b feat: redesign UI with clean, modern SaaS aesthetic
- Remove excessive animations and gradients
- Implement clean card-based layout
- Add professional progress stepper with checkmarks
- Simplify color scheme to gray/indigo/purple
- Create minimal, elegant component designs
- Add subtle hover effects and transitions
- Improve typography and spacing
- Remove emoji overload, keep minimal icons
- Create professional button styles
- Implement clean form inputs with focus states
- Add proper visual hierarchy
- Simplify loading states and messages
- Create cohesive, modern user experience
2025-12-09 13:24:47 +00:00
fb294252c7 feat: create stunning premium UI with advanced design elements
- Add animated gradient backgrounds with floating particles
- Implement advanced glass morphism with enhanced blur effects
- Add Google Fonts Inter for professional typography
- Create sophisticated button animations with ripple effects
- Add progress indicator dots showing current step
- Implement card hover effects with smooth transforms
- Add animated gradient text with shimmer effects
- Create premium loading spinners with dual rings
- Add character counter to textarea
- Implement numbered badges for roles and segments
- Add gradient backgrounds to all cards and sections
- Create pulsing glow animations for important elements
- Add emoji icons throughout for visual appeal
- Implement responsive grid layouts for settings
- Add detailed subtitles and descriptions to sections
- Create success celebration with bouncing animation
- Add shadow effects with color-matched glows
- Implement smooth transitions and cubic-bezier easing
- Add visual hierarchy with varied font weights
- Create immersive, modern user experience
2025-12-09 13:20:20 +00:00
706ada866c feat: modernize UI with gradient design, glass morphism, and enhanced visual appeal
- Add purple/indigo gradient background throughout app
- Implement glass morphism effects on all cards
- Add gradient buttons with smooth hover animations
- Integrate emoji icons for better visual communication
- Enhance typography with improved font stack
- Add loading spinners and smooth transitions
- Improve color scheme with modern purple/indigo palette
- Add glowing shadows and depth effects
- Maintain responsive design and touch-friendly interactions
2025-12-09 12:29:40 +00:00
4861c343fc feat: Update VoiceAssignmentSection to trigger script generation
- Changed 'Generate Audiobook' button to 'Next: Review Script'
- Added 'Skip Review & Generate' button as alternative
- Updated button handlers to call handleGenerateScript and handleSkipReview
- Updated button styling: primary button now blue for review, green for skip
- Maintains backward compatibility with optional onSkipReview prop

Requirements: 15.1, 15.8
2025-12-09 12:11:41 +00:00
92094479c1 feat: implement script review workflow in App component
- Add 'review' phase to application state
- Add scriptSegments state variable for storing AI-generated segments
- Add isGeneratingScript loading state for script generation
- Implement handleGenerateScript() to call API and transition to review phase
- Implement handleSkipReview() to bypass review and go directly to generation
- Implement handleSegmentChange() to update speaker assignments in segments
- Update handleGenerate() to use edited segments when available
- Wire up ScriptReviewSection component in review phase
- Update phase transitions: input → assignment → review → generated
- Add loading indicator for script generation

Validates Requirements: 15.1, 15.3, 15.6, 15.7, 15.8
Task: 22. Update App component for script review workflow
2025-12-09 12:09:15 +00:00
bc768f4f45 Implement ScriptReviewSection component
- Created ScriptReviewSection component with script segment display
- Added speaker dropdown for each segment to allow editing assignments
- Implemented Generate Audiobook and Skip Review buttons
- Styled for readability and mobile responsiveness with Tailwind CSS
- Text segments displayed as read-only (only speaker assignment is editable)
- Follows existing component patterns from VoiceAssignmentSection
- Validates Requirements 15.3, 15.4, 15.5, 15.6, 15.8
2025-12-09 11:53:04 +00:00
d737b1f7ea feat: implement script generation API client function
- Add ScriptSegment, ScriptRequest, and ScriptResponse TypeScript interfaces
- Implement generateScript() function to call /api/tts/script endpoint
- Update GenerateRequest interface to support optional segments array
- Add comprehensive error handling for script generation
- Validates Requirements 15.1, 15.2
2025-12-09 11:47:30 +00:00
1c495079eb First Push 2025-12-09 11:17:24 +00:00
5c7b339bdf Add all 54 Kokoro TTS voices and 9 language support
- Expanded from 8 to 54 voices across 9 languages
- American English: 21 voices (11 female, 10 male)
- British English: 8 voices (4 female, 4 male)
- Spanish: 3 voices (1 female, 2 male)
- French: 1 voice (1 female)
- Hindi: 4 voices (2 female, 2 male)
- Italian: 2 voices (1 female, 1 male)
- Japanese: 5 voices (4 female, 1 male)
- Portuguese: 3 voices (1 female, 2 male)
- Chinese: 7 voices (4 female, 4 male)
- Updated backend to support all language codes (a,b,e,f,h,i,j,p,z)
- Added comprehensive voice documentation
2025-12-09 11:14:28 +00:00
ff2c8f8404 docs: Create comprehensive README documentation
- Updated main README with detailed setup, Kokoro model configuration, and troubleshooting
- Enhanced backend README with API documentation, Docker setup, and testing instructions
- Improved frontend README with component details, deployment guide, and development tips
- Added workflow testing steps and common error solutions
- Documented all supported languages, voices, and configuration options

Implements task 14 from text-to-audiobook spec
Requirements: 13.1, 13.2, 13.3, 13.4, 13.5
2025-12-09 10:11:15 +00:00
50b0ef792a feat: Add responsive styling and mobile support
- Applied Tailwind CSS responsive classes across all components
- Implemented mobile-first design approach with breakpoints (sm, md, lg)
- Added touch-friendly interactions with min-h-[44px] touch targets
- Enhanced App.tsx with responsive padding, headings, and alerts
- Updated TextInputSection with responsive textarea and full-width mobile button
- Improved VoiceAssignmentSection with flexible layouts and mobile-optimized controls
- Enhanced AudioPlayerSection with responsive sizing and touch support
- Added custom CSS for range slider with larger thumb for mobile
- Improved select dropdowns with visible arrows and proper padding
- Added touch-manipulation class to prevent double-tap zoom
- Added active states for better mobile feedback
- Updated index.html with proper title and meta description
- Created RESPONSIVE_IMPROVEMENTS.md documentation

Requirements: 12.1, 12.2, 12.3, 12.4
2025-12-09 09:34:23 +00:00
e5bd7dcd74 feat: implement main App component with workflow orchestration
- Add complete state management for text, phases, roles, voice assignments
- Implement phase transitions: input → assignment → generated
- Wire up text input to role detection API
- Wire up voice assignment to audio generation API
- Add loading states for async operations (role detection and generation)
- Implement comprehensive error handling and display
- Add warning messages for long text (>5000 chars) in assignment and generation phases
- Ensure text persists across all workflow phases
- Validates Requirements: 1.5, 6.1, 8.1, 8.2, 8.3, 8.4
2025-12-09 09:30:34 +00:00
ea77b17363 Implement audio player component with HTML5 audio and download functionality 2025-12-09 09:29:05 +00:00
e92d0349bf Implement voice assignment component (Task 10)
- Created VoiceAssignmentSection component with role-to-voice mapping
- Added language selector with American English, British English, French, Japanese
- Added speed slider (0.5x - 1.5x range)
- Implemented Generate Audiobook button with proper disabled state
- Integrated component into App.tsx with state management
- Added role detection API call on text submission
- Validates all roles have assigned voices before enabling generation

Requirements: 3.1, 3.2, 3.3, 3.4, 3.5, 3.6, 4.1, 4.2, 4.3, 4.4, 5.1, 5.2, 5.3
2025-12-09 07:48:19 +00:00
85a71fac2c Implement text input component (Task 9)
- Create TextInputSection component with large multiline textarea
- Add 'Next: Assign voices' button
- Implement text validation (non-empty)
- Show validation message for empty text
- Disable button when text is empty
- Update App.tsx to integrate TextInputSection
- Requirements: 1.1, 1.2, 1.3, 1.4
2025-12-09 07:39:36 +00:00
50d657f501 feat: implement API client module for frontend
- Create TypeScript interfaces (Role, RoleWithVoice, RolesResponse, GenerateRequest)
- Implement detectRoles() function for role detection
- Implement generateAudiobook() function for audio generation
- Implement checkHealth() function for backend health checks
- Add comprehensive error handling for network failures
- Use VITE_API_BASE_URL environment variable for configuration
- Add ApiError class for structured error handling

Requirements: 9.6, 9.7
2025-12-09 01:31:01 +00:00
f4bc759007 Task 1: Set up project structure and dependencies
- Created backend directory with FastAPI project structure
- Created frontend directory with React + TypeScript + Vite
- Configured Python virtual environment and installed dependencies (fastapi, uvicorn, kokoro, soundfile, python-multipart)
- Verified espeak-ng system dependency is installed
- Configured Node.js project with TypeScript, React, and Vite
- Set up Tailwind CSS for styling
- Set up environment variable configuration for both projects
- Created comprehensive README documentation

Requirements: 9.6, 10.2, 11.1
2025-12-09 00:47:44 +00:00