chore: 合并上游更新 — ttsVoices 映射及执黑先行配置
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -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",
|
||||
@@ -38,4 +38,4 @@
|
||||
"斯内普": "cosyvoice-v3.5-plus-bailian-fa8787c0f70b4ba2a907c35511e6a6f6",
|
||||
"布拉德": "cosyvoice-v3.5-plus-bailian-574be4b7013a4e1f924de08fa8b9bdef"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
}
|
||||
},
|
||||
"ttsVoice": "斯内普",
|
||||
"ttsInstruction": "用沉稳有力的男性声音朗读,语速适中,语气坚定有力,像是一个有经历有力量的人在平静地讲述生活的方向",
|
||||
"ttsInstruction": "中低音,胸腔共鸣。带一点气声,像在你耳边说话,不是在台上演讲。咬字松弛,不播音,像个真实的人。越重要的话说得越轻、越慢。冷静但不冷漠,是看透之后的平静。偶尔一句冷幽默,面无表情说出来。让人觉得他什么都见过,但还是愿意坐下来跟你聊。很有磁性,性张力的男性声音,像个黑帮老大。但是你特别想跟他做朋友,很亲切。",
|
||||
"storyboardPrompt": "prompts/分镜.md",
|
||||
"imageStylePrompt": "prompts/图片提示词.md",
|
||||
"videoStylePrompt": "prompts/视频提示词.md",
|
||||
|
||||
@@ -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 |
|
||||
| 3–5 秒 | 优先合并;如独立存在,可接受 |
|
||||
| 5–6 秒 | 可单独 |
|
||||
| > 6 秒 | **强制拆成 2+ 个 Shot,每个新 shot script = 语义子句** |
|
||||
| < 3秒(<15字) | 强制合并至相邻 Shot(合并后 ≤ 30字) |
|
||||
| 3–6秒(15–30字) | 可独立 shot |
|
||||
| > 6秒(>30字) | **强制拆分,每新 shot ≤ 30字** |
|
||||
|
||||
### ⚠️ 铁律三:视频 vs 音频的唯一合法处理策略
|
||||
|
||||
| 情况 | ratio = 视频(6s) ÷ 音频 | 策略 |
|
||||
|------|------------------------|------|
|
||||
| 视频 > 音频,ratio 1.1–2x | ✅ 视频加速(speed_up)|
|
||||
| 视频 >> 音频,ratio > 2x | ✅ 视频截断(trim)|
|
||||
| 视频 ≈ 音频,ratio 0.9–1.1x | ✅ 无需调整(none)|
|
||||
| **音频 > 视频,ratio < 0.9** | ❌ **禁止!** 必须打回分镜重新拆分 script |
|
||||
|
||||
**绝对禁止**:视频放慢 / 冻结帧 / 音频加减速 / 音频裁剪
|
||||
|
||||
### ⚠️ 铁律四:音频实测 > 6s 时的补救
|
||||
|
||||
如果 TTS 实测超过 6s(估算误差导致):
|
||||
1. 在语义断点处把 **音频文件物理切割**(ffmpeg -t / -ss)
|
||||
2. 把对应 script 同步切分为多个 shot
|
||||
3. 每个新 shot 独立配一个 Kling 6s 视频
|
||||
4. **禁止**:拉伸视频 / 截断音频内容 / 改变语速
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user