見出し画像

CRI Atom Craft でサウンドデータを作ってみる/第1回

こんにちは。
G2 Studios アートチーム サウンド設計担当のサキサキです。

弊社におけるゲームアプリの開発ではサウンドミドルウェア「CRI ADX2」を採用し、サウンド関連における様々な試みが行われております。

私の書くnoteでは、CRI ADX2 サウンドオーサリングツール「CRI Atom Craft」を用いてのサウンド実装で培ったノウハウやよく使う機能の紹介、新機能についての調査結果等を複数回にわたってご紹介したいと思います。

今回は、記念すべき第1回目ということもあり、AtomCraftのインストールから新規プロジェクトの立ち上げ、そして簡単なサウンドデータを作成し保存するところまでの大枠の流れを掴むことを目的(ゴール)にします。



■初めに…

「サウンドについてはよく分からない」という言葉をゲーム開発者間の会話でよく耳にします。
確かに、メディア等を通じ音楽には普段からよく触れてはいるものの、それらが実際にどのようにして作られているかと問われると、非常にとっつきにくい内容なのかもしれません。
ただ、私個人が業務を行う上で感じるには「AtomCraftを触るのには、必ずしもサウンドに関する知識や技術をたくさん持っている必要はない」ということが挙げられます。
実際、私はサウンドの専門家ではありませんし、業務上たまたまそうなってしまったというか、何というか…(笑)もちろん、そこに関わる以上、最低限必要なことを勉強する必要は出てきますし、作業の幅を広げる為に多くの知識や技術を持つに越したことはないと思います。

何が言いたいかというと、「AtomCraft」はそんなサウンドの専門家ではない人たちにも気軽に触ることが出来る扱いやすいツールである、ということです。
むしろそういったサウンド業務について知識を深めていきたい人たちに是非触っていただきたいと思いましたので、今回noteに書き始めることにしました。
不明点が多いとされるゲーム開発上のサウンド業務について、少しでもみなさんの後押しが出来れば嬉しいです。


■AtomCraftで出来ること

AtomCraftを実際に触る前に「出来ること(利用することによるメリット)」を見ていきましょう。

・膨大な音声データを効率的に管理・調整できる
・独自の圧縮技術でファイル容量を削減
・高圧縮率なのに高音質、更にCPU負荷を低減
・フェード処理や再生制限など、サウンド再生において必要となる処理がビルトイン済み
・実端末で鳴らしつつ、リアルタイムにパラメータ変更できる
・Android端末におけるサウンドの再生遅延を低減
・イントロ付き楽曲をループ処理できる
・内部的なファイル変更に対してのスクリプト改変が不要
・音声データを暗号化し、セキュリティを高めることができる
・既に一流ブランド!ロゴがあるだけでゲームの価値がワンランクアップ!!
・とにかくサポートが手厚い

どうでしょう、箇条書きにした内容を見るだけでも、もうメリットだらけですよね!
実際にこれらのものをゲーム開発時に自力でプログラムコードを書いて作ることをイメージしたら、ちょっと寒気がしてしまいます…。
仮に何らかのデメリットが存在するとしても、これだけのメリットを打ち消すだけのものって一体…。

もはや、これ一択でしかない!!

因みに、私は決してCRI・ミドルウェア社の回し者ではありません(笑)


■作業環境

本ブログは以下の環境下での作業内容を記載致します。

OS      :Windows10 Pro
CRI SDK    :criware_sdk_unity_v3_03_00_smartphone_j


■SDKのインストール

CRIWARE テクニカルサポート(https://www.criware.jp)にアクセスし、スマートフォン向けのUnityプラグインをダウンロードします。
テクニカルサポートページの利用にはアカウントへのログインが必要になります。
アカウント未取得の場合は、「お問い合わせフォーム(https://www.cri-mw.co.jp/contact/?type=trial)」からアカウント発行の申し込みをすれば、数日のうちに発行してもらえると思います。

スマートフォン向けのUnityプラグインのダウンロードページはこちら(https://www.criware.jp/download/unity_plug_in/pc)。
上記のページには常に最新のものがアップされるようになっているようです。

zipファイルのダウンロードが完了したら任意の場所に解凍します。
解凍したプラグインのルートフォルダ名は「cri」になっているかと思います。
私はいくつかのプロジェクトを横断している為、このフォルダ名称を変更することで複数のプラグインバージョンを同時に管理しています。
そのことにより何らかの支障をきたしたことはここ数年で一度もありませんが、同様の管理をする場合は自己責任となってきますのでご注意ください。


■ライセンスの取得とPC登録

SDKのインストールが完了したら、ライセンスの取得を行います("cri\tools\Authorization\CriAuthorizationTool.exe"")。

▼こちらのマークが目印です。

画像15
画像16

ツールが起動し「CRIWARE オーサライゼーションツール」が開きますので、「ツールユーザーライセンス発行」ボタンを押下します。

画像17

「ツールユーザーライセンス発行」の表示に切り替わりますので、利用するメールアドレスを入力、利用規約を確認し問題ないようでしたら「利用規約に同意します」にチェックを入れ、「登録」ボタンを押下します。
この後、入力したメールアドレス宛に「確認コード」が記載されたメールが届きます。

画像18

「メールアドレス確認」の表示に切り替わりますので、メールで受け取った確認コードを入力し「次へ」ボタンを押下します。

画像19

確認コードが認証されると「ツールユーザーライセンス発行完了」の表示に切り替わりますので、「PC登録」ボタンを押下し使用PCの登録へ進みます。

画像20

「PC固有情報登録中」の表示に切り替わり(PC登録処理が行われます)、完了すると自動的にマイページへ遷移します。
因みにですが、1ライセンスにつき5台のPCまでオンライン認証対応ツールが使用可能とのことです。

これで、AtomCraftを利用する為の準備は完了となります。



■新規プロジェクトの作成

では、さっそくAtomCraftを立ち上げていきます("cri\tools\ADX2\ver.3\CriAtomCraft.exe")。

▼こちらのマークが目印です。

画像1
画像2

ツールが起動し「スタートページ」が開きますので、「新規作成」ボタンを押下します。

画像3

「プロジェクトの新規作成」ウィンドウが開きますので、「プロジェクト名」「プロジェクトルートパス」を任意で決定し、「プロジェクトの新規作成」ボタンを押下します。
プロジェクト名は後で変更することも可能ではありますが、ツールの構造と生成ファイルの関係性を熟知した上での対応が必要となってきますので、それ前提でのプロジェクト作成はあまりお勧めできません。
万が一のリスクを回避する為には、今後ずっと使っていくであろう名前にすることが理想ではないかと思います。
プロジェクトルートパスはローカル上でもリモート上でも問題なく指定可能です。
こちらも、後々変更することは可能です。

画像4
画像5

「プロジェクトキー登録」を推奨するウィンドウが立ち上がり、ログビュー上にも同内容の文章がオレンジ色で表示されますが、今回は「OK」ボタンを押下して先に進みます。
ここでの注意点としては、プロジェクトキー登録がされていない場合は商用利用が不可となり、また AtomCraftのメイン機能にもいくつ制限がかかってくるところかと思います。
プロジェクトキーにつきましても「お問い合わせフォーム(https://www.cri-mw.co.jp/contact/?type=trial)」から発行の申し込みをすれば、数日のうちに発行してもらえると思います。

画像6

「ワークユニットの追加」ウィンドウが表示されますので、任意の名前を入力し「追加」ボタンを押下します。
ワークユニットとは絵画で例えるなら「絵を描くためのキャンバス」の様なもので、使用者はワークユニット上に音源を並べて様々な演出を作成したり、パラメータの調整を行ったりします。
1プロジェクト内に必ず1つは必要となり、勿論複数持つことも可能ですが、それらをどう扱うかは様々です。

画像7

プロジェクトが初期状態で展開し、データ作成が可能な状態となります。
新規プロジェクトの作成はこれで完了です。

■サウンドデータを作成

AtomCraftで音を鳴らすためにサウンドデータを作成する必要があるのですが、ここでは最も簡単な方法を取りあげようと思います。

データ登録に際し、先ずは鳴らしたい音声ファイル(波形ファイル)を何処からか収集してきます。
ここで注意すべき点の一つとして、音声ファイル(波形ファイル)の「フォーマット」が挙げられます。
公式の CRI ADX2 Toolsマニュアルでは「チャンネル数」「量子化ビット数」についても挙げられてますが少々深堀りした内容になってきますので、ここでは触れないでおこうと思います。

音声ファイルのフォーマットは広く知られている「.wav」や「.mp3」をはじめ非常に多くの種類が存在しますが、その中で AtomCraftに取り込むことのできるものは非圧縮音声である「WAV (.wav) 」と「AIFF (.aif, .aiff) 」の2種類になります。
「そもそも圧縮された音声だと、どんなにツール上で弄っても良い音にはなりませんよ!」ということなのかもしれませんね。
「WAV (.wav) 」の音声ファイルでしたら、商用として利用しないのであればインターネット上でフリー素材をどうにか拾ってくることが可能ではないかと思います(*自己責任でお願いします)。
それでも「不安だ」「面倒くさい」「ハードルが高い」という方は、こちらの音源をご利用ください。

手っ取り早く作成した「指パッチン(24ビット/2チャンネル)」の .wavデータになります。
こちらは紛れもない私の「指パッチン」ですので、商用でも何でも自由にご利用いただいて大丈夫です(笑)

音声ファイルが用意できましたら、AtomCraftに取り込みます。

画像8

音声ファイルをドラッグし、展開されているAtomCraftの「マテリアルツリー」ビューにある「マテリアルルートフォルダー」にドロップします。

画像9

これにより、マテリアルツリー内に「マテリアル(エンコード用の付加情報を持った音声素材)」が生成されました。

「このマテリアルって、さっきドラッグ&ドロップした音声ファイルではないの?」という疑問を持つ人もいるかもしれません。
「全く別物」とも言い切れませんが、敢えて言うならば、マテリアルは「AtomCraft上であれこれ扱うことが出来る様に、そのもともの音声ファイルの形を変えたデータ」であり、別の場所に格納された音声ファイルとリンクされて初めてAtomCraft上で音を鳴らすことのできるものになります。
どちらか片方が無くなるだけで音を鳴らすことが出来なくなるものだと考えて差支えありません。

画像10

次に先ほど生成されたマテリアルをドラッグし、「ワークユニットツリー」ビューにあるワークユニット配下のディレクトリ(ここではワークユニットと同名のディレクトリ)にドロップします。
そうすると、ワークユニットツリー上にオブジェクトが生成されます。

ファイル構成は下記の通りとなります。

・キューシート:オーサリングを行った音声群を纏めたオブジェクトで、データビルド時にはこの単位で出力されます。

・キュー:ゲームプログラム側からサウンドをリクエストする際に指定するオブジェクトで、「キュー名」または「キューID」を用いてリクエストします。キュー内には複数のトラックを保持することが可能です。

・トラック:リージョンをタイムラインに登録するためのオブジェクトで、トラック内には複数のリージョンを保持することが可能です。

・リージョン(ウェーブフォームリージョン):音声素材(マテリアル)をトラック上に配置し、再生パラメーター情報を付加させたオブジェクトです。他のウェーブフォームリージョンとマテリアルの共有が可能です。

サウンドデータの作成はこれで完了です。

■サウンドの再生

それでは、ワークユニットツリー上に生成されたキューを、AtomCraft上でリクエストし音を鳴らしてみましょう。

画像11

キューまたはキューシートを選択し、メニューバー下にある「▶(再生)」ボタンを押下します。

どうでしょう。
問題なく音が鳴ることを確認できたのではないかと思います。
サンプル音源を利用した人は、実に見事な「指パッチン」の音が耳、そして心に鳴り響いたのではないでしょうか(笑)

画像12

そして、ログビュー上にはサウンド再生時に呼び出ししたファイル名が表示されます。

今回は登録されたキューが一つなので、キューシートを選択して再生することでも意図したキューの再生が出来ました。
しかしながら、キューが複数登録されている場合、同様に操作するとキューシートの一番上に登録されたキューのみが鳴るようになります。
それ以外のキューを鳴らす場合は、鳴らしたいキューを選択して「▶(再生)」ボタンを押下する必要が出てきます。

また、ちょっとした小ネタではありますが、「▶(再生)」ボタンについてはショートカットキーとしてキーボードの「スペース」又は「F5」を押下することでも代用が可能です。
同様に「F6」のキーが「■(停止)」のショートカットキーになっているため、私は「F5」「F6」を多用することで作業時間の短縮を計っています。
非常に便利ですので、皆さんにも是非お勧めしたいです。

■プロジェクトの保存

では、作業内容をプロジェクトに保存しましょう。

画像13

メニューバーにある「プロジェクト(全てのファイル)の保存」ボタン、またはショートカットキー「Ctrl + S」を押下します。

画像14

無事保存が完了すると、「プロジェクトの保存」ボタンがグレー表示になり、併せてログビューにも保存完了のログが表示されます。
保存せずにAtomCraftを終了してしまった場合、前回の保存以降の作業は全て無かったことになってしまいますので、細目に保存することをお勧めします。


■最後に…

今回のブログは以上となります。
いかがでしたでしょうか。
やってみると意外といけそうに感じた人も多いのではないでしょうか。

AtomCraft には非常にたくさんの便利機能があり、ゲームサウンドに纏わる演出はほぼほぼこれ一つで完結してしまうのではないかと思えるくらいです。
次回以降のnoteは、そういった機能にも触れていきたいと思います。


▼G2 Studiosでは一緒に働く仲間を募集しています


X(Twitter)にて最新のお知らせを配信しております。ぜひフォローしてください!