クロスフェード

クロスフェードというと、フェードイン、フェードアウトの伴う楽曲の滑らかな切替を指します。 再生中のサウンドをフェードアウト(徐々に音量を下げる)しつつ、次の再生するサウンドをフェードインする表現になります。

craftv2_tips_program_doing_xfade00.png

フェーダーを使う

プログラムでクロスフェードのオブジェクトを作成して、クロスフェードの設定を行うことができます。 プレーヤーにフェーダーをアタッチしてキューを再生します。 シンプルでプログラム側だけで行えます。

craftv2_tips_program_doing_xfade01.png

[補足]1~50msec近くの極端に短いフェードはプチノイズが発生する場合があります。この場合はエンベロープのアタックを利用することをお勧めします。

キューの再生だけで行う

データもプログラムもシンプルな方法として、エンベロープのアタック時間、リリース時間を利用して音量の変化を自動で変化させます。 キューのリミットなどで、自動停止にすることでクロスフェードのような効果が得られます。

単純なキューに限られますが、プログラムからプレーヤ経由でエンベロープを上書きして扱うこともできます。

craftv2_tips_program_doing_xfade02.png

AISACを使う

AISACをクロスフェードのカーブとしてデザインし、複数のトラックをフェードするイメージになります。 トラックの内容は限定されてしまいますが、DJのフェーダーのようなイメージで音を扱うことができます。

craftv2_tips_program_doing_xfade03.png

ボリュームをそれぞれコントロールする

プログラム側で、複数のプレーヤーを用意しボリュームを徐々に変化させるようにします。 ボリュームを変化させる対象などはキュー単位になります。

徐々に値を変更する方法としてトゥイーンの機能があります。

craftv2_tips_program_doing_xfade05.png

アクションでボリュームパラメーターをコントロールする

craftv2_tips_program_doing_xfade04.png

アクションによって、再生中のキューのボリュームをフェードするキューを作る。

対象が決まっているキュー同士のパラメーターを変化させます。 プログラムからはキューをスタートするだけで実行されます。