ランダムのかかるタイミング

ランダムのかかるタイミングとは?

音にピッチのランダムを設定した場合に、再生中にうにょうにょ変わってしまうと困る場合があります。
基本的には再生開始時にランダムのピッチが決まり、そのピッチの値で鳴り続けます。

次の発音があった場合にもランダムのピッチが更新されますが、既になっている音には影響しません。

「どのサウンド」「どのように」鳴らすか?
といった「サウンドの情報」をデザインし、「キュー」に詰め込みます。

「キュー」の中にはパラメータをグループで制御するための「トラック」を持つことができ、
「トラック」の中には波形の情報となる「ウェーブフォーム」を持つことができます。

単純に波形を再生する場合を考えると、複雑に見えますが、
再生時にパラメータが変化して再生される場合、波形のパラメータとは別のレイヤーを持てる事で、
よりコントロールがしやすくなっています。

例えば、サウンドの音量調整時に、それぞれ個別のレイヤーのボリュームを変えるのではなく、
マスターであるキューのボリューム調整することで、全てのバランスを保ったまま調整できます。(なぜこうなるかは後述する「基本的なルール・パラメータの伝播」参照)

シンプルなケースでは上記の方法で問題ないのですが、より込み入ったデータを作成している場合
個々の波形に対してさらに個別に微調整したい場合があります。

例えば、「どのように」の部分で、「ランダムノーリピート」や「シャッフル」で「トラック」を鳴らすといった事ができます。

【基本的な構造】

ADX2のキューは最小の基本構成で以下の階層構造を持ちます。

「キュー」、「トラック」、「ウェーブフォーム」

20140710キューのツリータイムライン
ツリーとタイムラインで見え方は異なりますが同じものを表示変えています。

【基本的なルール・パラメータの伝播】

階層化された構造は、基本的に親フォルダの設定に従います。
それぞれの階層(レイヤー)で設定が可能で且つどの階層でも有効なパラメータは、足し合わせや掛け合わせが行われます。

20140710キューのパラメータ大量にあるパラメータ

【基本的なルール・再生制御系】

再生制御系の仕組みは、親フォルダから処理されます。例えば「再生確率」はキューで評価された段階で再生しなかった場合、「トラック」の「再生確率」は評価されません。

ボリュームなども掛け合わせであるため、親から処理していって、どこかでボリュームが0になった時点で音が出なくなります。

ピッチは足し合わされます。全体のピッチを「キュー」で設定して、「トラック」側でピッチを微調整したりできます。

【サイコロについて】

ADX2ではリアルタイムの制御が自動で行われることで、プログラムの負荷を大きく軽減することができます。

プログラム側でランダムに音を揺らす事も可能ですが、データ側で適当に振ってくれるだけで、プログラムはリクエストのみで済むようになります。

【基本的なルール・トラックのサイコロ】

「キュー」のタイプが「ポリフォニック」以外の場合、「トラック」は個々のパラメータを持つ事に大きな意味があります。

例えば、「トラック」のランダムパラメータなどのサイコロがどのタイミングで振られるか?
といった問題があります。

ADX2では基本的に再生開始時に全てが決まります。

「トラック」内に複数のウェーブフォームがあった場合でも、再生初回のランダムの値で一律に決まります。

「トラック」の値はランダムで、中の要素に同様に反映している形になります。

20140715WAV両方同じ

【基本的なルール・ウェーブフォームのサイコロ】

「ウェーブフォーム」はタイムラインが通過する直前にサイコロが振られます。

例えば、シーケンスのループなどで「ウェーブフォーム」を囲んだ場合に、「ウェーブフォーム」側でランダムを行う事で毎度異なるランダム値が得られます。(「トラック」や「キュー」でサイコロを振るのと少し違うのです)

「ウェーブフォーム」側でそれぞれランダム設定をする必要があります。

20140715WAV側でランダム

【基本的なルール・AISACのサイコロ】

AISACのランダムは例外的な動作で、「ウェーブフォーム」の再生のタイミングでそれぞれ個別のサイコロが振られた結果が割り当てられます。

これは、「キュー」や「トラック」、あるいは「カテゴリ」やランタイム時のプレーヤなどのAISACからのコントロールを受けた時、上位のレイヤーでランダム値が固定されると、下層の全ての値が同期して、とても不自然になります。

ランダムの目的は不自然な偏りのないものが理想とされますが、階層構造での決定タイミングとは相性が良くないため、AISACランダムの時だけ例外になります。

AISACは再生中でも変化する特性があるため、「ウェーブフォーム」の再生時にサイコロが振られ、パラメータが決定されるものとなります。

20140715WAV側別々ランダム

AISAC側のレイヤーは「キュー」についていても、それぞれの階層でサイコロを振ります。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です