# 音色预缓存目录 此目录用于存放系统默认音色的预缓存文件,在应用打包时包含这些文件可以让用户首次使用时无需等待音色生成。 ## 目录用途 - **开发环境**: 用于测试预缓存功能 - **生产环境**: 打包时将此目录包含在应用中,首次启动时会自动复制到用户数据目录 ## 如何生成预缓存文件 ### 方式一:使用应用自动生成(推荐) 1. 启动应用(开发模式或打包后的应用) 2. 确保已配置 DashScope / 千问 API Key(在模型设置中) 3. 打开音色管理对话框,逐个试听所有默认音色 4. 试听后的音色会自动保存到用户数据目录的 `voice-preview-cache/` 文件夹 5. 找到用户数据目录: - **Windows**: `C:\Users\<用户名>\AppData\Roaming\zhenqianba-v2\voice-preview-cache` - **macOS**: `~/Library/Application Support/zhenqianba-v2/voice-preview-cache` - **Linux**: `~/.config/zhenqianba-v2/voice-preview-cache` 6. 将生成的 `.wav` 文件复制到此目录(`packaging/resources/voice-preview-cache/`) ### 方式二:手动触发预缓存 在应用的开发者控制台中执行: ```javascript await window.$mapi.aliyun.cosyvoice.preCacheSystemVoices('', true); ``` 然后从用户数据目录复制生成的文件到此目录。 ## 预缓存文件列表 当前系统音色应以 `sys_*.wav` 形式存放,例如: - `sys_Cherry.wav` - `sys_Serena.wav` - `sys_Ethan.wav` - `sys_Chelsie.wav` - `sys_Momo.wav` - `sys_Vivian.wav` - `sys_Moon.wav` - `sys_Maia.wav` - `sys_Kai.wav` - `sys_Nofish.wav` - `sys_Bella.wav` - `sys_Jennifer.wav` - `sys_Ryan.wav` - `sys_Katerina.wav` - `sys_Aiden.wav` - `sys_Jada.wav` - `sys_Dylan.wav` - `sys_Li.wav` - `sys_Marcus.wav` - `sys_Roy.wav` - `sys_Peter.wav` - `sys_Sunny.wav` - `sys_Eric.wav` - `sys_Rocky.wav` - `sys_Kiki.wav` - `sys_Bodega.wav` - `sys_Sonrisa.wav` - `sys_Alek.wav` - `sys_Dolce.wav` - `sys_Sohee.wav` - `sys_Ono_Anna.wav` - `sys_Lenn.wav` - `sys_Emilien.wav` - `sys_Andre.wav` ## 打包配置 确保在 `electron-builder.json5` 中包含此目录: ```json5 { "extraResources": [ { "from": "packaging/resources/voice-preview-cache", "to": "voice-preview-cache" } ] } ``` ## 工作原理 1. **首次启动**: 应用检测到用户数据目录没有预缓存文件 2. **资源复制**: 从应用资源目录 (`resources/voice-preview-cache/`) 复制到用户数据目录 3. **即时可用**: 用户试听时直接使用本地缓存,无需等待 API 生成 4. **自动补全**: 如果某些音色未包含在打包中,用户试听时会自动生成并保存 ## 注意事项 - 当前试听缓存已改为 `.wav` 文件 - 用户后续试听新音色时,仍会自动保存到本地缓存 - 此功能不影响用户自定义音色的使用