- name
- bedtime-story
- description
- |
中文睡前故事生成器
适用范围
此 Skill 用于生成可播放的多角色中文睡前故事音频。
能力边界:
- 依赖
LLM生成故事文本,TTS合成多角色语音 - 支持自定义孩子姓名、年龄、兴趣爱好
- 支持连载模式,跨会话保持世界观和情节连贯
- 输出完整 MP3 音频 + 故事文本 + 状态文件
不做:
- 实时语音对话或 ASR 识别
- 视频或动画生成
- 英文故事
默认配置
child_name:小朋友age:5interests:冒险,动物episodes:1(单集)
音色分配
| 角色 | voice_id | speed | pitch |
|---|---|---|---|
| 旁白 narrator | male_0004_a | 0.9 | 0 |
| 主角 protagonist | child_0001_a | 1.0 | 0 |
| 小伙伴 sidekick | child_0001_b | 1.0 | 0 |
| 长者 elder | male_0018_a | 0.85 | -2 |
工作流
- 初始化
- 读取 --child-name、--age、--interests 参数 - 若 --continue,从 story_state.json 加载已有世界观和角色
- 世界观与角色创建(首次运行)
- LLM 生成世界名称、背景设定、4个角色(旁白/主角/小伙伴/长者) - 主角名称默认使用孩子姓名
- 故事生成
- LLM 生成 12-20 段 segments,每段标注 speaker 和 text - 连载模式下传入上集摘要,保持情节连贯
- TTS 多角色合成
- 逐段根据 speaker 选择对应音色参数 - 合成每段音频
- 音频拼接
- MP3 帧独立可解码,直接二进制追加拼接 - 无需 ffmpeg
- 保存输出
- story_state.json:世界观+角色+情节摘要 - story_ep{N}.txt:故事文本 - story_ep{N}.mp3:完整音频
Prompt 模块
数据结构
详见 references/state_schema_cn.md。
直接运行
pip install -r requirements.txt
# 首次生成
python scripts/run_story.py --child-name "小明" --age 5 --interests "恐龙,太空"
# 连载续写
python scripts/run_story.py --continue
# 不调用 TTS,仅输出文本
python scripts/run_story.py --child-name "小红" --age 7 --interests "魔法,精灵" --no-tts
# 生成多集
python scripts/run_story.py --child-name "小明" --age 5 --interests "恐龙,太空" --episodes 3环境变量参考:.env.example
接口约定:
- LLM 读取
STORY_LLM_API_KEY,回退到IME_MODEL_API_KEY - TTS 读取
STORY_TTS_API_KEY,回退到SENSEAUDIO_API_KEY