Paul Bailey 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

Text to Audiobook

A full-stack application that converts long-form text into multi-voice audiobooks using Kokoro TTS (hexgrad/Kokoro-82M). The system automatically detects distinct roles/speakers in text, allows voice assignment per role, and generates high-quality audio.

Features

  • 🎭 Automatic role/speaker detection from text
  • 🎤 Multi-voice synthesis with Kokoro TTS
  • 🌍 Support for multiple languages (English, French, Japanese)
  • ⚡ Fast local processing (no cloud dependencies)
  • 📱 Responsive web interface
  • 🎵 Audio playback and download

Architecture

  • Frontend: React + TypeScript + Vite + Tailwind CSS
  • Backend: Python + FastAPI + Kokoro TTS
  • Deployment: Docker containerization

Quick Start

Prerequisites

  • Python 3.10+
  • Node.js 20.19+ or 22.12+
  • espeak-ng (system dependency)

Backend Setup

  1. Install espeak-ng:
# macOS
brew install espeak-ng

# Linux (Ubuntu/Debian)
sudo apt-get install espeak-ng
  1. Set up Python environment:
cd backend
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
pip install -r requirements.txt
  1. Run the backend:
uvicorn main:app --reload --host 0.0.0.0 --port 8000

Frontend Setup

  1. Install dependencies:
cd frontend
npm install
  1. Configure environment:
cp .env.example .env
  1. Run the frontend:
npm run dev
  1. Open http://localhost:5173 in your browser

Usage

  1. Enter Text: Paste your text with role markers (e.g., "Alice:", "[Narrator]")
  2. Assign Voices: Select a Kokoro voice for each detected role
  3. Configure: Choose language and playback speed
  4. Generate: Create your multi-voice audiobook
  5. Listen & Download: Play or save the generated audio

Project Structure

.
├── backend/              # FastAPI backend
│   ├── main.py          # API endpoints
│   ├── services/        # Business logic
│   ├── requirements.txt # Python dependencies
│   └── README.md
├── frontend/            # React frontend
│   ├── src/
│   │   ├── api/        # API client
│   │   ├── components/ # React components
│   │   └── App.tsx     # Main app
│   ├── package.json
│   └── README.md
└── README.md           # This file

Documentation

License

MIT

Description
No description provided
Readme 8.8 MiB
Languages
Python 66.6%
TypeScript 25.8%
Shell 2.8%
CSS 2.1%
JavaScript 1.3%
Other 1.4%