A web application for generating audio from vocabulary lists using OpenAI's Text-to-Speech API.
- Extract vocabulary from PDF files using OCR
- Create and manage vocabulary lists
- Generate audio files from vocabulary lists
- Support for multiple languages (Dutch, Turkish, Russian)
- Manual text input for vocabulary extraction
- Parallel processing for faster extraction (OCR and AI processing)
- Configurable parallel processing settings
- Rate limiting for API calls
-
Get an OpenAI API Key
- Visit OpenAI API
- Create a new API key
- Make sure you have credits in your OpenAI account
-
Run the Application
- Open
index.htmlin your web browser - When prompted, enter your OpenAI API key
- The API key will be stored in memory for the current session
- Open
-
From PDF Files
- Click "Upload PDF" and select a PDF file
- Choose whether to include Russian translations
- Enable OCR if the PDF contains images or scanned text
- Configure parallel processing settings (optional):
- Enable/disable parallel processing
- Set max OCR workers (1-8)
- Set max AI workers (1-16)
- Adjust text chunk size (1000-5000 characters)
- Click "Extract Vocabulary"
-
Manual Input
- Click "Manual Input"
- Paste or type your text
- Click "Process Text"
-
Manual Creation
- Click "Create New List"
- Add vocabulary items manually
- Save your list
- Select a vocabulary list
- Choose your preferred voices for each language
- Set the number of items per audio file
- Choose generation mode (parallel or sequential)
- Click "Generate Audio"
- Download the generated audio files
- API keys are never stored on disk
- API keys are only stored in browser memory during the session
- No sensitive data is sent to any server except OpenAI's API
- Modern web browser with JavaScript enabled
- OpenAI API key with credits
- Internet connection for API calls
- API Key Error: Make sure your API key is valid and you have credits
- PDF Extraction Issues: Try enabling OCR for scanned documents
- Audio Generation Fails: Check your internet connection and API key validity
- Parallel Processing Issues:
- Reduce the number of concurrent workers if you experience timeouts
- For large PDFs, increase chunk size to reduce the number of API calls
- Monitor your OpenAI API rate limits
VoiceGenerator/
├── index.html # Main application page
├── script.js # Application logic
├── styles.css # Styling
├── server.py # Optional local server
├── package.json # Dependencies (if using npm)
└── README.md # This file