使用する歌唱モデル(.koe)をロードして完了を待つ。
ストリーム停止+各モデルの内部状態を初期化する。
歌声のストリーミング再生を開始する。anchorTime は startSec=0 が鳴るべき AudioContextクロック秒(=シーケンサの開始時刻と一致させること)。 即座に return し、合成は裏で先回り進行する。
進行中のストリームを中断し、スケジュール済みの発音をすべて止める(停止・一時停止・シーク)。
各トラック先頭の数音を先に合成してキャッシュへ積む(頭出しの貯金)。 これで再生開始直後の密なフレーズでもアンダーランしにくくなる。count 既定 PREWARM_NOTES。
歌唱モデルをまとめて管理し、koeデモ式の「先読みストリーミング合成」で歌わせる高レベルヘルパ。
再生開始時に startStream を呼ぶと、各音を全力で先回り合成しながら、 出来た音を AudioContext クロックの絶対時刻へ即スケジュールする。再生はオーディオスレッドが 担うため、合成中にメインスレッドがもたついても同期ズレ・音切れが起きない。スロットルは掛けない。
典型的な使い方(呼び出し側=シーケンサ): await voices.loadModels(models); // .koe をfetch(ローディング表示) await voices.warm(tracks); // 先頭数音だけ先に合成(頭出しの貯金) seq.start(fromStep); // 楽器とUIはシーケンサ voices.startStream(tracks, seq.getStartTime()); // 歌声は同じアンカーで先読み合成