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

ネイティブモードとは

ネイティブモードは、VOICEVOX Core for PHP を通して VOICEVOX CORE を PHP FFI から直接呼び出します。 公式エンジンを起動しなくても合成できますが、FFI とローカルライブラリのセットアップが必要です。
ネイティブモードは Web サーバー向けではありません。ローカル CLI で利用してください。FFI の制約は PHP FFI でも説明しています。

事前準備

  1. インストールと設定 を完了していること
  2. VOICEVOX Core for PHP のセットアップを完了していること
  3. .env に VOICEVOX_CORE_PATH を設定していること

基本的な使い方

ネイティブモードでは talk() ヘルパーを使います。

スタイル ID の指定

id には読み込み済みの .vvm に含まれるスタイル ID を指定します。
config/voicevox.php の core.vvms に含まれるモデルだけが使えます。

tap() で Audio Query を調整する

ネイティブモードでも tap() の使い方は同じです。ただし TalkAudioQuery はクライアントモードとは別クラスです。
tap() のパターン自体は tap() ヘルパーと Tappable トレイト に整理しています。VOICEVOX for Laravel はその実践例です。

AquesTalk 風記法のカナを使う

ネイティブモードには enable_katakana_english がないため、英語混じりの入力をそのまま読む用途には向きません。 代わりに AquesTalk 風記法のカナを直接渡す kana() を使えます。

ストリーミング音声合成

stream() は VOICEVOX エンジン 0.26.0 の /streaming_synthesis と同じ仕様で、WAV を先頭から順に出力する TalkStream を返します。streaming_talk タイプのスタイル(VVM v2 形式)のみ対応しています。
startOffset が音声の長さ以上の場合は InvalidArgumentException をスローします。内部では VOICEVOX Core の AudioFeature をセグメントごとに render しています。詳しくは VOICEVOX Core for PHP の使い方を参照してください。

クライアントモードとの違い

次に読むページ

ネイティブ Song

歌声モデルを FFI 経由で扱います。

VOICEVOX Core for PHP

純粋な PHP ラッパー側のセットアップと制約を確認します。
最終更新日 2026年11月2日