Skip to main content

什麼是預設集

使用預設集功能可將常用的語音合成參數組合儲存起來重複使用。
將語速、音高、抑揚等一併管理,可在產生多個語音時保持一致的品質。

概觀

Laravel VOICEVOX 的預設集功能是使用 VOICEVOX Core 的 Native 實作。預設集資料以 JSON 格式持久化於 storage/voicevox/presets.json 由於使用與官方 VOICEVOX 引擎獨立的儲存,Laravel 端建立的預設集不會反映到官方引擎端(反之亦然)。

設定

預設會儲存於 storage/voicevox/presets.json。若要使用其他路徑,可於 config/voicevox.php 變更。

預設集結構

預設集為以下結構。

基本用法

建立預設集

preset() helper 的 add() 建立預設集。

取得所有預設集

搜尋預設集

更新預設集

刪除預設集

使用預設集進行語音合成

使用 talk() helper 或 Engine API 的 /audio_query_from_preset endpoint。

talk() helper

talk(preset:) 指定預設集 ID。此時一般的 style ID 會被忽略。
套用預設集時,一般的語音合成流程仍相同。只有預設 AudioQuery 的值會被預設集取代。

透過 Engine API 存取

若有啟動 Laravel VOICEVOX 的 Engine 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(結尾靜音,秒)

注意事項

Laravel 版的預設集與官方 VOICEVOX 引擎的預設集為分開管理。新增、更新、刪除會立即儲存至 JSON 檔案。
  • 預設集 ID 指定為 0 時,會自動編號未使用的 ID。
  • 預設集請同時包含 speaker_uuid(UUID 字串)與 style_id(整數)。

疑難排解

預設集未儲存

  1. 請確認 storage 目錄的寫入權限
  2. 請確認 storage/voicevox/presets.json 是否正確建立

找不到預設集檔案位置

想重設預設集

最後修改於 2026年8月2日