1.8 KiB
1.8 KiB
Implementation Tasks
1. 接口与基础结构
- 1.1 创建
VoiceCloneProvider接口- 定义
cloneVoice(VoiceCloneRequest)方法 - 定义
synthesize(VoiceTtsRequest)方法 - 定义
supports(String providerType)方法
- 定义
- 1.2 创建统一 DTO 类
VoiceCloneRequest- 语音克隆请求VoiceCloneResult- 语音克隆响应VoiceTtsRequest- 语音合成请求VoiceTtsResult- 语音合成响应
- 1.3 创建
VoiceCloneProviderFactory工厂类- 根据配置获取 Provider 实例
- 支持动态切换供应商
2. CosyVoice 重构(保持现有功能)
- 2.1 重命名
CosyVoiceClient→CosyVoiceProvider - 2.2
CosyVoiceProvider实现VoiceCloneProvider接口 - 2.3 适配现有 DTO 到新的统一 DTO
- 2.4 保持现有 DashScope SDK 调用逻辑不变
3. 配置重构
- 3.1 创建
VoiceProviderProperties配置类- 支持多供应商配置结构
- 添加
default-provider配置项
- 3.2 创建
CosyVoiceProviderConfig(嵌套配置) - 3.3 保持向后兼容:支持读取旧的
yudao.cosyvoice.*配置
4. Service 层改造
- 4.1 修改
TikUserVoiceServiceImpl- 注入
VoiceCloneProvider而非CosyVoiceClient - 使用工厂获取 Provider 实例
- 注入
- 4.2 更新方法调用
createVoice()- 使用provider.cloneVoice()synthesizeVoice()- 使用provider.synthesize()previewVoice()- 使用provider.synthesize()
5. 测试与验证
- 5.1 单元测试:CosyVoiceProvider
- 5.2 单元测试:VoiceCloneProviderFactory
- 5.3 集成测试:TikUserVoiceServiceImpl
- 5.4 验证现有功能正常运行
6. 文档与配置迁移
- 6.1 更新
application.yaml配置示例 - 6.2 添加配置迁移说明文档
总计: 20 项任务
预计工作量: 2-3 天