fix(#549): 预设配音无声 - 字幕对齐TTS配音模式 + ASR缓存 #628

Merged
auto-approve-bot merged 6 commits from fix/549-preset-voice-one-click-gen into develop 2026-07-20 12:49:54 +08:00

6 Commits

Author SHA1 Message Date
CI Bot 13ab35ecd8 merge: 合并develop解决冲突
CI/CD Pipeline / Build Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Build Production API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 15s
Preview Deploy / Deploy Preview Environment (pull_request) Failing after 18s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Has been skipped
CI/CD Pipeline / Unit Tests (pull_request) Successful in 41s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 2m44s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Successful in 2m46s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m5s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 1m33s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 5m44s
AI Code Review / AI Code Review (pull_request) Successful in 6m17s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 38s
2026-07-20 12:44:06 +08:00
xiaoxia 7fd3dcd985 fix(test): 修复E741变量名替换不完整导致的NameError
CI/CD Pipeline / Build Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Build Production API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
Preview Deploy / Deploy Preview Environment (pull_request) Failing after 18s
AI Code Review / AI Code Review (pull_request) Failing after 28s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 37s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 33s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Has been skipped
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Successful in 3m36s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 4m41s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 4m54s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 2m49s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 13m46s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 22m32s
2026-07-20 12:10:49 +08:00
xiaoxia 40b9468fb6 style: 修复ruff E741 ambiguous variable name (l -> layer)
CI/CD Pipeline / Build Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Build Production API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
Preview Deploy / Deploy Preview Environment (pull_request) Failing after 21s
AI Code Review / AI Code Review (pull_request) Failing after 32s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 4s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 4m3s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Has been skipped
CI/CD Pipeline / Unit Tests (pull_request) Failing after 22s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 4m30s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Successful in 2m11s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 6m58s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 1m33s
2026-07-20 11:44:29 +08:00
xiaoxia ed56676d14 style: black format test_unified_render_service.py
CI/CD Pipeline / Build Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Build Production API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
Preview Deploy / Deploy Preview Environment (pull_request) Failing after 17s
AI Code Review / AI Code Review (pull_request) Failing after 35s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 4s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 35s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Has been skipped
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 4m6s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 1m56s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 5m28s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 7m8s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 1m38s
2026-07-20 11:31:42 +08:00
CI Bot 681b468135 fix(#549): 预设配音无声 - 新增字幕对齐TTS配音模式 + ASR缓存
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Web Image (pull_request) Has been skipped
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been skipped
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 10s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Has been skipped
Preview Deploy / Deploy Preview Environment (pull_request) Failing after 17s
AI Code Review / AI Code Review (pull_request) Failing after 32s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 37s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 2m6s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 2m21s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 2m24s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 2m24s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 1m35s
根因:
1. 前端预设配音模式(preset)只传voice_id,不传custom_text
2. 原桥接逻辑只有voice_id+custom_text同时存在才触发TTS
3. 预设配音场景下TTS从未被触发=无声

修复:
- 新增字幕对齐配音模式:voice_id + subtitle.auto_generated=true → 用ASR字幕生成逐句TTS配音
- ASR结果缓存:字幕和配音共用一次ASR调用,避免重复识别
- 支持config.tts.align_mode=subtitle标准配置也走字幕对齐
- 新增7个单元测试覆盖预设配音+自动字幕全场景

补充:
- 保留原custom_text桥接逻辑(自定义文案配音场景)
- ASR无结果时优雅降级,不阻断主流程
2026-07-20 11:17:08 +08:00
CI Bot 7101254df9 fix(#549): 预设配音无声 - 顶层voice_id+custom_text与tts配置路径不匹配
根因:前端一键生成页面传 config.voice_id + config.custom_text(顶层字段),
      统一渲染引擎从 config.tts 嵌套对象读取TTS配置,路径完全不匹配,
      导致 TTS 配音从未被触发,选了预设配音也等于没选。

修复:在 _maybe_add_voiceover_layer 增加桥接兼容逻辑——
      当 tts.enabled 为 False 但顶层有 voice_id + custom_text 时,
      自动映射为 tts 配置并触发配音生成。

新增4个单元测试覆盖:桥接触发、tts配置优先、缺文本不触发、无配置不触发。
2026-07-20 11:10:22 +08:00