サビから再生する

サビから再生するとは?

選曲時やステージセレクトなどサビ部分から再生するといったことがよくあります。
ここではいくつかの方法を紹介します。

シーケンススタートマーカーを利用する

シーケンススタートマーカーを利用する方法の利点は再生だけで済むのでプログラマーの負担を軽減できます。

1つのキューシートに「先頭から」と「サビから」のキューがあれば波形分の容量は1つ分で済みます。
しかし、キューシートが分かれてしまうとそれぞれのACB(またはAWB)に圧縮後の波形ファイルをフルサイズで持つことになります。

craftv2_tips_performance_play_sabi00.png

シーク再生を利用する

シーク再生を利用する方法で、よく使われるかと思われます。
シーク位置などは別途エクセル管理や、ユーザーデータを利用したり、出力したXMLなどからコメントを解析したりといった方法も考えられます。

ブロック再生する

Prepare再生やシーケンス先読み指定(criAtomExPlayer_SetSequencePrepareTime)など十分な処理が行われていれば問題にならないのですが、 ブロック再生で分割されている場合、波形のつながり部分にギャップが発生する場合もあり、
サビ再生のためにブロック分割するのは、波形もあらかじめブロックごとに分割する手間が発生するためおすすめしません。
もしサビへの遷移後にサビ部分をループしたいとか、ある分割点で他の場所へシークしたいといったインタラクティブミュージックの手法を使いたい場合にはおすすめです。

craftv2_tips_performance_play_sabi01.png

シームレス連結再生を使う

サンプルレベルで連続的に再生するので綺麗につながり、且つデータを分けることができます。
サビ前部分とサビ部分を別波形として用意し、 ランタイムのシームレス連結再生を利用して再生します。
この方法だとランタイムもデータ側も対処が必要なので手間がかかりますが、容量は軽減できます。
シームレス連結が可能なキューの構造は、基本的にトラックに波形が一つあるものとなっています。
一部機種などではシームレス連結再生に制限がある場合があります。詳しくは機種別のマニュアルの制限事項を参照ください

いくつかのランダムな位置から再生する

少し変わった方法ですが、一つのキュー内にシーケンススタートマーカーを複数置くことで、ランダムな位置から再生することもできます。
サビの開始位置が複数あるという場合に使えます。

craftv2_tips_performance_play_sabi02.png