ADX2でフェードインフェードアウト

「ADX2でフェードインフェードアウト」の編集履歴(バックアップ)一覧はこちら

ADX2でフェードインフェードアウト」(2018/06/29 (金) 13:10:48) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

ADX2(LE)でフェードインフェードアウトの方法 いくつか紹介 *目次 #contents() * ボイスのEnvelopeで行う - 利用するデータは、シンプルな1キュー1ボイス シンプルなキューであるならば、ボイスの持つシンセ機能のエンベロープを直接いじってしまうことで、フェード処理をすることが可能。 ** データで - Craftでタイムラインからウェーブフォームリージョンを選択し、 エンベロープのアタック、リリースを変更する。 大量にある場合は、 - Craftでキューシートを選択してリスト表示で複数選択、エンベーロープのアタック、リリースを変更する。 この方法は、ローテクですが、効果は大きい。 リリースを少しだけ長めにするだけで、「プツッ」と切れない。 ただし長過ぎるリリースをつけると、なかなか音が止まらなかったりして、 発音数を多くとってしまったり、 オーバーラップが多くて音が重なって割れたりなど注意。短めなら問題ない。 キューが複雑な場合(ボイスが1つでなく複数入ったキューなど)の場合は、 おかしなことになるので注意が必要です。 (あくまで、セリフや音楽など単発で鳴らす目的のキューに対してのみ有効なもの) もし、キューでブロック再生や、多重再生など行っている場合は、フェーダーをアタッチする方法をおすすめします。 ** プログラムで - SetEnvelopeAttackTime - SetEnvelopeReleaseTime プログラムから操作する場合、キューの中のすべてのウェーブフォーム(ボイス)のエンベロープが上書きされます。 以後同一のプレーヤで再生するキューもすべて上書き状態です。 プレーヤに対して、リセットすれば初期状態(データのエンベロープ値参照)に戻ります。 少し強引なやり方ですが、キューの中身が1波形に限っている時は有用です。 * キューのAISACを使う トラックにAISACを追加してボリュームカーブを書いて、プログラムからはAISACを操作する。 AISACは非常に強力な機能ですが、こういったシンプルな事にも使えます。 他のシステムで言うとMultiFunctionやRTPCのようなものに近いです。 トラックのボリュームを直接変更できれば...と考えるかもしれません。 実はADX2ではトラックがあるかどうかすら、隠蔽されてしまいます。 エディット時にはトラックがあっても、実際のキューが必ずしもトラックを持っているとは限りません。 (トラックのパラメータはビルド時に焼き込まれているかもしれません) * プレーヤーのフェーダーを使う ** プログラムで - AttachFader、DetachFader、SetFadeInTime、SetFadeOutTimeを使う。 Fader機能を使うと、プレーヤーは次の音が再生されるたびにクロスフェードをします。 (ただし停止時はフェードアウトはしないので、無音を鳴らすとか工夫が必要。 あくまで連続再生時のクロスフェードをサポートするフェーダーです。) ホールド時間(間をおく・・・どちらかというとWaitかな?)なども指定できるので、クロスしないフェードもできそうです。 playbackIdで停止するとフェードアウトします。 PlayerにStopを呼ぶと即時停止します。(カットアウト) こちらは、キューの中身が複雑であっても利用できます。(ボイスが多用された複雑なキューなど) 曲再生用のプレーヤーを使い、キューを再生すると順次自動でフェードがかかるといったことができます。 * プレーヤーの音量のなめらかな変化 SetVolumeなどで音量を変更するとき、 1.0から0.0へがつっと下げる場合におこる現象として、「プツッ」という音が鳴る場合があります。 ADX2の処理では次のVolume値はなめらかに変化している様子で、この「プツッ」というノイズは発生しない様子です。 最小のサンプルバッファ分の補間が行われている。 もし「プツプツ」とした音が演出として欲しい場合は、サンプルとして用意するとノイズの音が作れるはず。 しかし、あまりに急激な変化の場合、変化の具合に微妙な差がでてくる場合があります。 ゲームエンジンなど更新フレーム間隔が音の変化に影響(階段状に変化するのがわかってしまう場合など)があります。 * キューのダッキングで自動化 フェード処理がダッキング(何か音がなって、音楽が自動でちょっと小さくなるとか) の場合 REACTでボリュームパラメータをカテゴリ間で変化させる事で、他カテゴリの発音に応じ、自動でフェード効果が発生させられます。 あらかじめ、REACT元のカテゴリ、REACT先のカテゴリを決めておく必要があります。 おおまかなカテゴリという単位で、音をグループ化しておく必要がありますが(たいていやっているはず)グループ間の音量制御を自動化する時に手頃にあつかえます。 * キューのアクションで自動化(ADX2 PRO) アクショントラックに、キューまたはトラックのボリューム変更と変化時間を与えるイベントを置く事で、キューの再生で他のキューのフェードを行う事ができます。 サンプルが無いのでそのうち用意する予定。(CRI Atom Craft V1では開けない・・・) アクショントラックでは、先のキューまたは先のキューの任意のトラックを指定する必要があります。 アクションを持つキューの利点は、サウンドデザイナ側でキュー同士の動的な変化を作れる事で、 プログラマやスクリプトからの呼び出しは、キューのスタートだけで行えるようになる点です。(昨今のゲームエンジンはこっちの方がやりやすいかも) どのようにふるまうかまでサウンドデザインできるので、より細かい制御が可能となります。 REACTを使わずにカテゴリ制御が行える予定です。
ADX2(LE)でフェードインフェードアウトの方法 いくつか紹介 *目次 #contents() * ボイスのEnvelopeで行う - エンベロープが利用できるデータは、シンプルな1キュー1ボイス シンプルなキューであるならば、ボイスの持つシンセ機能のエンベロープを直接いじってしまうことで、フェード処理をすることが可能。 ** データで - Craftでタイムラインからウェーブフォームリージョンを選択し、 エンベロープのアタック、リリースを変更する。 大量にある場合は、 - Craftでキューシートを選択してリスト表示で複数選択、エンベーロープのアタック、リリースを変更する。 この方法は、ローテクですが、効果は大きい。 リリースを少しだけ長めにするだけで、「プツッ」と切れない。 ただし長過ぎるリリースをつけると、なかなか音が止まらなかったりして、 発音数を多くとってしまったり、 オーバーラップが多くて音が重なって割れたりなど注意。短めなら問題ない。 キューが複雑な場合(ボイスが1つでなく複数入ったキューなど)の場合は、 おかしなことになるので注意が必要です。 (あくまで、セリフや音楽など単発で鳴らす目的のキューに対してのみ有効なもの) もし、キューでブロック再生や、多重再生など行っている場合は、フェーダーをアタッチする方法をおすすめします。 ** プログラムで - SetEnvelopeAttackTime - SetEnvelopeReleaseTime プログラムから操作する場合、キューの中のすべてのウェーブフォーム(ボイス)のエンベロープが上書きされます。 以後同一のプレーヤで再生するキューもすべて上書き状態です。 プレーヤに対して、リセットすれば初期状態(データのエンベロープ値参照)に戻ります。 少し強引なやり方ですが、キューの中身が1波形に限っている時は有用です。 * キューのAISACを使う トラックにAISACを追加してボリュームカーブを書いて、プログラムからはAISACを操作する。 AISACは非常に強力な機能ですが、こういったシンプルな事にも使えます。 他のシステムで言うとMultiFunctionやRTPCのようなものに近いです。 トラックのボリュームを直接変更できれば...と考えるかもしれません。 実はADX2ではトラックがあるかどうかすら、隠蔽されてしまいます。 エディット時にはトラックがあっても、実際のキューが必ずしもトラックを持っているとは限りません。 (トラックのパラメータはビルド時に焼き込まれているかもしれません) * プレーヤーのフェーダーを使う ** プログラムで - AttachFader、DetachFader、SetFadeInTime、SetFadeOutTimeを使う。 Fader機能を使うと、プレーヤーは次の音が再生されるたびにクロスフェードをします。 (ただし停止時はフェードアウトはしないので、無音を鳴らすとか工夫が必要。 あくまで連続再生時のクロスフェードをサポートするフェーダーです。) ホールド時間(間をおく・・・どちらかというとWaitかな?)なども指定できるので、クロスしないフェードもできそうです。 playbackIdで停止するとフェードアウトします。 PlayerにStopを呼ぶと即時停止します。(カットアウト) こちらは、キューの中身が複雑であっても利用できます。(ボイスが多用された複雑なキューなど) 曲再生用のプレーヤーを使い、キューを再生すると順次自動でフェードがかかるといったことができます。 * プレーヤーの音量のなめらかな変化 SetVolumeなどで音量を変更するとき、 1.0から0.0へがつっと下げる場合におこる現象として、「プツッ」という音が鳴る場合があります。 ADX2の処理では次のVolume値はなめらかに変化している様子で、この「プツッ」というノイズは発生しない様子です。 最小のサンプルバッファ分の補間が行われている。 もし「プツプツ」とした音が演出として欲しい場合は、サンプルとして用意するとノイズの音が作れるはず。 しかし、あまりに急激な変化の場合、変化の具合に微妙な差がでてくる場合があります。 ゲームエンジンなど更新フレーム間隔が音の変化に影響(階段状に変化するのがわかってしまう場合など)があります。 * キューのダッキングで自動化 フェード処理がダッキング(何か音がなって、音楽が自動でちょっと小さくなるとか) の場合 REACTでボリュームパラメータをカテゴリ間で変化させる事で、他カテゴリの発音に応じ、自動でフェード効果が発生させられます。 あらかじめ、REACT元のカテゴリ、REACT先のカテゴリを決めておく必要があります。 おおまかなカテゴリという単位で、音をグループ化しておく必要がありますが(たいていやっているはず)グループ間の音量制御を自動化する時に手頃にあつかえます。 * キューのアクションで自動化(ADX2 PRO) アクショントラックに、キューまたはトラックのボリューム変更と変化時間を与えるイベントを置く事で、キューの再生で他のキューのフェードを行う事ができます。 サンプルが無いのでそのうち用意する予定。(CRI Atom Craft V1では開けない・・・) アクショントラックでは、先のキューまたは先のキューの任意のトラックを指定する必要があります。 アクションを持つキューの利点は、サウンドデザイナ側でキュー同士の動的な変化を作れる事で、 プログラマやスクリプトからの呼び出しは、キューのスタートだけで行えるようになる点です。(昨今のゲームエンジンはこっちの方がやりやすいかも) どのようにふるまうかまでサウンドデザインできるので、より細かい制御が可能となります。 REACTを使わずにカテゴリ制御が行える予定です。

表示オプション

横に並べて表示:
変化行の前後のみ表示: