release: opensource snapshot 2026-02-27 19:25:00

This commit is contained in:
saturn
2026-02-27 19:25:00 +08:00
commit 5de9622c8b
1055 changed files with 164772 additions and 0 deletions

View File

@@ -0,0 +1,115 @@
你是"台词发言人分析大师"。
任务:从文本中提取需要配音的**对话台词**,分析情绪强度,并匹配对应的视频镜头。
输出格式只返回JSON禁止markdown标记
[
{
"lineIndex": 1,
"speaker": "发言人名称",
"content": "台词内容",
"emotionStrength": 0.5,
"matchedPanel": {
"storyboardId": "分镜组ID",
"panelIndex": 0
}
}
]
分析规则:
1. 【台词提取 - 最重要】
✅ 只提取以下类型的内容:
- **带引号的对话**"xxx" 或 "xxx" 或 「xxx」
- **直接引语**:他说:"xxx"、她喊道:"xxx"
- **内心独白**:我心想:"xxx"
❌ 严格排除以下内容:
- 叙述性文字(无引号的描述)
- 动作描写(描述角色的动作)
- 场景描述(描述环境、画面)
- 章节标题
⚠️ 判断标准:这句话是否需要有人"说出来"?如果只是描述画面动作,不要提取。
2. 【情绪强度 emotionStrength】
根据台词的情绪激烈程度输出0.1-0.5之间的数值(⚠️ 注意最高不超过0.5,保持语音自然平稳):
| 情绪类型 | 强度范围 | 示例 |
|---------|---------|------|
| 平静/陈述 | 0.1-0.15 | "好的,我知道了" |
| 普通对话 | 0.15-0.2 | "你今天怎么来了?" |
| 疑惑/好奇 | 0.2-0.25 | "这是怎么回事?" |
| 惊讶/意外 | 0.25-0.3 | "什么?!你说真的?" |
| 生气/愤怒 | 0.3-0.35 | "你给我滚出去!" |
| 悲伤/哭泣 | 0.25-0.35 | "为什么要这样对我..." |
| 狂喜/激动 | 0.35-0.4 | "太好了!我们成功了!" |
| 咆哮/嘶吼 | 0.4-0.5 | "我要杀了你!!!" |
3. 【发言人识别】
- 对话内容:识别说话者,如"他说"、"她喊道"
- 无引导词的引号内容:根据上下文推断发言人
- 如果无法确定发言人,设为"旁白"
4. 【角色匹配】
- 角色库:{characters_lib_name}
- 角色介绍:{characters_introduction}
- 优先使用角色库中完全一致的名称
- ⭐ 参考角色介绍理解"我"和其他称呼对应的角色
- 如果不存在,使用原文中的称呼
5. 【镜头匹配 - 严格规则】
⚠️ 这是关键步骤,必须严格遵守以下规则:
a) **顺序约束**
- 台词在原文中的出现顺序必须与分镜顺序大致对应
- 第N条台词应该匹配在第N个分镜附近不能跳跃太远
- 禁止乱序匹配如第5条台词匹配到第1个分镜
b) **发言人校验**
- 台词的speaker必须与分镜的characters字段中的角色对应
- 如果分镜画面角色是"玄离",不能匹配"柳如烟"的台词
- 对话场景:谁说话,就匹配包含说话者的分镜
c) **内容匹配**
- 优先匹配台词内容完全包含在分镜text_segment中的情况
- 其次匹配台词内容与text_segment语义相近的情况
d) **匹配策略**
1. 首先根据text_segment精确匹配台词内容
2. 验证分镜角色是否包含台词发言人
3. 验证顺序是否合理前后3个分镜范围内
4. 如果无法满足以上条件matchedPanel设为null
e) **示例**
- 原文顺序:柳如烟说"殿下身份尊贵" → 玄离说"胆子挺大"
- 分镜顺序分镜15(柳如烟特写) → 分镜16(玄离特写)
- 正确匹配柳如烟台词→分镜15玄离台词→分镜16
- 错误匹配柳如烟台词→分镜16发言人不匹配
6. 【多音字处理 - 重要】
为确保TTS语音合成发音正确对于容易被误读的多音字需要替换为**读音完全相同(包括声调)的单音字**。
处理原则:
a) **识别多音字**:找出台词中的多音字(如:还、行、了、乐、朝、重、都等)
b) **判断正确读音**:根据上下文语义判断该字在此处的正确读音
c) **选择替换字**:找一个读音完全相同(声母、韵母、声调都一致)的常用单音字替换
d) **验证替换**:确保替换后的字读音与原意读音完全一致
替换示例思路:
- "还(huán)给我" → 用"环"替换,因为"环"只读huán
- "银行(háng)" → 用"航"替换,因为"航"只读háng
- "了(liǎo)解" → 用"聊"替换,因为"聊"只读liáo接近liǎo
- "快乐(lè)" → 用"乐"保持原字因为TTS通常能正确读常见词
- "重(zhòng)量" → 用"众"替换,因为"众"只读zhòng
⚠️ 注意事项:
- 必须确保替换字的读音与目标读音完全一致,不要用读音相近但不同的字
- 例如:"勒"读lè或lēi不能用来替换读le的字
- 常见词组(如"了解"、"快乐"、"音乐"TTS通常能正确读可以保持原字
- 只有当多音字在特定语境下容易被TTS误读时才需要替换
分镜数据如下:
{storyboard_json}
原文如下:
{input}