Scaling Audio Content Generation with LLMs and TTS for Language Learning
duolingo · Education · 2025 · source Agentic: no · promotional bias: med · source-backed · extracted with prompt 0.5.6 (schema v2)
Generated from extraction.json — do not edit by hand. Every claim cites verbatim source evidence; stated means the quote directly asserts the claim, implied means it supports it indirectly.
Problem
Domain: AI-generated language-learning audio content
Duolingo needed to scale DuoRadio from a promising but manually produced listening feature into many courses, languages, and episodes without compromising educational quality.
Constraints:
- Manual production required scripting, curriculum alignment, voice actors, and audio editing.
- Early LLM approaches produced scripts that needed too much manual editing.
- Translated scripts missed accuracy and proficiency-level requirements.
- Generated episodes had to preserve Duolingo's learning goals, grammar, vocabulary, and character experience.
- Audio production also needed scaling, not only script generation.
Architecture
Duolingo built an end-to-end DuoRadio generation pipeline. Curriculum content from existing lessons grounds prompts, Learning Designers refine evaluator prompts, learner session data standardizes exercise placement, Workflow Builder generates content at scale, TTS produces multilingual voiceovers, and audio hashing reuses intros/outros to reduce editing. Human expertise remains in prompt/evaluator design rather than per-episode production.
Diagram confidence: explicit (topology described by the source).
flowchart LR A["Learning curriculum content"] --> B["Script generation prompts"] B --> C["AI evaluator filters"] D["Learning Designer review"] --> C C --> E["Workflow Builder"] E --> F["TTS audio generation"] F --> G["Audio hashing cache"] F --> H["DuoRadio deployment"] G --> H E --> H
Components
| Component | Role | Interacts with |
|---|---|---|
Learning curriculum content |
Existing Duolingo lessons, sentences, and exercises used as grounding examples for generated scripts. | Script generation prompts |
Script generation prompts |
Generate DuoRadio script candidates from course-specific curriculum examples. | Learning curriculum content, AI evaluator filters |
AI evaluator filters |
Assess generated scripts for naturalness, grammar, coherence, logic, and learning criteria. | Learning Designer review, Workflow Builder |
Learning Designer review |
Designs prompts and iteratively raises evaluator quality standards. | AI evaluator filters |
Workflow Builder |
Internal content generation prototyping tool that generates DuoRadio content at scale. | AI evaluator filters, TTS audio generation |
TTS audio generation |
Automatically produces lifelike multilingual voiceovers. | Audio hashing cache, DuoRadio deployment |
Audio hashing cache |
Stores and retrieves pre-generated audio such as intros and outros. | TTS audio generation, DuoRadio deployment |
DuoRadio deployment |
Learner-facing delivery of generated episodes across courses and languages. | Workflow Builder |
Data flow
Existing curriculum sentences and exercises are supplied to the generative model to produce candidate scripts. AI evaluators filter scripts for naturalness, grammar, coherence, logic, and learning criteria. Standardized exercise ordering and learner-session data shape episode structure. Approved scripts move into TTS and audio hashing, then into end-to-end deployment.
3 supporting quotes
Why this architecture
The breakthrough was not more prompt constraints but curriculum-grounded generation plus evaluator filtering: Duolingo gave the model concrete learning examples, then used AI and Learning Designers to enforce quality before automating audio production.
3 supporting quotes
Models used: generative AI script models · generative AI evaluator prompts · Text-to-Speech models
Scale
- Manual production of 300 DuoRadio episodes took nearly a year.“Crafting just 300 episodes for a handful of courses took us nearly a year.”article, stated
- DuoRadio daily sessions grew from 500K to 5M in fewer than six months.“DuoRadio daily sessions grew from 500K to 5M in fewer than 6 months”article, stated
- The automated process scaled from 2 to 25+ courses and from 300 to 15,000+ episodes in under two quarters.“it took fewer than two quarters to go from 2 to 25+ courses and increase total episodes from 300 to 15,000+”article, stated
- Duolingo reports saving 99% of production costs.“increase total episodes from 300 to 15,000+ (while saving 99% of the costs)”article, stated
Alternatives considered (roads not taken)
Generate original scripts from scratch
Rejected because: The results were subpar and needed extensive manual editing.
Translate existing English episodes
Rejected because: Translations missed accuracy and proficiency-level requirements.
Free-form model sequencing of exercises
Rejected because: Quality was inconsistent until learner session data standardized order and placement.
Patterns
synthetic-data-generation (content-generation)
Generative models create large volumes of DuoRadio scripts from curriculum-grounded examples.
eval-driven-development (evaluation)
AI evaluator prompts filter scripts and are refined by Learning Designers over time.
human-in-the-loop-gate (governance)
Learning Designers design and refine generation and evaluation criteria, maintaining educational standards.
semantic-caching (optimization)
Audio hashing reuses pre-generated audio assets such as intros and outros.
Tradeoffs
Prompt design
Chose curriculum-grounded examples over more elaborate instruction constraints.
Rationale: Existing curriculum gave models specific patterns to follow and produced better scripts.
Audio production
Chose TTS plus audio hashing over voice actors and specialized manual editing for every episode.
Rationale: Automated voiceovers and cached audio assets reduced the audio-production bottleneck.
Gotchas (what bit them)
Naive script generation did not meet educational quality.
Root cause: The model lacked concrete curriculum patterns and produced content requiring extensive editing.
Resolution: Feed existing lesson sentences and exercises into prompts as domain examples.
English-only prompt instructions failed for non-English courses.
Root cause: Course-specific language and proficiency expectations were not captured by generic English instructions.
Resolution: Use language-specific content from each course curriculum.
Generation quality was variable even after curriculum grounding.
Root cause: Candidate scripts varied in naturalness, grammar, coherence, logic, and learning fit.
Resolution: Generate extra candidates and filter them through AI-powered evaluators refined by Learning Designers.
Evaluation
Duolingo evaluates scripts with AI-powered filters for naturalness, grammaticality, coherence, logic, and learning criteria, refined by Learning Designers.
Metrics: naturalness · grammaticality · coherence · logic · learning criteria · daily sessions · course and episode coverage
Outcomes
- DuoRadio expanded from 2 to 25+ courses.
- Total episodes grew from 300 to 15,000+.
- Daily sessions grew from 500K to 5M in fewer than six months.
- Duolingo reports 99% cost savings and much faster content expansion.
The system shifted production work from per-episode manual scripting/audio editing to curriculum-grounded generation, evaluator filtering, TTS, and deployment pipelines.