Files
audiobook/backend
Paul Bailey 77437348ed Implement role detection service with pattern matching
- Created RoleDetector class with colon and bracket pattern extraction
- Implemented role deduplication logic
- Added fallback to default 'Narrator' role when no patterns found
- Created /api/tts/roles endpoint using RoleDetector
- Added comprehensive test suite for role detection
- All tests passing (7/7)

Requirements: 2.1, 2.2, 2.3, 2.4, 2.5, 2.6
2025-12-09 01:04:09 +00:00
..
2025-12-09 00:57:46 +00:00

Text to Audiobook Backend

FastAPI backend service for converting text to multi-voice audiobooks using Kokoro TTS.

Setup

Prerequisites

  • Python 3.10 or higher
  • espeak-ng (system dependency)

Install espeak-ng

macOS:

brew install espeak-ng

Linux (Ubuntu/Debian):

sudo apt-get update
sudo apt-get install espeak-ng

Python Environment Setup

  1. Create a virtual environment:
python -m venv venv
  1. Activate the virtual environment:
# macOS/Linux
source venv/bin/activate

# Windows
venv\Scripts\activate
  1. Install dependencies:
pip install -r requirements.txt
  1. Create environment file:
cp .env.example .env

Running the Server

uvicorn main:app --reload --host 0.0.0.0 --port 8000

The API will be available at http://localhost:8000

API documentation: http://localhost:8000/docs

API Endpoints

  • GET /api/health - Health check endpoint
  • POST /api/tts/roles - Detect roles in text
  • POST /api/tts - Generate audiobook