このエントリは、「ADX2 LE」のサウンドオーサリングツール「CRI Atom Craft」を使って、初期設定からシンプルな音声データを作成するまでを解説したものです。
UnityやCocos2d-xなどへのランタイム側の組み込みについては、別途の資料をご確認ください。
- cocos2d-x + ADX2でインタラクティブミュージックに挑戦する(前編)
- ADX2 LEの使い方 for Unity(さくっと導入する手順) :作成中
「ADX2 LE」に関する最新情報は下記ブログも合わせてごらん下さい。
えるいー便り
「ADX2 LE」について
「ADX2 LE」は、CRI・ミドルウェアが配布しているゲーム・アプリ開発向け無償サウンドミドルウェアです。
個人のUnityやCocos2d-xを使ったスマートフォンアプリ開発者と、PCゲーム開発者向けに配布されています。
独自のサウンド圧縮コーデックや、サウンドオーサリングツールを介した効率的な音声演出開発が可能になります。
詳細は「ADX2 LE」公式サイトをご覧ください。
http://www.adx2le.com/
##「ADX2 LE」の入手
公式サイトの「ダウンロード」からSDKをダウンロードしてください。
(UnityのAssetStoreでは配布していません。)
解凍して出てきたフォルダを、任意の位置に置きます。パスに日本語が含まれていると正常に動作しないので注意が必要です。
「CRI Atom Craft」に必要なランタイムは以下の2つです。
- .NET Framework 3.5 Service Pack 1 以上
- DirectX 9.0c Jun 2010 以上
まずはこの2つをインストールしましょう。
CRI Atom Craftの起動とプロジェクトの作成
cri\tools\criatomex\CriAtomCraft.exe が「CRI Atom Craft」です。
exe右クリック→プロパティから、“管理者として実行”にチェックを入れて適用すると、毎回管理者権限を聞かれなくなるので楽です。
データの作成手順はCocos2d-xでの利用やVisual Studioを使ったPCゲーム開発の場合も共通しております。
ツールを起動してみましょう。起動するとTIPSが表示されます。
次に、プロジェクトファイルを新規作成します。
プロジェクトファイルは、開発するアプリごとに1つ作り、すべてのサウンドデータを管理します。
名前はゲームタイトルと同じにするとわかりやすいです。今回はとりあえず"Demo"と設定して進めます。
作成すると「ワークユニットの追加」というウィザードが出ます。
「ワークユニット」はプロジェクトの下の階層です。ざっくり言うと、ツールで読み込む作業の単位です。
サウンドデータが大量にあったり、複数人でツールを使う場合には、ワークユニットで作業単位を分けます。
今回はこのまま「追加」をクリックします。
空のプロジェクトファイルが作成されます。
続いて、初期設定をします。左メニューのピンク色のフォルダ「全体設定」→「ターゲットコンフィグ」→「Public」を選択します。
プロパティのうち「エンコーディングタイプ(メモリ)」をADXからHCAに変更します。
(コーデックによる違いについては別の機会で説明します)
こうすると、このプロジェクトの音声は基本的にHCAコーデックでエンコードされるようになります。
その下の「エンコード品質」で圧縮設定ができます。
せっかくなので高圧縮モードにしておきましょう。元素材の1/10程度になります。
##音声素材の登録
音声素材はツール左下の「マテリアル」に登録します。
「マテリアルルートフォルダ」を選択して右クリックし、「エクスプローラーで開く」を選択してください。
開いたMaterialsフォルダの中に素材のWaveファイル(aiffでも可)を入れます。
手ごろな素材が無い場合はCRIが配布している無償素材
ツールに戻り、同じく「マテリアルルートフォルダ」の右クリックから「未登録ファイルの登録」を選択すると、プロジェクトに素材が読み込まれます。
素材に対して、この音がメモリ再生か、ストリーム再生かを設定でききます。
- メモリ再生:メモリにサウンドデータを全部載せる。すぐ再生できる。
- ストリーム再生:メモリに必要な部分だけのサウンドデータを載せながら再生する。
一般的にSE(効果音)はメモリ再生、ボイスやBGMなど長い音はストリーム再生にします。
ここではBGMデータをストリーム再生に設定します。
素材データを選択して、プロパティ内の「ストリーミングタイプ」を変更します。
フォルダ分けした素材に対して一括して設定することも可能ですが、今回は割愛します。
ゲーム中で鳴らす音(キュー)の作成
ADX2 LEでは、プログラムから再生リクエストされる音の1単位を
**「キュー」**と呼んでいます。
今回はシンプルに1音を鳴らすだけの「キュー」を用意しましょう。
まずは、左カラムの"CueSheet_0"を選択します。
これは、「キューシート」と呼ばれる階層です。
キューシートは、複数のキューを格納しています。
ツールから出力されるパックファイルは、キューシート単位で作成されます。
ステージで鳴る音やキャラクターの音など、ロードする単位で分けて使用します。
(別のシステムで"サウンドバンク"と呼んでいるものに近いです。)
右クリックから、"Stage1"とか"PlayerVoice"とか任意の名称を設定できます。
今回はデフォルトの"CueSheet_0"のまま進めます。
先ほどマテリアルに登録した素材データを、"CueSheet_0"にドラッグ&ドロップします。
「キュー」が生成されました。
プログラムからは、この「キュー」単位でサウンドを鳴らす仕組みになります。
作成したキューを選択して、F5キーでプレビュー再生します。
初回はこういう画面が出るので「許可」してください。
(ツール内部で通信をしているため、この画面が初回出ます。)
プレビューで再生される音声は、HCAコーデックでエンコードされた結果となります。
すなわち、スマートフォン実機上から再生されるデータと同じ音質となります。
本来であればここからキューに対して様々なサウンド演出設定を行うのですが、今回は何も設定せず、シンプルに鳴らすだけのデータのまま進みます。
作成したデータの出力
"CueSheet_0"を選択して、右クリックから「Atomキューシートバイナリのビルド」を選択します。
Unity開発で使う場合は、「Unity情報出力」にチェックを入れてください。
(Unityのカスタムエディタ内で読むための情報と、Assetsフォルダを生成します。)
ビル完了後、再び"CueSheet_0"を選択して右クリックから
「Atomキューシートバイナリ出力先フォルダをエクスプローラーで開く」を選びます。
出力したデータを確認します。
色々出力されています。
「Demo.acf」ファイルはプロジェクト全体の設定ファイルです。
WorkUnit_0フォルダ、またはAssetsフォルダ内にできているファイルのうち、
「CueSheet_0.acb」がキュー情報とメモリ再生データのパックファイルです。
「CueSheet_0.awb」がストリーミング再生データのパックファイルです。(ストリーム再生を設定した場合のみ出力されます)
まずは最低限、再生できるデータが準備できました。
##各種開発環境での利用について
Cocos2d-x組み込み
Unity組み込み
- ADX2 LEの使い方 for Unity(さくっと導入する手順) :作成中
いまのところは前バージョンのSlideshareの資料をご参照ください。
「ADX2 LE」Unity プラグイン クイック導入ガイド
「ADX2 LE」WEB版マニュアル