54 lines
1.8 KiB
Markdown
54 lines
1.8 KiB
Markdown
# 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 天
|