跳转到主要内容

概览

revolution/laravel-voicevox 是一个用于在 Laravel 中操作 VOICEVOX 的包。 它以统一的 Laravel 风格同时支持通过 HTTP 连接官方引擎的客户端模式,以及结合 VOICEVOX Core for PHP 通过 PHP FFI 直接合成的原生模式。
若想先了解 FFI 的前置知识,请参考 PHP FFI;核心库自身的配置请参考 VOICEVOX Core for PHP用法

功能表

要求

  • PHP 8.3+
  • Laravel 12+
  • ext-zip
  • 若使用原生模式 / 引擎 API,需要 ext-ffi
  • 本地 CLI 环境
在包括 Laravel Cloud 在内的常见 Web 服务器环境中,FFI 往往是禁用的,因此请将原生模式与引擎 API 默认视为本地 CLI 环境使用

模式一览

为何 tap() 特别契合

该包在 talk() / song() 之后立即返回 Audio Query 对象,允许你在 generate() 之前插入调整阶段。 因此使用 tap() 时,不改变返回值只调整 query 的写法非常自然。
  • Talk 中可调整 speedScalepitchScale 等。
  • Song 中可通过 sync() 重新计算 F0 与音量。
  • 可以顺畅地链式调用 generate() 返回的 VoicevoxResponse
关于 tap() 自身的思路,整理在 tap() helper 与 Tappable trait 中。该包是这一模式尤其易于理解的实际案例。

文档

安装

了解仅安装客户端、启用 FFI 的安装、发布配置文件、准备引擎资源等步骤。

客户端 Talk

通过官方 VOICEVOX 引擎开始进行文本语音合成。

客户端 Song

通过构建 ScoreNote 进行歌声合成。

原生 Talk

使用 PHP FFI 与 VOICEVOX CORE 进行本地合成。

原生 Song

通过 FFI 直接使用歌声模型。

VOICEVOX Core for PHP

了解核心库的配置以及 Pure PHP 侧的用法。

参考链接

最后修改于 2026年7月18日