「CRI ADX Tools」を初めて使う方へ

CRI ADX の基礎知識

CRI ADX の役割

CRI ADX は、「CRI Atom Craft」などの専用ツールによって出力したデータファイルを、ADX ランタイムライブラリによって実機上(ゲーム機、スマートフォンなど)で再生します。

cri_adx2_primer_tool_runtime_flow.png

データファイルの作成は、ADX 専用ツールにPro ToolsやSound Forgeなどのサウンド編集ツールによって作成された波形ファイルを登録し、再生タイミング、再生時パラメーターの調整やエンコード(圧縮)等を行って作成します。ランタイムライブラリは、ツールが出力したデータファイル(複数の圧縮された波形データ)をリアルタイムにデコードしながら、実機上で再生します。

「キュー」によるサウンドデザイン

波形ファイルベースのプログラムでは「ファイル名」を指定して波形を再生しますが、CRI ADX では「キュー (合図)」を指定して再生します。最も単純な使用例は、波形ファイルをCRI Atom Craftにドラッグ&ドロップするとファイル名と同じ名前の「キュー」が自動的に作成されますので、「波形ファイル名」の代わりに「キュー名」を指定して再生することです。

cri_adx2_primer_cue_packing.png

プログラマーは、以下のように「キュー」をセットして再生します。

criAtomExPlayer_SetCueName(player, acb, '爆発');
criAtomExPlyaer_Start(player);

サウンドデザイナは、アプリケーション内で再生される波形を「キュー 」として定義しプログラマーに伝えます。「キュー 」は「合図」という意味ですが、「波形ファイルの再生」だけではなく、「停止」や「音量を下げる」などのサウンド制御を「キュー (合図)」として定義することができます。例えば、ミサイルが爆発する効果音では、着弾時に「ミサイルの飛行音を止めて爆発音を再生する」といったことを一つのキューで行うことができます。「キュー」という抽象化された形式でサウンドデザインできるため、アプリケーションのイベントに合わせて、柔軟で高度なサウンドデザインを行うことができます。

cri_adx2_primer_missile.png


再生の仕組み

最初にアプリケーションはプレーヤーを作成します。そして、プレーヤーに対して「キュー 」を設定してスタート関数を実行すると波形を再生します。この時の、ランタイムライブラリの内部動作は以下の通りです。

  1. プレーヤーは、シーケンサーを作成します。
  2. シーケンサーは、キュー によって指定されたシーケンスデータに沿って波形を再生します。
    シーケンスデータは、再生開始やパラメーター変更などのサウンドの制御指示を時間軸(トラック)に配置したデータです。
  3. シーケンサーが波形を再生するタイミングになると、ボイスプールからボイスを取得し、波形データの再生開始を指示します。
    ボイスは1つの波形ファイルを再生する仕組みで、ボイスプールは動的に発音を管理するための仕組みです。
  4. ボイスは圧縮された波形データをデコードしバスに出力します。
    バスは信号処理を行うオーディオミキサーの一部で、ミキサーは複数のバスによるルーティングの機能を持ちます。
  5. バスは、リバーブやコンプレッサーなどのエフェクト処理を行い、信号を出力します。
cri_adx2_primer_concept.png


プレーヤーとは

アプリケーションは「プレーヤー」によってサウンドを制御します。波形を再生する場合、まずアプリケーションはプレーヤーを作成し、キューを指定して再生します。プレーヤーに対してAPI(関数)によって、プログラムから再生を停止したり、音量などパラメーターを変えることもできます。「プレーヤー」は目的別・キャラクタ別のように用途に合わせて作成します。例えば、音楽用プレーヤー、環境音用プレーヤー、キャラクタA用プレーヤー、キャラクタB用プレーヤーのように作成します。
また、単一プレーヤーに対して複数回の再生指示を行うと、同時に複数の波形が再生されます。例えば、銃声や足音などの効果音を次々と再生すると、効果音が重なりながら再生され、自然なサウンド演出を実現できます。

cri_adx2_primer_player.png


キューとは

キューはCRI ADX ランタイムライブラリを制御するための「合図」です。
アプリケーションプログラムは、プレーヤーにキューをセットしスタート関数を実行すると、
キューが持っているシーケンスデータに従ってサウンド制御を行います。
従って、

「キュー」=「シーケンスデータ」の識別子

となります。
波形ファイルをキューシートにドラッグ&ドロップすると、その波形データを再生するためのキュー が作成されます。
このキューが最も単純なシーケンスデータとなります。

cri_adx2_primer_cue.png


シーケンサーとは

シーケンサーは、「手順を順番に実行する仕組み」です。例えば、「まず音楽を再生し、4秒後に音楽の音量を小さくし、5秒後にセリフを再生する」といった手順を実行できます。このような手順のことを「シーケンスデータ」と呼びます。プレーヤーキュー を設定しスタート関数を実行すると、シーケンサーが作成されます。シーケンサーは、キューの持つシーケンスデータを読み取りながら、適切なタイミングでサウンド制御を行います。シーケンサーはプログラム的な動作ができますので、ループや条件分岐のような高度なサウンド演出も実現できます。

cri_adx2_primer_sequencer.png


シーケンスデータとは

シーケンスデータは、シーケンサーを制御するためのデータです。時間軸に沿ってサウンド制御を行うことができます。
例えば、
     「銃声を再生した200ミリ秒後に薬莢の落ちる音を再生する」
     「ミサイルの飛行音が2秒間で徐々に小さくなり、その後に爆発音を再生する」
といった時系列的なサウンド制御ができます。
波形を再生する場合、シーケンスデータは下記の情報を持ちます。

 (1)再生開始時刻
 (2)再生パラメーター
 (3)波形ファイルID

同じ波形ファイルでも再生パラメーターを変えることによって、音量や音程や音像の位置を変えて再生できるため、少ないデータで様々なサウンドを再生することができます。

シーケンスデータは、市販のサウンドツール(DAW)のように複数のトラックを持ちます。各トラックには波形データやアクションなどを配置できます。また、「アクション」を配置することによって、再生の停止や再生パラメーターの変更などのサウンド制御を行うことができます。各トラックには再生パラメーターを設定することができ、音量や音程の調整を行うことができます。

cri_adx2_primer_sequence.png


ボイスとは

ボイスとは、1つの波形ファイルを再生する仕組みです。ボイスは「声」という意味ですが、人間は単一の音しか発声できないことから由来しています。CRI ADX のボイスは、圧縮した波形データをリアルタイムに展開する仕組みやファイル、ネットワークからのストリーミング再生の仕組みを持ちます。また、再生パラメーターを設定することによって、音量、音程、音像の位置(パンニング)の変更、フィルター処理などを行うことができます。ボイスが再生した波形ファイルはバスに送られますが、各バスに送る量(センド量)を個々に指定することができます。通常のオーディオシステムではボイスはモノラル音源ですが、CRI ADX のボイスは、多チャンネル音源を扱うことができます。

cri_adx2_primer_voice.png


ボイスプールとは

ボイスプールはボイスを貯めておく場所です。シーケンサーは、波形の再生指示があるとボイスプールからボイスを一つ取り出し、再生パラメーターや波形データを指定して再生します。そして、再生が終了するとボイスはボイスプールへ返却されます。このように状況に応じて動的にボイスを管理する機能を「ダイナミック・ボイス・アサイメント(動的発音管理)」と呼びます。この機構によって効率よく複数の波形を再生できます。

cri_adx2_primer_voice_pool.png


バスとは

バスは、ボイスから出力される信号を受け取って、エフェクト処理を行います。CRI ADXでは複数のバスによって、柔軟なエフェクト処理を行うことができます。例えば、効果音用バスで受け取った信号は、「フィルター処理」を行いマスターバスと環境音用バスへ送られます。環境音用バスで受け取った信号は、「リバーブ処理」をしてマスターバスへ送られます。信号は最終的にマスターバスでミキシングされ、実機から出力されます。このように信号処理の経路を設定することを「ルーティング」と呼びます。
バスは、元来、「乗り合い自動車」という意味ですが、右チャンネルや左チャンネルなどの複数の信号を一度に処理できることから「バス」という名称を使用しています。CRI ADXのバスは16チャンネルまでの信号を扱えます。

cri_adx2_primer_dsp_bus.png