クライアントモードで歌わせる
クライアントモードの歌声合成では、公式 VOICEVOX エンジンのsing_frame_audio_query と frame_synthesis API を使います。
Talk と違って、先に Score と Note を組み立てる必要があります。
事前準備
Score と Note を作る
基本的な使い方
teacher と id
teacher:sing_frame_audio_queryに渡すスタイル ID。現状は6000ひとつしか存在しないのでデフォルトで6000。generate(id:):frame_synthesisに渡すスタイル ID
singers() で取得できます。
tap() で F0 とボリュームを調整する
Song では tap() の使いどころが特に分かりやすく、SongAudioQuery を調整してから generate() へ流せます。
tap() が便利です。
tap() の発想は tap() ヘルパーと Tappable トレイト にまとめています。VOICEVOX for Laravel は「戻り値を変えずに中間オブジェクトだけ調整したい」典型例です。次に読むページ
Score と Note 詳細
フレーム長計算と JSON 管理パターンを確認します。
ネイティブ Song
同じ
Score を FFI 経由のネイティブモードで使います。VOICEVOX Core for PHP 使い方
コアライブラリ単体での音声合成フローを確認します。