什么是预设
使用预设功能,你可以将常用的语音合成参数组合保存并复用。将语速、音高、抑扬等一并管理,即使生成多段语音也更容易保持品质一致。
概览
Laravel VOICEVOX 的预设功能是基于 VOICEVOX Core 的原生实现。预设数据以 JSON 形式持久化到storage/voicevox/presets.json。
它使用与官方 VOICEVOX 引擎分开的存储,因此在 Laravel 侧创建的预设不会同步到官方引擎侧(反之亦然)。
配置
默认保存在storage/voicevox/presets.json。若想使用其他路径,可在 config/voicevox.php 中修改。
预设的结构
预设的结构如下。基本使用
创建预设
通过preset() helper 的 add() 创建预设。
获取所有预设
查找预设
更新预设
删除预设
使用预设进行语音合成
使用talk() helper 或引擎 API 的 /audio_query_from_preset 端点。
talk() helper
在 talk(preset:) 中指定预设 ID。此时通常的 Style ID 会被忽略。
通过引擎 API 访问
如果已启动 Laravel VOICEVOX 的引擎 API,就可以通过 HTTP 操作预设。获取所有预设
添加预设
更新预设
删除预设
使用预设生成 audio query
参数详情
speedScale:0.5 ~ 2.0(语速)pitchScale:-0.15 ~ 0.15(音高)intonationScale:0.0 ~ 2.0(抑扬)volumeScale:0.0 ~ 2.0(音量)prePhonemeLength:0.0 ~ 1.5(起始静音・秒)postPhonemeLength:0.0 ~ 1.5(结束静音・秒)
注意事项
- 将预设 ID 指定为
0时会自动分配未使用的 ID。 - 预设中请同时包含
speaker_uuid(UUID 字符串)与style_id(整数)。
故障排查
预设未保存
- 请确认存储目录具有写入权限
- 请确认
storage/voicevox/presets.json已被正确创建