> ## Documentation Index
> Fetch the complete documentation index at: https://kawax.biz/llms.txt
> Use this file to discover all available pages before exploring further.

# VOICEVOX Core for PHP

> PHP FFI を使って VOICEVOX CORE の C 動的ライブラリをラップした Pure PHP パッケージ。テキスト読み上げ（TTS）を PHP から直接利用できます。

## 概要

[revolution/voicevox-core](https://github.com/invokable/voicevox-core-php) は、[VOICEVOX CORE](https://github.com/VOICEVOX/voicevox_core) の C 動的ライブラリを PHP FFI でラップした Pure PHP パッケージです。

VOICEVOX は高品質な日本語テキスト読み上げ（TTS）エンジンで、このパッケージを使うことで PHP から直接音声合成を行えます。

<Info>
  PHP FFI 自体の仕組みと制約を先に整理したいなら、[PHP FFI](/jp/advanced/ffi) を参照してください。
</Info>

<Tip>
  Laravel アプリから扱うなら [VOICEVOX for Laravel](/jp/packages/laravel-voicevox) も合わせて読むと、クライアントモードとネイティブモードの違いまで整理できます。
</Tip>

<Warning>
  PHP FFI は Web サーバー環境（FPM など）では無効にされていることが多いため（`ffi.enable=false`）、このパッケージは **ローカル CLI での使用を前提**としています。
</Warning>

## 要件

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

## インストール

```bash theme={null}
composer require revolution/voicevox-core
```

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

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

<Steps>
  <Step title="voicevox_core をダウンロードする">
    [voicevox\_core releases](https://github.com/VOICEVOX/voicevox_core/releases) から OS・アーキテクチャに合ったダウンローダーをダウンロードして実行します。実行すると、カレントディレクトリに `voicevox_core` ディレクトリが作成されます。

    作成されるディレクトリ構造：

    ```
    voicevox_core/
    ├── dict/open_jtalk_dic_*/     # OpenJTalk 辞書
    ├── c_api/lib/                 # 動的ライブラリ (.so, .dylib)
    ├── models/vvms/               # 音声モデルファイル (.vvm)
    └── onnxruntime/               # ONNX Runtime ライブラリ
    ```
  </Step>

  <Step title="恒久的な場所に移動する">
    ```bash theme={null}
    mv voicevox_core ~/.local/voicevox_core
    ```
  </Step>

  <Step title="シンボリックリンクを作成する（推奨）">
    ライブラリが自動的に見つかるようにシンボリックリンクを作成します。

    <Warning>
      `ln -s` には必ず**絶対パス**を使用してください。
    </Warning>

    **macOS:**

    ```bash theme={null}
    # [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` を設定します：

    ```bash theme={null}
    export DYLD_FALLBACK_LIBRARY_PATH="$HOME/lib:/usr/local/lib:/usr/lib"
    ```

    **Linux:**

    ```bash theme={null}
    ln -s [VOICEVOX_CORE_DIR]/libvoicevox_core.so /usr/local/lib/libvoicevox_core.so
    ```
  </Step>
</Steps>

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

シンボリックリンクが作成できない場合は、`VOICEVOX_CORE_LIB_PATH` 環境変数にライブラリファイルのフルパスを設定します：

```bash theme={null}
export VOICEVOX_CORE_LIB_PATH=/path/to/libvoicevox_core.dylib
```

```bash theme={null}
export VOICEVOX_CORE_LIB_PATH="$HOME/.local/voicevox_core/c_api/lib/libvoicevox_core.dylib"
```

<Info>
  macOSで `DYLD_FALLBACK_LIBRARY_PATH` を使ってもロードできない場合は `VOICEVOX_CORE_LIB_PATH` で設定してください。
</Info>

## ドキュメント

<Columns cols={2}>
  <Card title="使い方" href="/jp/packages/voicevox-core-php/usage" icon="play">
    テキスト読み上げ・音声合成の基本的な使い方とコードサンプル。
  </Card>

  <Card title="API リファレンス" href="/jp/packages/voicevox-core-php/api" icon="code">
    全クラス・メソッド・enum の詳細リファレンス。
  </Card>
</Columns>

## 参考リンク

* GitHub: [invokable/voicevox-core-php](https://github.com/invokable/voicevox-core-php)
* VOICEVOX CORE: [VOICEVOX/voicevox\_core](https://github.com/VOICEVOX/voicevox_core)
