概要
revolution/laravel-voicevox は、Laravel から VOICEVOX を扱うためのパッケージです。 HTTP 経由で公式エンジンに接続するクライアントモードと、VOICEVOX Core for PHP を組み合わせて PHP FFI から直接合成するネイティブモードを同じ Laravel スタイルで扱えます。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() を使うと、戻り値を変えずにクエリーだけを調整する 書き方が自然です。
- Talk では
speedScaleやpitchScaleなどを調整できます。 - Song では
sync()で F0 とボリュームを再計算できます。 generate()が返すVoicevoxResponseへきれいにチェーンできます。
tap() 自体の考え方は tap() ヘルパーと Tappable トレイト で整理しています。このパッケージは実用例として特に分かりやすいケースです。ドキュメント
インストール
クライアントのみの導入、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: /jp/packages/voicevox-core-php
- VOICEVOX Core for PHP 使い方: /jp/packages/voicevox-core-php/usage
- PHP FFI: /jp/advanced/ffi
tap()ヘルパー: /jp/advanced/tap- 公式 VOICEVOX エンジン: VOICEVOX/voicevox_engine