chore: 合并上游更新 — ttsVoices 映射及执黑先行配置

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
lc
2026-05-12 13:02:32 +08:00
parent 163a83ab6d
commit 2449fbabdf
4 changed files with 43 additions and 15 deletions

View File

@@ -1,5 +1,5 @@
{
"jianyingDraftPath": "/Users/lc/Movies/JianyingPro/User Data/Projects/com.lveditor.draft",
"jianyingDraftPath": "/Users/lc/Movies/JianyingPro/User Data/Projects/com.lveditor.draft",
"capcutMateDir": "/Users/lc/capcut-mate",
"capcutMateApiBase": "http://capcut.muyetools.cn/openapi/capcut-mate/v1",
"imgbbApiKey": "deprecated",

View File

@@ -55,7 +55,7 @@ function getAudioDuration(filePath) {
return parseFloat(out.trim())
} catch {
const stat = fs.statSync(filePath)
return stat.size * 8 / 32000
return stat.size * 8 / 160000
}
}

View File

@@ -13,7 +13,7 @@
}
},
"ttsVoice": "斯内普",
"ttsInstruction": "用沉稳有力的男性声音朗读,语速适中,语气坚定有力,像是一个有经历有力量的人在平静地讲述生活的方向",
"ttsInstruction": "中低音,胸腔共鸣。带一点气声,像在你耳边说话,不是在台上演讲。咬字松弛,不播音,像个真实的人。越重要的话说得越轻、越慢。冷静但不冷漠,是看透之后的平静。偶尔一句冷幽默,面无表情说出来。让人觉得他什么都见过,但还是愿意坐下来跟你聊。很有磁性,性张力的男性声音,像个黑帮老大。但是你特别想跟他做朋友,很亲切。",
"storyboardPrompt": "prompts/分镜.md",
"imageStylePrompt": "prompts/图片提示词.md",
"videoStylePrompt": "prompts/视频提示词.md",

View File

@@ -151,21 +151,49 @@
---
## 六、时间线规则(固化,不可违反
## 六、时间线铁律(违反则整条打回重写,不可妥协
- TTS 语速 = **1.15x**(固定)
- 文案总音频时长 = 字数 ÷ 5字/秒)
- Kling 可灵视频片段固定 **6 秒**
- 每个 shot 的 TTS 估算script字数÷5必须 ≤ 6 秒
- **TTS > 6s → 强制在语义断点拆分,拆分后 script = 语义子句,禁止重复完整句**
- 合并后所有 script = 原文一字不差
### ⚠️ 铁律一:音频是神圣的,不可修改
- TTS 语速 = **1.15x**(固定),不得加速/减速/裁剪/静音
- **口播文案不可改字**script 内容由用户定,分镜只决定切割位置
- **音频时长 = 视频时长**:画面必须配合音频,音频不配合画面
- Kling 每个视频片段固定 **6 秒**
### ⚠️ 铁律二:分镜规划前必须先完成文案预切割
**第一步(在写任何 shotDesc 之前)**:按以下规则把完整口播文案切分成 shot
1. 估算公式:每个 shot 的 TTS 时长 = **script 字数 ÷ 5**(秒)
- 语速基准1.15x 正常中文说话速率 ≈ 5字/秒
2. 每个 shot 估算时长必须 **≤ 6 秒**= 最多 **30字**
3. 相邻两段合并后 ≤ 30字 → **强制合并**为一个 shot
4. 任何 shot 估算 > 6s → **强制在语义断点处拆分**
| TTS 估算 | 决策 |
|---------|------|
| < 3 秒 | 强制合并至相邻 Shot |
| 35 秒 | 优先合并;如独立存在,可接受 |
| 56 秒 | 可单独 |
| > 6 秒 | **强制拆成 2+ 个 Shot每个新 shot script = 语义子句** |
| < 3秒<15字 | 强制合并至相邻 Shot(合并后 ≤ 30字 |
| 36秒1530字 | 可独立 shot |
| > 6秒>30字 | **强制拆分,每新 shot ≤ 30字** |
### ⚠️ 铁律三:视频 vs 音频的唯一合法处理策略
| 情况 | ratio = 视频(6s) ÷ 音频 | 策略 |
|------|------------------------|------|
| 视频 > 音频ratio 1.12x | ✅ 视频加速speed_up|
| 视频 >> 音频ratio > 2x | ✅ 视频截断trim|
| 视频 ≈ 音频ratio 0.91.1x | ✅ 无需调整none|
| **音频 > 视频ratio < 0.9** | ❌ **禁止!** 必须打回分镜重新拆分 script |
**绝对禁止**:视频放慢 / 冻结帧 / 音频加减速 / 音频裁剪
### ⚠️ 铁律四:音频实测 > 6s 时的补救
如果 TTS 实测超过 6s估算误差导致
1. 在语义断点处把 **音频文件物理切割**ffmpeg -t / -ss
2. 把对应 script 同步切分为多个 shot
3. 每个新 shot 独立配一个 Kling 6s 视频
4. **禁止**:拉伸视频 / 截断音频内容 / 改变语速
---