概览
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 环境
模式一览
为何 tap() 特别契合
该包在 talk() / song() 之后立即返回 Audio Query 对象,允许你在 generate() 之前插入调整阶段。
因此使用 tap() 时,不改变返回值只调整 query 的写法非常自然。
- Talk 中可调整
speedScale、pitchScale等。 - Song 中可通过
sync()重新计算 F0 与音量。 - 可以顺畅地链式调用
generate()返回的VoicevoxResponse。
关于
tap() 自身的思路,整理在 tap() helper 与 Tappable trait 中。该包是这一模式尤其易于理解的实际案例。文档
安装
了解仅安装客户端、启用 FFI 的安装、发布配置文件、准备引擎资源等步骤。
客户端 Talk
通过官方 VOICEVOX 引擎开始进行文本语音合成。
客户端 Song
通过构建
Score 与 Note 进行歌声合成。原生 Talk
使用 PHP FFI 与 VOICEVOX CORE 进行本地合成。
原生 Song
通过 FFI 直接使用歌声模型。
VOICEVOX Core for PHP
了解核心库的配置以及 Pure PHP 侧的用法。
参考链接
- GitHub:invokable/laravel-voicevox
- VOICEVOX Core for PHP:/zh/packages/voicevox-core-php
- VOICEVOX Core for PHP 用法:/zh/packages/voicevox-core-php/usage
- PHP FFI:/zh/advanced/ffi
tap()helper:/zh/advanced/tap- 官方 VOICEVOX 引擎:VOICEVOX/voicevox_engine