ネイティブモードとは
ネイティブモードは、VOICEVOX Core for PHP を通して VOICEVOX CORE を PHP FFI から直接呼び出します。 公式エンジンを起動しなくても合成できますが、FFI とローカルライブラリのセットアップが必要です。事前準備
- インストールと設定 を完了していること
- VOICEVOX Core for PHP のセットアップを完了していること
.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 ラッパー側のセットアップと制約を確認します。