Automated Listening Test Generator
A web app that automatically generates listening test scripts, audio, and questions, with per-speaker accent and speed settings and an audio playback UI. Live in production.
Duration
Contract development
Team
1-2 people
01 // OVERVIEW
Project Overview
A web app that automatically generates English listening test scripts, audio, and questions in the browser. Users configure a monologue/dialogue format, CEFR level, speaker nationality, accent, and speed to generate a script, then synthesize audio via Google TTS. It includes per-segment blank-time settings, a playback UI, and folder management, and is live in production on Cloudflare Pages.
02 // KEY FEATURES
Key Features
Automatic script and question generation from settings
Specifying a topic, keywords, CEFR level, number of speakers (2-5), and each speaker's nationality automatically generates a listening script and multiple-choice questions. Scripts can be edited and regenerated directly in the browser.
Per-speaker accent, speed, and gender settings
Each speaker's accent can be set from 7 regions, including American, British, and Australian English, along with gender and speed (0.5x-1.5x). The blank time between lines can also be adjusted individually.
Folder management and audio playback UI
Generated tests are saved and managed by folder, with audio segments playable individually or continuously as a full track. Also supports WAV file download and QR code output.
03 // TECHNICAL DEEP-DIVE
Technical Highlights
Solution
Ensuring precise blank insertion and WAV concatenation
Required precisely decoding and concatenating blank seconds after each line using the Web Audio API. Fixed a bug where JSON responses were mistakenly saved as audio, and used displayIndex for accurate input mapping so the order and timing of every segment lined up correctly.
04 // IMPACT & RESULTS
Results
Live
Running in production on Cloudflare Pages
7 regions
Supports accent-specific speech synthesis
Fully automated
Generates script, questions, and audio in one pipeline