fix(backend): #1897 声音克隆preview接口支持情绪语速参数 #1907
Merged
auto-approve-bot
merged 1 commits from 2026-09-14 18:56:53 +08:00
fix/1897-voice-clone-preview-emotion-speed-backend into develop
1 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
ef54a1ce9c |
fix(backend): #1897 声音克隆preview接口支持情绪语速参数
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 0s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 1s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 40s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m5s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 1m29s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 2m30s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 2m40s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 2m50s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 2m50s
CI/CD Pipeline / Validate - Style (pull_request) Successful in 3m5s
AI Code Review / AI Code Review (pull_request) Successful in 6m15s
CI/CD Pipeline / Validate - Security (pull_request) Successful in 6m41s
CI/CD Pipeline / CI Gate (pull_request) Successful in 1s
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 4m33s
ACR Cleanup / ACR Image Cleanup (pull_request_target) Successful in 11s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 20s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 44h27m33s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 44h34m15s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 44h34m17s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 44h33m48s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 44h27m5s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 44h33m29s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 44h33m48s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 44h33m52s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 44h27m4s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 44h27m5s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 44h27m5s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 44h33m29s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 44h33m32s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 44h33m38s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 44h33m41s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 44h33m41s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 44h33m43s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 44h33m49s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 44h33m49s
- apps/api/app/api/routes/voice_clones.py: GET /voice-clones/{clone_id}/preview 新增 speed(float, 0.5-2.0, 默认1.0) 和 emotion(str, 默认空, 枚举 natural/excited/calm/friendly) query 参数
- 参数透传到 cosyvoice.synthesize_speech(speed=..., emotion=...),CosyVoice 服务层已原生支持无需改动
- emotion 白名单校验:不在 natural/excited/calm/friendly/空 范围返回 400
- 缓存仅在默认参数(默认试听文本+speed=1.0+emotion空)时生效,自定义 speed/emotion 不缓存
- 新增 ValueError 异常处理(speed 越界等参数问题 cosyvoice 抛 ValueError),返回 400(与 TTS preview 接口一致)
- 参考 TTS preview 接口(apps/api/app/api/routes/tts.py)的参数接收与透传方式
- 单测:4 个新用例覆盖 speed/emotion 透传、非法 emotion 400、非默认参数不缓存、ValueError→400,293个voice clone/cosyvoice相关测试全通过
|