月別: 2014年6月

残響を変更する

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

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は波形を生成する巨大なシンセサイザーともとれます。標準的なオーディオ出力の機能がある環境であれば、どのプラットフォームでも同じ音が再現できます。
    ※機種依存コーデックとか、ハード実装に近いミキサーなどを使う場合を除く