投稿ツイートスマホゲーのリッチ化、音のことも忘れずに!CEDECも東京ゲームショウも終了し、ゲーム業界のアツい「秋」もあっという間に過ぎていきましたね!両イベントでは、ボクもたくさんのインプットを集めることができたので、それらを糧に、今後のアウトプットに繋げていけるように頑張りたいと思います。両イベントともに、あまりブースには居なかったので、すれ違いでお会いできなかった方、お気軽にお声掛け下さいね〜、と冒頭から業務連絡で失礼しました。今回のひらブラでは、記事タイトルにもあるとおり、「音数を諦めず、音質を妥協せず、しかも、CPU負荷を最小限に抑える方法」をご紹介したいと思います。いっても、その方法はとっても簡単なんです。ADX2の「HCA-MX」というコーデックを使うだけ。「なーんだ、HCA-MXなら、もう知ってるよ!」という方は、ここで読むのを止めて頂いてOKです(笑)、CRIWAREのことを熟知して頂けているようで感激です!HCA-MXのことをご存知ではなく「なにそれ、美味しいの?」という方は、ぜひ今回のエントリの内容を、今後のアプリ開発の参考にして頂ければ幸いです。▲最近、スマホゲームでの「音」の重要性がどんどん高まっていますね!CRIWAREのことをよくご存知の方にとっては”何を今さら”的なハナシかもしれませんが、ここ最近、たびたびゲームアプリ向けにサウンド関連のご相談を受ける機会が多かったので、改めてご紹介することにしました。スマホゲーのリッチ化が本格的に進むなか、個人的にも「そろそろ音のリッチ化にも注目が集まる頃なんじゃないかなぁ〜」と思っていましたが、まさにドンピシャ!です。画的に(ビジュアル面で)派手な演出のアプリが増える一方で、音の演出について悩みを抱えていらっしゃる開発者の方が増えてきている印象です。そんな方にとっての朗報になれば幸いです。最近、お問い合わせやご質問を頂くことが多いのは、次の3点です。・「音声」を圧縮したい!・「音質」を向上したい!・「負荷」を減らしたい!音の圧縮と音質は、一般的にトレードオフの関係です。圧縮すればするほど、音質は犠牲になるのが世の常でした。圧縮と負荷もまた、トレードオフの関係にあるのが技術的な常識とされています。圧縮すればするほど、それをデコード(解凍)するためにCPU負荷が高まってしまうものです。できればゲームプレイに遜色のないよう、できるだけ音質を維持しつつ、ダウンロードやアプリサイズの事情からも、圧縮してデータ量を抑えたいところです。音質がよくて高圧縮であっても、CPU負荷が高いとゲームには使えません。音が鳴る直前にCPU負荷が非常に高くなるなど、負荷変動が激しい技術は、アプリ開発者にとってはとても使いにくいものになってしまいます。スマホにおける音のリッチ化といえば、代表的なのは「鳴る音の数」が増えること。いわゆる「同時発音数」というものです。ボクが説明するまでもありませんが、ゲームって本当にたくさんの音で彩られています。BGMはもちろん、風や波などの環境音(アンビエントと言ったりもします)、各種SE(剣で斬ったときや宝箱を開けたときなどの効果音)、セリフ、などなど。据置型向けのゲームのなかには、200種類以上もの音が鳴っているものもあるほどです。発音数が増えていくと、一般的に、CPU負荷も比例して高くなってしまいます。ゲーム全体のバランスを考えながら、音の演出を取捨選択していくことになります。スマホも昔に比べたらずいぶん高性能化しましたが、急速に進むリッチ化を完全に吸収できるほどにはなっていません。「ぜひやりたい」と「目のまえの現実」に、折り合いをつけなければならないわけです。何事にも「折り合い」をつけなければならないのは社会の常ですが、やりたいことを諦める前に、みなさんの「ぜひやりたい」側に少しでも近づけられれば、という一心で開発したのが...「HCA-MX」という技術です。CRIの「ADX2」というミドルウェアは、オリジナルの音声コーデック(音の圧縮フォーマットのこと)を採用しています。その1つが「HCA-MX」というわけです。上記の表のとおり、CRIには「ADX」「HCA」「HCA-MX」という音声コーデックが用意されています。用途やターゲット機種に応じて、お客様のほうで任意のコーデックを選べるようになっていますが、リッチなスマホゲーで特にオススメしたいのが「HCA-MX」です。「HCA」というコーデック(上記表の真ん中のコーデック)は、音質を保ったまま、音声データを1/16に圧縮できます。このHCAをさらに拡張し、同時に複数音を再生したい場合に特化したチューニングを行ったのが「HCA-MX」。複数の音を同時に鳴らした場合であっても負荷をとても低く抑えられ、ゲームに最適なコーデックとなっています。▲HCA-MXのCPU負荷変化イメージ(通常のHCAとの比較)上図のように、通常に比べて、発音数の増加によるCPU負荷へのインパクトがかなり少なくなっています。iOS搭載の実機で動作したデモを見ても、その差は一目瞭然です(下図参照)。▲HCAで同時16音を鳴らすと「26%」だったものが...▲HCA-MXだと同じ発音数なのに「8%」に上記のスクリーンショットは、最近のCEDEC等の当社講演でたびたびご紹介しているものです(iPad2にて動作)。機種や動作環境によって負荷そのものの値は変わりますが、通常のHCAとHCA-MXを比較すると、負荷が1/3〜1/4に削減されています。絶対値としても、2ケタ代パーセントだったCPU負荷が、いずれも1ケタ代になります。今回、この記事を作成するにあたって、改めてiOSデバイスにて負荷計測を行ってみました。参考値としてご覧下さい(まだ、最新のiPhone6系では未計測です、ごめんなさい)。音声データをしっかりと圧縮し、音質も維持したまま、CPU負荷を抑える。多くのアプリ開発者にとっての「したい」を、3つともHCA-MXで実現することができるというわけです。CRIのコーデックは、MP3やAACといった従来の一般的なコーデックと比べて低負荷なことがウリでしたが、「HCA-MX」ではさらなる低負荷を実現し、より組み込みやすい仕様になりました。ゲームアプリのためにチューンされたコーデックと言っても良いかもしれません。HCA-MXのしくみと制限についてHCA-MXはなぜ、たくさん音を再生しても低負荷なのか?エンジニアの方であれば、その仕組みが気になるかと思いますので、少しだけご紹介します。低負荷に抑えられるというメリットの反面、いくつかの機能制限もあるのでそちらも簡単に触れておきたいと思います。概念的な説明になりますが、HCA-MXは、設定されているデータをあらかじめ全てミックスしておき、ひとつのHCAデータとして処理するようになっています。これにより、通常は発音数分だけデコードのためのCPU負荷が必要になりますが、HCA-MXではミックスしてからデコードを行う内部アルゴリズムになっているので大幅にCPU負荷を軽減できるというわけです。機能制限としては、HCA-MXの場合は全体として1つのサンプリングレート設定にのみ対応となっています。インタラクティブサウンドを実現するADX2の「AISAC」で用意されている機能が一部制限されます。HCA-MXでループ再生する場合は、ループ区間のサンプル数を128の倍数で指定する、といった条件もあります。これらの機能制限は、通常の「HCA」や「ADX」コーデックでは適用されないので、ユースケースに応じてHCA-MXと他のコーデックを使い分けると良いかと思います。”三方良し”のスマホゲーム向けにチューンナップされた音声技術「HCA-MX」についてご紹介しました。「実際のデモを観てみたい!」という方は、「ひらブラ見た」とお書き添えのうえ、ぜひ、お問い合わせ下さい。実際に試してみたい!という方は、「ADX2」のSDKに「HCA-MX」は含まれていますので、ぜひ触ってみて頂ければと思います。ADX2は無償で試用ができます。今すぐ「ADX2無償試用お申込みページ」からどうぞ。LE」にも「HCA-MX」が含まれているんです。SDKのダウンロードはこちらからどうぞ!なお、「HCA-MX」はiOSおよびAndroidの両方に対応していること、また、フルネイティブアプリだけでなく、Unityやcocos2d-xなどのゲームエンジンで開発されたアプリにもお使いいただけることを、書き添えておきます。いうわけで、今週のひらブラはここまで。最新記事の更新情報や、記事には書けなかったウラ話、はみだしコラムなど、『ひらブラ』に関する情報を随時更新中。※vol.1-4:福袋も飛行機もゲームも?ゲーム開発を支える”黒い箱”とは※vol.1-3:福袋も飛行機もゲームも?ゲーム開発を支える”黒い箱”とは※vol.1-2:福袋も飛行機もゲームも?ゲーム開発を支える”黒い箱”とは※vol.1-1:福袋も飛行機もゲームも?ゲーム開発を支える”黒い箱”とは※vol.0:創刊準備号ということでジコショーカイ読者の方からのご意見ご感想やご質問なども大歓迎です。以下のコンタクトフォームからどうぞ。多くの方のご意見に誠意をもってお返事したいと思っております。連絡先メールアドレスを入力してください(任意)ご意見ご感想やご質問などを入力してください。送信いただいた場合、弊社が定めるプライバシーポリシーに同意したものとみなさせていただきます。CRIの前身である株式会社CSK総合研究所に入社。ゲームプランニングやマーケティング業務を経て、現CRIのミドルウェア事業立ち上げに創業期から参画。セガサターンやドリームキャストをきっかけに産声を上げたミドルウェア技術を、任天堂・ソニー・マイクロソフトが展開するすべての家庭用ゲーム機に展開。その後、モバイル事業の責任者として初代iPhone発売当時からミドルウェアのスマートフォン対応を積極推進。GREE社やnhn社といった企業とのコラボでミドルウェアの特性を活かしたアプリのプロデュースも行う。近年は、ゲームで培った技術やノウハウの異業種展開として、メガファーマと呼ばれる大手製薬会社のMR(医療情報担当者)向けのiPadを使ったSFAシステムを開発、製薬業界シェアNo.1を獲得しゲーミフィケーションやゲームニクスの事業化を手掛ける。現在、さらなる新規の事業開拓や未来のサービス開発を担当する傍ら、ますます本格化するスマホゲームのリッチ化を支援するためにモバイルゲーム開発者におけるミドルウェア技術の認知向上のためエヴァンジェリストとしての活動に注力中。趣味は、映画鑑賞とドライブ、クロースアップマジック、デジスコによる野鳥撮影、コンパニオンバードの飼育、そしてもちろん、ゲーム。