作者別: crich_admin

ボイスリミットグループを一括指定する

 ボイスリミットグループを一括指定する

「ウェーブフォーム」が大量にある時、「ボイスリミットグループ」を一つ一つ選択して設定するのは大変です。そこで、ドラッグ&ドロップだけで簡単に出来る方法を紹介します。

以下の3ステップで20140801ボイスリミットグループ一括他にも、「キュー」を「ボイスリミットグループ」へドロップしても設定できます。

キューを名前順にする

キューを名前順にするとは?

ツリー上でのキューの並び順は、「標準」では作成順となっています。
「標準」状態ではドラッグしてキューの位置を移動できます。
キューシートを右クリックしコンテクストメニューから
「キューシート以下のキューを全て整列」>「名前」とすると名前順にすることができます。
20140730キューの整列

発音数に制限をかける

発音数に制限をかけるとは?

用途はいろいろありますが、例えば、

「音のリクエストが多すぎて音が重なりすぎてしまう場合」や
「同じ声優が二重でしゃべってしまう」とか
「CPU負荷をあまり上げたくないので音数を減らしたいけど、音のリクエストはあまり意識したくない」
などあります。

ADX2では、ボイスリミットグループによる発音数制限、キューの発音数制限、
同一カテゴリ内でのキューの発音数の3つのリミットがデザインできます。

他にランタイムの初期化設定により、コーデック毎の発音最大数として
ボイスプールの設定、ストリーム再生のためのストリーム最大数などが発音数に影響します。

キューリミットとボイスリミットの違いとは?

キューリミット:キューの再生数を制限する機能
ボイスリミット:ボイスの再生数を制限する機能

簡潔にはどちらも再生数の制限に関わるのですが、音の鳴り方に大きな違いがあります。

キューリミットはエンベロープのリリースが残る。
ボイスリミットはエンベロープのリリースが残らない。

キューリミットとボイスリミットどちらを使うのが良いのか?

これはケースバイケースなのですが、一例を上げますと、

「ハード的に発音数が極端に少ない」
「昔ながらの厳密な音数の管理をしたい」
「ストリーム負荷などが無視できない」
→ボイスリミットを使う

ハード的に発音数には余裕がある
→キューリミットを使う

発音数制限の他の方法について

ボイスリミット、キューリミット以外にも発音数を制限する方法があります。

これらも用途によるのですが、
「ボイスプールを使う」・・・コーデックごとのボイス最大数が制限されます。
「トラックMonoを使う」・・・トラックで単音しか鳴らさないようにできます。

リミットの範囲を決める

ボイスリミットには、ボイスリミットグループ
キューリミットには、カテゴリキューリミット
があります。
上位のグループやカテゴリなどでリミット最大数を決めておく事で
特定のグループの発音数制限を行えます。

例えば、BGMは2音、SEは8音などといった具合です。

リミット時の振る舞いを決める

リミットがかかった時、どう動作するか?たいていは、音が鳴らなかったり、ワーニングが発生しますが、ボイスリミットやキューリミットの場合、プライオリティというものが設定できます。

このプライオリティを上げておく事で、音が消えにくい状況を作り出す事ができます。

例えば、消えて困る音(BGMや主役の台詞とか)は高めにします。
消えてもさほど影響を受けない短い音など(足音とか)は低めにしておきます。

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

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

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

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

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

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

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

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

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

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

【基本的な構造】

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

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

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

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

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

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

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

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

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

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

【サイコロについて】

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

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

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

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

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

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

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

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

20140715WAV両方同じ

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

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

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

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

20140715WAV側でランダム

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

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

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

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

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

20140715WAV側別々ランダム

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

ADX2の木

【ADX2の木とは?】

ADX2では多くのデータを扱います。データの管理はコンピュータ上のファイルの管理に似ています。
フォルダにファイルを入れて管理します。

フォルダは親子関係を持っていて、親子の関係を階層と呼びます。
例えば、一階層上とは親フォルダを示します。

階層を上へ上へと
ずっとたどって行くとそれ以上、上に行けない大親のフォルダがあります。

親からみると、さまざまなフォルダに枝分かれしていく形に見えます。

枝分かれ・・・木の枝が伸びて先に葉っぱがあるイメージです。

ADX2ではこれらのデータを「ツリー構造」と呼びます。

「プロジェクトツリー」という大木(たいぼく)で、AtomCraftでは枝や葉っぱを作って行く作業を行います。

20140709ADX2Tree20140709プロジェクトツリー

【特別な機能をもったフォルダ】

ADX2ではフォルダに特別な機能が備わっていて、機能ごとに置けるものが決まっています。
ただ単純にデータを好きな場所におけるだけではありません。

まず、プロジェクトの下には「全体設定」と「ワークユニット」があります。

「全体設定」は名前のとおり全体に関わる設定があります。

「ワークユニット」は「仕事」の「単位」で分けられるという意味があります。
仕事は、人単位や、ゲームの部分などに分けられます。

「ワークユニット」の下には「キューシート」が置けます。

「キューシート」は、「合図」の集まった「紙」。この紙をプログラマとやりとりします。

「キュー」は「合図」。この合図はプログラムから呼ばれます。

「トラック」は「競技場のトラック」を思い浮かべてみてください。

「トラック」には競技者である「ウェーブフォーム」が居ます。

「ウェーブフォーム」は「波形」で、音の情報をデジタル化した塊です。

【装飾された木】

クリスマスツリーのように、枝から枝へ飾りのリボンがかかっているように、それぞれの葉っぱの部分が他の葉と結びつけられているものもあります。

例えば、
「カテゴリ」は「全体設定」の下にありますが、「キュー」と強く結びついています。

このような葉っぱ同士の関係性が分かると、より深いADX2の理解へと繋がります。

連続ヒット音をデザインする

【連続ヒット音とは?】

連続でヒット(攻撃がうまく当たったなど)した時、音が盛り上がって行く演出があります。

通常は、キューを複数用意してプログラムで呼び分ける方法があります。 音ごとにコンボの管理、再生時刻の管理などが必要で手間がかかります。

上記のようにプログラムで行えば何でもできるのですが、音の鳴り方、重なり方などかなりの面でサウンドデザインの領域です。

基本的に、コンボの間隔と、変化する音を用意するだけで良い「シンプルな条件」であればADX2独自の機能「コンボシーケンシャル」を使うという手があります。

「コンボシーケンシャル」を使うだけで、プログラム側は一切変更せずに派手な変化をするサウンドの演出効果が期待できます。

【コンボシーケンシャルとは?】

20140701コンボシーケンシャル

コンボとは、格闘ゲームなどで連続ヒットした時の事を意味します。 キュータイプの「シーケンシャル」は、再生リクエストに応じて、次々とトラックを切り替えて再生する機能です。

2つの要素をもつ「コンボシーケンシャル」は「ある一定時間内にリクエストされた時のみ、シーケンシャルとして動作する」キューのタイプです。

例えば、樽が短時間で連続で破壊された時、「ランダムノーリピート」などを使う事が考えられます。 しかし、ランダムの場合、毎回音が変化してしまいます。

「コンボシーケンシャル」を使うと、ある一定時間を経過した場合は、必ず同じ音が再生されます。

再生間隔がまばらな場合は、記号的な音。

再生間隔が詰まっている時はランダムな音。

と変化をつけられます。

ユーザーの動作によって変化するリクエスト間隔に、音の変化をつけることで飽きさせない効果をだしつつ、サウンドを賑やかにすることができます。

音程感のある音などにも効果的です。

音程感があるものなら、音程を音楽的変化させることで、
音の重なった時の「濁り」や「不協和音」を意図的に減らせます。

目立つ音が短期間で鳴った場合、重なってしまう時に リミット行うのとは別の方法での演出ができます。

連続ヒットがうまくいっている時に「より達成感のある音」が鳴るといった演出も可能です。(逆に連続ダメージ時にダウンな音を鳴らすなども)

【作り方】

20140701コンボシーケンシャルタイムライン

1.キューを作成。

2.キュータイプを「コンボシーケンシャル」にする。

3.トラックを複数用意し、トラックに波形を配置。

4.キューのプロパティから、「コンボ間隔」の時間を設定。
1000とすると1秒以内のリクエストでシーケンシャルに変化します。

5.キューのプロパティから、「コンボ戻り」を指定します。
0にすると、コンボが繋がった時にトラックの最初に戻ります。

【確認】

それぞれ、トラックに音階「ド」「レ」「ミ」とつけたとして、

間を置きながら再生すると (「、」が1秒間隔)

ド、 ド、 ド、

と先頭のもののみ鳴ります。

間を置かずに再生を行うと、全体がシーケンシャルに切り替わります。

ドレミドレミドレミ

しばらく間を置いて再生すると最初の音が鳴ります。

ドレミ、 ドレ、 ド、 ド、

「コンボ戻り」を「2」にすると、最後のトラックの音が鳴ります。

ドレミミミミミ

「コンボ戻り」を「1」にすると、最後のトラックと一つ前のトラックの音が交互に鳴ります。

ドレミレミレミ

となります。

【応用】

デバッグ用途ですが、短時間に大量にリクエストされているなどのチェックにも使えるかもしれません。

残響を変更する

【残響を変更するとは?】

20140627DSPバス設定

トンネルの中やお風呂場、学校の階段や廊下、体育館など反響の多い空間の再現をしたい時があります。
エコーやディレイなどの音の余韻にかかるエフェクトの代表として、リバーブがあります。

一般に音に厚みが生まれるので、「音が良くなった」「うまくなった」ような感じることができます。
元の音もあわさって音量も大きくなります。

ADX2には、通常の「リバーブ」の他、高品質な「I3DL2リバーブ」があります。
どちらもサラウンドに対応したエフェクトとなっています。

【リバーブの使い方】

20140627FX1バスセンド
初期状態では「BUS1」のセンド先にリバーブがセットされています。

キューの「FX1」タブにある「バスセンド」の1の項目を上げることで、リバーブ効果が生まれます。

【さらに豪華にする】

キューの「FX1」タブにある「バスセンド」の数字の「1」をダブルクリックすると、「DSPバス設定」の項目に移動できます。

ここで、BUS1の「リバーブ」を右クリックし、コンテクストメニューから「エフェクトの削除」を選択します。

次に、BUS1の「エフェクト」右横の「+」を押して「I3DL2リバーブ」を選択します。

20140627DSPI3DL2リバーブ

これで「I3DL2リバーブ」のかかった音に変化しました。
「リバーブ」より細かいニュアンスを設定できるリバーブとなっています。

【デモプロジェクト】

「CRI Atom Craftアクションデモプロジェクト」にエフェクトを使ったデモがあります。

複数のコメントを一気に流し込む

【複数のコメントを一気に流し込む?】

声の収録データで、収録後の波形ファイル名は連番で内容が分からないと非常に扱いづらいです。
そこで、収録時にエクセルなどで管理されたファイルと内容のリストから、コメントを一気に流し込めると非常に助かります。

20140620コメントの流し込み

【コメントの流し込み】

まず、エクセルなどで、領域選択しコピーします。

20140620エクセルから領域コピー

次にAtomCraftで流し込みたいキューを範囲選択し、トップのコメントセルを編集状態にし、右クリックメニューから「クリップボードのデータを選択オブジェクトの列へペースト」を選択します。
20140620コメントへ流し込み

キューIDを小さい順に一気に振り直す

 

【キューIDを小さい順に一気に振り直すとは?】

キューのIDを使っている場合、重複しない番号で自動で生成されるのですが、
作った順で番号が振られるため、消したり差し替えたりすると順番がぐちゃぐちゃになっていたりします。そんな時に、簡単に振り直す方法があります。

【キューIDを小さい順に振り直す】

20140619キューID連番

キューをリスト表示し、右クリックメニューから「キューIDを選択項目から連番に変更する(選択中のキューのみ)」を行います。

 

波形編集ソフトと連携させる

 【波形エディターと連携させるとは?】

AtomCraftでは波形の編集ができません。かわりに波形の上で右クリックすると「波形エディターで開く」メニューがあります。

これですぐに波形エディターで編集ができるようになります。

 波形エディタでファイルを開く

【波形エディターを設定する】

20140617波形エディタ

「ツールメニュー>プロパティ>その他」の「波形エディター」のアプリケーションパスから、exeを選択します。

トラックのボリュームを変更する

【トラックのボリュームを変更するとは?】

バンド演奏などPAでは、BGMや声、楽器などの音をミキサー入力しバランスを調整します。

ADX2ではマルチトラックレコーダのイメージになぞらえ、トラックと呼びます。

トラックのボリュームを変更することで、トラック内に配置された音源の音量を調整できます。
これを、ゲーム中で行うとゲームの状況によって音楽のバランスが変化する演出が行えます。
例えば、敵がでてきたらドラムトラックのみになるなどです。

 【素材の用意】

20140613Music

ここでは、例として、ドラム、伴奏、リードと3つのパートを用意します。
別々の波形にミックスすることで、それぞれをゲーム実行時にコントロールできます。

これらの楽器のバランスをコントロールする状況を考えてみます。

    • ドラムだけにする(敵が現れた)
    • 伴奏だけにする(会話シーン)
    • リードだけにする(ステルスシーン)
    • すべてのパートをゆっくりフェードインする(敵がいなくなった)
    • すべてのパートをすばやくフェードインする(移動シーン)
    • 音楽を再生する(ステージスタート)
    • すべてのパートをフェードアウトして止める(ステージエンド)

この操作を行うキューをそれぞれ用意します。

 20140613CueList

ピンク色で書いたものはゲームのイベントになります。
音の表現、音楽の変化などは結果としてであり、プログラマ側で詳細まで意識しなくとも演出可能な形にするのであれば、抽象的なピンク色の方が扱いやすいかもしれません。
後付けで演出を変えたりといった場合などにもあえて具体的にしないのもありです。
※ここでは具体的な効果をあらわすキューの名前をつけています。

 【トラックのボリュームを変更するアクションを作る】

完成品はこれです。

 20140613Music_DrumOnly

キューの下のトラックに注目してください。トラックを表す「T」のアイコンに稲妻が入った、 「ActionTrack」 というものがあります。

20140613ActionTrackこれは、アクショントラックと呼びます。

右側には波形ではなく「P」とかかれた緑のリージョンがあります。 これを「アクション」と呼びます。タイムラインの横軸を拡大すると「PlaybackParam」と書かれています。

 20140613PlaybackParam

まず、これを作ります。

【トラックのボリュームを変更するアクションを作る】

まず、ドラムのトラックをコントロールしたい=ドラムのトラックを「アクション」の「ターゲット」にします。

空のキューを作成し、キューの下のあたりの余白を右クリックし、「アクショントラック」を作成します。

20140613NewActionTrack

20140613NoTargetObject

アクショントラック「ActionTrack」が作成されました。

よく見ると「No TargetObject」と書かれています。これにターゲットのトラックを設定します。

20140613DragTarget

設定するには、元の楽曲キューのトラックをActionTrackにドラッグ&ドロップします。

20140613ActionTrackWithTarget

ActionTrackの「No TargetObject」がドロップしたトラック名「Tr_DRUMS_F01_A1_N」に変化しました。

これで、この「アクショントラック」は、「Tr_DRUMS_F01_A1_N」トラックをコントロールするアクションが置けるようになりました。

【トラックのボリュームを変更するアクションを作る】

「アクショントラック」の右側で、右クリックし、メニューから「再生パラメータアクションの作成」を選びます。

20140613NewAction

できた「PlaybackParam」を右クリックして「プロパティリスト」を選択します。

すると、右側に「プロパティ」のリストが表示されます。

20140613PropertyList

プロパティから「目標パラーメータ値」を「0.00」となっています。

【ためしに再生】

「音楽」キューを鳴らしてから、このキューを再生してみましょう。

するとどうでしょう、ドラムパートの音が消えるのが確認できます。

このキューが再生されたら、トラックのボリュームは、元の値から、0.00に変化したのです。

【トラックの音量を元に戻す】

トラックの音量を元に戻すには、「トラック」の音量を変更する必要があります。

さて、ここで問題になるのは、元のトラックの音量は何か?

実は、バランス調整のためトラックの音量は、1.00にはなっていない場合があります。

ここでは、「目標パラーメータ値」を「0.30」にしてみましょう。

【ためしに再生】

「音楽」キューを鳴らしてから、このキューを再生してみましょう。

するとどうでしょう、ドラムパートの音が小さくなったのを確認できます。

このキューが再生されたら、トラックのボリュームは、元の値から、0.30に変化したのです。

これは、元の値が不定な状態から、「0.30」に変化させる動作になります。

「トラック」の「パラメータ」を変更する「アクション」を作ることができるだけなので、

状況によって、「音量を下げる」のか「上げる」のか「元の音量に戻す」のかは、どう操作したいか次第になります。

【ドラムだけにする】

最初の目的である「ドラムだけにする」は、実はアバウトな要望です。

細かく見て行くと

      • ドラムを聞こえるように=ドラムトラックの音量を0.80に変化
      • 伴奏を止める=伴奏トラックの音量を0.00に変化
      • リードを止める=リードトラックの音量を0.00に変化

という3つの動作を意味します。

プログラムでもしコントロールするとしても、トラックがどんな音量だったか、どのくらいの音量にすべきか、さらにどのトラックが何のトラックなのか、全てを把握している必要があります。

これはプログラマにとってもデザイナにとても負担が大きいです。

これらのアクションを用意する方法は割愛しますが、ここまで理解できていれば、

ゲームでおこるさまざまなイベントを「アクション」するキューを作ることで解決できるかと思います。

【完成品】

デモプロジェクトから「CRI Atom Craftアクションデモプロジェクト」をダウンロードしてください。

自動繰り返し発音させる

自動繰り返し機能

【自動繰り返し発音させるとは?】

波形の繰り返し・・・というと、普通はループ再生を思い浮かべるかと思います。

自動繰り返しは、一つの波形を複数回再生するときに便利な機能です。

タイムラインで波形を複製するのと結果は同じなのですが、簡単に回数指定ループができます。

対象は基本的にワンショットの波形となります。

【自動繰り返し機能の作り方】

プロパティボタン←プロパティボタンを押す

タイムラインで「波形」を選択します。
「プロパティ」を開き「自動繰り返し間隔」を0以外にします。

  • 【回数を指定する場合】

自動繰り返し回数7
「自動繰り返し回数」を「繰り返したい回数マイナス1」で指定します。

例えば、8回鳴ってほしければ7と設定します。

-1だと無限に繰り返します。

  • 【波形の長さでループする】


    波形Tips
    波形の上にカーソルを重ねると、msecで長さを確認することができます。
    同じ長さにすれば、切れ目無く再生され、長めに設定すると間が空きます。
    短くすると重なって再生されます。
    機械的にブザー音が鳴るといった場合の調整に便利です。

  • 【再生タイミングランダムで味付け】

再生タイミングランダム
周期的に繰り返すのではなく、水滴が定期的に落ちるみたいな若干ランダムに音が鳴るような場合、
「再生タイミングランダム」を設定すると、繰り返す毎にランダムに遅延が発生し、乱雑さを作ることができます。

  • 【トラックのMonoモードで発音数制限する】

トラックを選択し、プロパティから「トラックMonoフラグ」をTrueにすると、トラック内の音が1音でリミットされます。
トラック内で次音が鳴った時に前の音を止めてくれるので、発音数が増大せずに済みます。

トラックMono

 

  • 【何に使えるのか?】

ブザー音の回数が決まっているもの、
メトロノーム音、
矩形波形(ある程度長さのある、あるいはループ)をランダムピッチ再生して、トラックMonoモードにして、再生確率を低めにすると、「サンプル&ホールド」的な表現(昔のSF映画などのコンピュータ動作音)(キューの「再生レート」を変更すると変化速度も変えられて面白い)
定期的に再生される環境音(水滴がぽたぽた落ちる)、
ランダムタイミング、ランダムピッチ、ランダムパンなど合わせて雨の落ちる音(地面やトタン板に当たった音)、
がやがやした音(ブブゼラの音や「ざわざわ」とか)、
火花が地面に設置した時のぱちぱち音、
爆発で破片がパラパラと落ちる音、
自転車のホイールのからからいう音、
プロペラの低回転時の音
波の寄せ返す音、水のせせらぎ、
草木の風ですれる音、
たき火で薪がたまにパチパチという音、
など

映像のエフェクトでいうところのパーティクルエミッターのような考え方を音に応用したようなものとなります。
「自動繰り返し数」、各種パラメータのランダム、「再生確率」などいろいろためしてみましょう。
AISACも組み合わせて状況に応じて、変化速度など変えたり、音量バランスを変えたりするのも面白い効果が得られるかもしれません。

ADX2の機能を俯瞰する

ADX2マップ

【ADX2の機能を俯瞰する】

ADX2には様々な機能があります。この地図を参考にどんなことができるか期待に胸を膨らませてみます。知らない場所があればそこはマニュアルを参考に。
もし、空き地があって、そこに必要なものがあればCRIに相談しましょう。

 

【左にいくほどインタラクティブ】

  • 「ファイル」再生は、波形を単純に再生します。そんな機能もランタイムにはあります。
  • 「シーケンス」は、CRI Atom Craft上で作成したタイミング固定の再生をします。
  • 「ランダム」再生は、そのタイミングを揺らしたり、ピッチやボリュームなどをランダム化し、波形の再生を変化させます。
  • 「リソース管理」はCRI Atom Craftで音楽的な設定、ランタイム側ではメモリ管理などを行います。
  • 「AISAC、ブロック、スイッチ、アクション」これらはランタイムとのやりとりによって、インタラクティブなコントロールを行うことができます。CRI Atom Craftで楽器を作成し、ランタイムで演奏します。
  • 「DirectX,CoreAudio」 ADX2は波形を生成する巨大なシンセサイザーともとれます。標準的なオーディオ出力の機能がある環境であれば、どのプラットフォームでも同じ音が再現できます。
    ※機種依存コーデックとか、ハード実装に近いミキサーなどを使う場合を除く

確実に聞こえる音をつくる

【確実に聞こえる音をつくるとは?】

たとえば、アーケードゲームのコイン投入音や、ソーシャルゲームの課金音、
ゲーム開始の音など、最重要な音があります。

【キューシートの設定】

  • 【キューシートにcommonを用意する】

これらの音は絶対に消えない音として、common(共通用)のキューシートを用意し、
ゲーム開始から終了するまで存在し続ける必要があります。

シーンが切り替わっても、どんな時でも、キューリクエストに応じ音が鳴るようにします。

【優先度の設定】

  • 【キューのプライオリティを上げる】

「カテゴリ」内での「キュー」のプライオリティとして「カテゴリキュープライオリティ」があります。同じ「カテゴリ」内での「キュー」の奪い合い時にこの値が高い(255など)すると消されない音になります。

「カテゴリ」未設定の場合には有効にならないので、必ず何かの「カテゴリ」に属するようにします。

  • 【ボイスのプライオリティを上げる】

波形が限定されるはずなので、「タイムライン」で波形を選択し、FX2タブ内の「ボイスプライオリティ」も高い値(255)にしておくことで、ボイスリソースが足りない時にも消されない音になります。

  • 【ボイスプライオリティの高い音のは控えめに】

スタート音やコイン投入音は目立つ、かっこいい音が良いのですが、
「ボイスプライオリティ」の高い音が長く、はたまた間違って無限ループなどが混ざったような音は避けましょう。
優先度の高い音が占有しすぎて、他の音が鳴らない状態になってしまいます。
そこで、「リミット」も設定しておくことが重要です。

たいていは1音で良いはずなので、「キューリミット」を「1」としておくと良いでしょう。

【ボリュームの設定】

  • 【REACTを使って他の音を下げる】

少々乱暴ですが、common以外の音を全て下げるように全ての「カテゴリ」に対して「REACT」の設定をすることで、common音を目立たせるといった事も可能です。

波形開始位置を変更する

【波形開始位置を変更するとは?】

波形を再生すると、「あれ、なんか再生遅い?再生遅延?」

波形の先頭部分を拡大してよく見てみると、無音部分がありました。

こんな時、ちゃんと対応するには波形エディタを開いて調整する必要があるけれど、
ADX2ならとりあえず対処することができます。

【シーケンスマーカーのシーケンススタートを使う】

  • 「タイムライン」の「キュー」の右側のところを右クリックします。
  • 「マーカーの追加」から「シーケンススタート」を選択します。
  • 波形の再生開始したい場所にドラッグして移動します。

これで波形の途中から再生がとりあえずできます。
ただし、ちょっと負荷的に損しているので、時間がある場合は波形を編集するのが良いです。