间隔重复语言学习视频生成管线(Spaced Repetition Learning Video)
概述
通用语言学习视频管线:每句目标语言生成含朗读、词义分析、跟读暂停、复习段的视频。基于艾宾浩斯遗忘曲线安排复习,适用于任意目标语言与课程体系。原技能耦合点(具体语种、课程体系、输出目录、脚本路径)全部通过下方的「配置化输入」调整。
配置化输入(必填,先确定)
动手前明确以下参数,贯穿全流程:
| 配置 | 说明 | 示例 |
|---|---|---|
target_lang |
目标学习语言 | en / ja / de |
mt_lang |
界面翻译语言 | 中文 |
input |
句子/词条来源 | 课程索引 JSON(含 date, sentence, mt, analysis, difficulty, img_bg 等字段) |
tts_engine |
TTS 语音引擎 | 任意项目内 TTS 脚本 |
out_dir |
输出目录 | 视频产物目录 |
interval_days |
复习间隔(默认艾宾浩斯) | [1, 2, 4, 7, 15, 30] |
difficulty_levels |
难度分级 | simple / medium / hard |
> 本技能不再耦合「英语 / 某课程序列」,任何语言的句子课程都可通过改 input 输入复用整套管线。
核心脚本(占位角色,按项目替换)
| 角色 | 职责 |
|---|---|
main 脚本 |
主入口:生成学习视频 |
| 索引数据(input) | 句子课程索引,含 date / sentence / mt / analysis / difficulty / bg_path |
| TTS 脚本 | 语音引擎 |
管线流程
课程索引 → TTS朗读 → 字幕生成 → 跟读段 → 复习段 → 视频合成 → 存入输出目录
工作规范
艾宾浩斯复习算法(默认)
复习间隔:第 1、2、4、7、15、30 天各复习一次。
复习顺序从最旧的开始。
间隔天数可经 interval_days 调整。
视频结构
- 开场(标题+日期)
- 正式内容段(句子朗读 + 母语翻译 + 分析 + 跟读暂停)
- 复习段(已学句子列表,每个独立背景图)
- 结束
字幕规范
- 跟读段字幕在朗读完成后停留 2-3 秒
- 复习段字幕精确对齐音频时长
- 母语翻译显示在目标语言下方
难度分级
simple:简单(★)medium:中等(★★)hard:困难(★★★)
配图分段
正式内容段使用当前句子相关配图(按 difficulty 与句子主题决定),复习段每句使用独立背景图。图片路径约定:{out_dir}/images/bg.png。
使用方式
- 确定【配置化输入】各项
- 准备课程索引数据(input)
- 运行主脚本生成视频
- 校验字幕对齐、朗读停留、复习段完整性
与相邻技能的关系
- 配图生成可复用
content-illustration-packager/reusable-character-scene-composer的素材能力。 - 字幕渲染遇含 emoji 文本时,参考
ffmpeg-emoji-ass-subtitle。