メインコンテンツへスキップ

概要

revolution/voicevox-core は、VOICEVOX CORE の C 動的ライブラリを PHP FFI でラップした Pure PHP パッケージです。 VOICEVOX は高品質な日本語テキスト読み上げ(TTS)エンジンで、このパッケージを使うことで PHP から直接音声合成を行えます。
PHP FFI 自体の仕組みと制約を先に整理したいなら、PHP FFI を参照してください。
Laravel アプリから扱うなら VOICEVOX for Laravel も合わせて読むと、クライアントモードとネイティブモードの違いまで整理できます。
PHP FFI は Web サーバー環境(FPM など)では無効にされていることが多いため(ffi.enable=false)、このパッケージは ローカル CLI での使用を前提としています。

要件

  • PHP 8.3+
  • ext-ffi 拡張が有効になっていること
  • VOICEVOX CORE 0.16+

インストール

composer require revolution/voicevox-core

ライブラリのセットアップ

このパッケージを使用するには、VOICEVOX CORE の動的ライブラリ(.so / .dylib)、ONNX Runtime ライブラリ、OpenJTalk 辞書が必要です。
1

voicevox_core をダウンロードする

voicevox_core releases から OS・アーキテクチャに合ったダウンローダーをダウンロードして実行します。実行すると、カレントディレクトリに voicevox_core ディレクトリが作成されます。作成されるディレクトリ構造:
voicevox_core/
├── dict/open_jtalk_dic_*/     # OpenJTalk 辞書
├── c_api/lib/                 # 動的ライブラリ (.so, .dylib)
├── models/vvms/               # 音声モデルファイル (.vvm)
└── onnxruntime/               # ONNX Runtime ライブラリ
2

恒久的な場所に移動する

mv voicevox_core ~/.local/voicevox_core
3

シンボリックリンクを作成する(推奨)

ライブラリが自動的に見つかるようにシンボリックリンクを作成します。
ln -s には必ず絶対パスを使用してください。
macOS:
# [VOICEVOX_CORE_DIR] を voicevox_core の絶対パスに置き換えてください
ln -s [VOICEVOX_CORE_DIR]/libvoicevox_core.dylib /usr/local/lib/libvoicevox_core.dylib
/usr/local/lib/ からロードできない場合は .zshrc などで DYLD_FALLBACK_LIBRARY_PATH を設定します:
export DYLD_FALLBACK_LIBRARY_PATH="$HOME/lib:/usr/local/lib:/usr/lib"
Linux:
ln -s [VOICEVOX_CORE_DIR]/libvoicevox_core.so /usr/local/lib/libvoicevox_core.so

代替手段: 環境変数で指定する

シンボリックリンクが作成できない場合は、VOICEVOX_CORE_LIB_PATH 環境変数にライブラリファイルのフルパスを設定します:
export VOICEVOX_CORE_LIB_PATH=/path/to/libvoicevox_core.dylib
export VOICEVOX_CORE_LIB_PATH="$HOME/.local/voicevox_core/c_api/lib/libvoicevox_core.dylib"
macOSで DYLD_FALLBACK_LIBRARY_PATH を使ってもロードできない場合は VOICEVOX_CORE_LIB_PATH で設定してください。

ドキュメント

使い方

テキスト読み上げ・音声合成の基本的な使い方とコードサンプル。

API リファレンス

全クラス・メソッド・enum の詳細リファレンス。

参考リンク

Last modified on May 19, 2026