概觀
revolution/laravel-voicevox 是從 Laravel 使用 VOICEVOX 的套件。 可以用相同的 Laravel 風格處理透過 HTTP 連線至官方引擎的 Client 模式,以及結合 VOICEVOX Core for PHP 透過 PHP FFI 直接合成的 Native 模式。若想先整理 FFI 前置知識,請參閱 PHP FFI;核心 library 本身的設定請參閱 VOICEVOX Core for PHP 與 用法。
功能表
需求
- PHP 8.3+
- Laravel 12+
ext-zip- 使用 Native 模式 / Engine 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。本套件是特別容易理解的實用範例。文件
安裝
確認僅 Client 的導入、使用 FFI 的導入、發佈設定檔、準備引擎資源。
Client Talk
開始使用官方 VOICEVOX 引擎進行文字語音合成。
Client Song
建立
Score 與 Note 進行歌聲合成。Native Talk
以 PHP FFI 與 VOICEVOX CORE 進行本機合成。
Native Song
透過 FFI 直接使用歌聲模型。
VOICEVOX Core for PHP
確認核心 library 的設定與 Pure PHP 端的用法。
參考連結
- GitHub: invokable/laravel-voicevox
- VOICEVOX Core for PHP: /zh-TW/packages/voicevox-core-php
- VOICEVOX Core for PHP 用法: /zh-TW/packages/voicevox-core-php/usage
- PHP FFI: /zh-TW/advanced/ffi
tap()helper: /zh-TW/advanced/tap- 官方 VOICEVOX 引擎: VOICEVOX/voicevox_engine