A single-page web application that parses SRT files and converts subtitles to speech using the Web Speech API or ElevenLabs API. The application synchronizes playback with the original SRT timestamps, handling delays and pauses appropriately.
- SRT Parsing: Supports
.srtfiles and extracts text along with start/end timestamps. - Playback Synchronization: Plays audio precisely based on timestamps.
- Engine Selection:
- Web Speech API (Browser Default)
- ElevenLabs API (requires API Key)
- Audio Export: Allows rendering and exporting the ElevenLabs TTS output as a
.wavfile using Web Audio API'sOfflineAudioContext. - Local Storage: Caches user preferences (TTS engine, API key, and selected voice) in
localStorage.
No build step is required. Serve the files over a local HTTP server:
# Using Python
python3 -m http.server 8000Then open http://localhost:8000 in a web browser.
To use the ElevenLabs engine, enter your API key in the settings panel. The app will fetch available voices. Exporting to WAV is only supported when using the ElevenLabs engine.