SlideShare une entreprise Scribd logo
1  sur  25
Télécharger pour lire hors ligne
1
アプリのボイスと曲を潤沢に!
サウンド圧縮と負荷を助けるミドルウェア
のご紹介
CRI・ミドルウェア 一條 貴彰
2013/06/21
2
2013年後半のゲームアプリ
• Webベースアプリからネイティブアプリへ
....よく言われていることですが、ガンガン移行します。
• 2013年後半∼ アプリのリッチ化
‒ 音声: ボイス増加∼フルボイス
‒ BGM: ハイクオリティ、曲数増加
– 演出: 動画を使った派手なものに
ところが、スマートフォンでのサウンドの扱いは一癖も二癖もあります。
3
スマートフォンのサウンド事情
• iOS/Androidデフォルトで使えるサウンドファイル
‒ mp3 / Ogg
• 圧縮率が良い
• 再生処理が重いため、たくさんは同時に鳴らせない
• 一般的なコーデックなので、データが抜かれやすい
– wave / CoreAudio IM4(ADPCM)
• 再生が軽い
• ファイルが大きいため、メモリが不足
アプリ容量も肥大化する。
4
現状の手法
• アプリでよくある組み合わせ
– BGM:mp3
• 処理が重いので1本再生のみ
• iOSならハードウェアで処理してくれるが、Androidは無い場合も
– 効果音とボイス:wave または CoreAudio IM4(ADPCM)
• サンプリングレート(≒品質)を落として少しでもサイズを小さくする
• このやり方は限界が…
‒ Wavは無理に小さくすると、音質が酷いことに
– しかし、ボイスデータは今後増える一方。
5
困った!
サウンドの悩み、 が解決します。
6
ADX2のHCA / HCA-MX コーデック
• ファイルサイズを軽量化
– 「HCA」コーデックによる圧縮
• 音質を保ちつつ、1/16に圧縮。 (サンプリングレート32kHzの場合)
• 再生負荷を軽量化
– 「HCA-MX」によるCPU負荷軽減
• 音質はHCAと同一、エフェクトの利用に制限あり
– iPhone 4Sで16音同時再生 → CPU負荷10%以下
• 独自コーデックによる音声ファイルの保護効果
– PC上のサウンドプレイヤーでは再生できません。
– 暗号化も可能
7
+サウンド演出の開発を効率化
• ツールによるサウンド演出設計
– サウンド担当がコードを触らず直接音量の調節ができる。
– イントロ付きループBGMが使える。
– 大量音声のハンドリングがラクに。
– サウンド演出の実装が簡単に。
• ゲームでよくある再生制御は実装済み。(詳しくはP15から)
「音の設定」としてこれらをデータに埋め込むので、
プログラム側は再生するだけ。
サウンド周りのコーディング量が大幅に減ります。
8
最近の「ADX2」採用事例
• 「デーモントライヴ」Unity/iOS
‒ 容量の圧縮
• 効果音/ボイス素材 700弱
• BGMや長尺ジングル 18本
(うち3分以上の楽曲が 5本)
• 最終データサイズ
‒ オンメモリ再生用 素材 117 MB → 圧縮後 5.05 MB
‒ ストリーム再生用 素材 234 MB → 圧縮後 10.60 MB
‒ 再生の負荷軽減
• 最大同時再生:BGM 1本+SE 8音
• iPod Touch 第4世代で、CPU負荷 5%ぐらい。
• ポリゴンキャラをバリバリ動かすゲームでも大丈夫。
9
「ADX2 LE」で手軽に試せます
個人&インディー向け
無償版サウンドミドルウェア
‒ インディーゲーム開発者
‒ ゲームジャムやハッカソンなど、開発系イベントの参加者
‒ ゲーム産業での就労を目指す学生、専門学校生
‒ 独立系サウンドスタジオや、フリーランスのサウンド制作者
‒ 法人での「ADX2」の評価目的として
個人アプリなら無償使用でアプリ販売もOKデス。
詳しい条件は公式サイトを見るノデス。
http://www.adx2le.com/ からSDKをダウンロード。
10
「ADX2」専用のサービス
• 法人のみ提供
• 音声データの保護(「ADX2 LE」とファイルが互換性なし)
– 「ADX2」で出力した音声ファイルは「ADX2 LE」では再生できません。
• iOS/Androidネイティブ開発用ライブラリも提供
– 「ADX2 LE」はUnityプラグインのみ提供。
• パッケージ導入で他製品も一緒に利用可能
– ムービー再生ミドルウェア「Sofdec2」
– ネットワーク対応ファイルシステム「ファイルマジックPRO」
• 技術サポート無償
– 電話、メールサポートのほか、現地での技術説明。
11
「Sofdec 2」も少しだけご紹介
• 動画再生ミドルウェア
– 独自コーデックによる特殊再生の実現
• アルファムービー(半透明)による画像との合成
• ポリゴンテクスチャに貼り付け
• 複数ムービーの同時再生 半透明付きムービーで
カットイン演出
カードのキャラだけを
ムービー化
背景は画像
H.264、MP4では不可能なムービー演出が可能に。
12
CRIWARE 許諾料
• 「CRIWARE for Smartphone F2P パッケージ」
(「ADX2」「Sofdec2」「ファイルマジックPRO」の3製品)
‒ 初期費:35万円/タイトル
• iOS、Android、Unityプラグイン含む
• ツールのPCインストール台数は無制限
‒ 月額:40万円/タイトル
• 最大3ヶ月は月額無料
• サービス開始後4ヶ月目以降から発生
• iOS、Androidのどちらか片方のみなら30万円/タイトル
• 売り切りタイトル向け
‒ レベニューシェア契約 (詳しくはお問い合わせ下さい。)
13
CRIのイベント出展情報
• GTMF 2013 東京/大阪 ※要事前登録、無料
– 大阪
• 2013年 7月19日(金)
• 場所: KKR HOTEL OSAKA
– 東京
• 2013年 7月23日(火)
• 場所:秋葉原 UDX
• CEDEC 2013
• 2013年 8月21日(水)∼24日(金)
• 場所:パシフィコ横浜
ミドルウェアの詳しいご紹介をいたします。
14
評価・試用・プロトタイプ開発での利用は無償です。
お申込みはお気軽に。
https://www.cri-mw.co.jp/contact/form/index.cgi?type=trial
15
ここからサウンド担当者さん向け案内
• iOS/Android上でのサウンド演出開発が大幅に改善します。
‒ プログラマーさん側で作る必要のあった音の演出は、
あらかじめランタイムに仕込んであるのでツールで指定するだけで使えます。
– ボリュームのバランス調整や音素材の差し替えが楽になります。
• 圧縮音声がすべての音で使えるようになります。
– 音質改善と収録数の増加が見込めます。
– 低サンプリングレートのwavとはもうおさらばです。
– 独自コーデックHCAは任意の位置でループすることができます。
導入によるメリット
16
ツールで設定できるサウンド制御
• ボリューム制御
‒ 音ごとのボリューム制御
‒ 曲・効果音・ボイスをカテゴリ分
けして、一括ボリューム管理
• 再生制御
‒ 再生優先順位
‒ 効果音の後発優先、先発優先
‒ 同時発音数の制御
‒ ランダム再生
• DSP
‒ ピッチシフト
‒ リバーブやエコーなどエフェクト
– パンニングや距離減衰など3D効果
• 曲の再生制御
‒ 曲と環境音の同時再生
(2曲の同時ループ)
‒ 曲の途中ループ
– 曲の途中停止・途中から再生
• フェードイン、フェードアウト
‒ フェードの長さ調整
‒ クロスフェード
‒ カテゴリをトリガにした
自動ダッキングREACT ※後述
17
鳴らせるフォーマット比較
• ADX
‒ 再生負荷が軽い。
‒ 圧縮率は1/4圧縮。
• HCA
‒ 圧縮率が高い。1/16圧縮。
‒ ピッチチェンジや音単位の
エフェクトが使用可能。
• HCA-MX
‒ 圧縮率はHCAと同じ。
‒ 音声を複数同時再生した時のCPU
負荷が軽い。
‒ ピッチチェンジや音単位の
エフェクトは使用できない。
• ADPCM(Core Audio IMA4, caf)
‒ 再生負荷が軽い。
‒ 圧縮率は1/4圧縮。
• mp3/ogg
‒ 圧縮率が高い。
‒ 再生負荷が重い。
– データをぶっこぬかれる。
• Wav
‒ 再生負荷が軽い。
‒ 無圧縮。
‒ サンプリングレート(品質)を
落とせばサイズは小さくなるが、
圧縮音声ほどにはならない。
iOS/Androidネイティブ、Unityなど
18
ADX2のサウンド開発ワークフロー
1. ツール「CRI Atom Craft」上でデータ管理、圧縮や音の鳴り方を設定
2. CRI形式のパックファイルにビルドする。
3. パックファイル内のデータを、ランタイムを経由して再生。
(Unityの場合はオブジェクト貼り付けも可能)
4. 開発中ゲームを動作させながら、インゲームプレビューで音の調整。(次ページ)
Unityの場合:
19
- ゲーム中での音声の差し替え
- 再生パラメータの設定
- 再生タイミングの調整
- 距離減衰カーブの設定
- エフェクトパラメータの調整
etc.
Unity Editor CRI Atom Craft
インゲームプレビュー機能
Unity Editor で実行中のプログラムWindows, Mac)に
対して、ツール から直接サウンドパラメータを調整する機能。
→サウンド調整の手間を大幅削減。
通信
20
音素材を時系列に並べる
ボリュームやピッチの
変化などグラフで設定
エフェクトの設定
キュー
(音の単位)
キューの中身ADX2のツール構成
21
トラックオートメーション
ボリュームやピッチ、エフェクトなどの操作を
時間軸で設定する。
時間の流れ
波形データ
時間経過でボリュームやピッチが
どう変化するか?のグラフ。
波形データは非破壊なので、ツールの上で変化を設定すれば
バリエーションを沢山作ってもバイナリは増えません。
22
AISAC(アイザック)
ボリュームやピッチ、エフェクトなどの操作を
パラメーターで操作できるように設定する。
パラメーター(0から1.0)
波形データ
操作に応じて、ピッチ、
ボリューム、エフェクト
のかかり具合がどう変化
するか?をグラフで設定。
ゲームの状況に応じて変化する音をツールで設計。
プログラム側からはパラメータを渡して再生するだけ。
23
PAGE23
M01
音楽カテゴリ (変化)
M02
M04 M05
M03S01
ボイスカテゴリ (トリガ)
S02
S04 S05
S03 ダッキング指示
変化
カテゴリ
トリガ
カテゴリ
REACT(リアクト)
‒ カテゴリ間での再生パラメータ制御の仕組み。
• 例えば、「音楽カテゴリ」の音が鳴っているときに
「ボイスカテゴリ」の音が再生されると自動でボリュームが下がる。(ダッキング)
24
DSPバス設定
キュー設定の「バスセンド」に番号が対応
「センド」でどのバスを経由するか設定
BUS0が最終出力
DSPバス上でのエフェクト設定
25
「ADX2」へのご質問など
その他、機能増強中!
「ADX2」「ADX2 LE」について
こんなことはできないか?などご相談は
Facebookの「ADX2ユーザ助け合い所」
https://www.facebook.com/groups/adx2userj/
までお気軽にお寄せ下さい。

Contenu connexe

Plus de Takaaki Ichijo

Plus de Takaaki Ichijo (20)

Google Sheets経由でUnity Localization Packageのデータを更新する & ADXの多言語ボイス音声切り替え機能連携
Google Sheets経由でUnity Localization Packageのデータを更新する & ADXの多言語ボイス音声切り替え機能連携Google Sheets経由でUnity Localization Packageのデータを更新する & ADXの多言語ボイス音声切り替え機能連携
Google Sheets経由でUnity Localization Packageのデータを更新する & ADXの多言語ボイス音声切り替え機能連携
 
インディーゲームでも「インタラクティブ・ミュージック」!
インディーゲームでも「インタラクティブ・ミュージック」!インディーゲームでも「インタラクティブ・ミュージック」!
インディーゲームでも「インタラクティブ・ミュージック」!
 
Genvidセミナー シンプルJava Scriptオーバーレイ編
Genvidセミナー シンプルJava Scriptオーバーレイ編Genvidセミナー シンプルJava Scriptオーバーレイ編
Genvidセミナー シンプルJava Scriptオーバーレイ編
 
[Unite 2016 Tokyo]Unityを使った個人ゲーム開発における「収益化」の現状と未来
[Unite 2016 Tokyo]Unityを使った個人ゲーム開発における「収益化」の現状と未来[Unite 2016 Tokyo]Unityを使った個人ゲーム開発における「収益化」の現状と未来
[Unite 2016 Tokyo]Unityを使った個人ゲーム開発における「収益化」の現状と未来
 
Unity EditorからADX2のデータを操作する魔改造
Unity EditorからADX2のデータを操作する魔改造Unity EditorからADX2のデータを操作する魔改造
Unity EditorからADX2のデータを操作する魔改造
 
インディーゲームクリエイター向け サウンド実装の重要性
インディーゲームクリエイター向け サウンド実装の重要性インディーゲームクリエイター向け サウンド実装の重要性
インディーゲームクリエイター向け サウンド実装の重要性
 
Unity for ADX2のプラグインを小改造して、ボイスデータの管理を便利に
Unity for ADX2のプラグインを小改造して、ボイスデータの管理を便利にUnity for ADX2のプラグインを小改造して、ボイスデータの管理を便利に
Unity for ADX2のプラグインを小改造して、ボイスデータの管理を便利に
 
積み上げ棒グラフのリザルト画面を作る&いい感じに音をつける
積み上げ棒グラフのリザルト画面を作る&いい感じに音をつける積み上げ棒グラフのリザルト画面を作る&いい感じに音をつける
積み上げ棒グラフのリザルト画面を作る&いい感じに音をつける
 
自作ゲームで使っている技術:動画配信&インタラクティブミュージック
自作ゲームで使っている技術:動画配信&インタラクティブミュージック自作ゲームで使っている技術:動画配信&インタラクティブミュージック
自作ゲームで使っている技術:動画配信&インタラクティブミュージック
 
VRにはサウンドが大事って48,000回言っとるやろがい
VRにはサウンドが大事って48,000回言っとるやろがいVRにはサウンドが大事って48,000回言っとるやろがい
VRにはサウンドが大事って48,000回言っとるやろがい
 
ゲーム産業におけるDevRel活動について
ゲーム産業におけるDevRel活動についてゲーム産業におけるDevRel活動について
ゲーム産業におけるDevRel活動について
 
「デモリッションロボッツK.K.」のGenvidインティグレート事例
「デモリッションロボッツK.K.」のGenvidインティグレート事例「デモリッションロボッツK.K.」のGenvidインティグレート事例
「デモリッションロボッツK.K.」のGenvidインティグレート事例
 
Doozy ui 導入Tips
Doozy ui 導入TipsDoozy ui 導入Tips
Doozy ui 導入Tips
 
Unity + Twitch Extensionsを使って動画配信
Unity + Twitch Extensionsを使って動画配信Unity + Twitch Extensionsを使って動画配信
Unity + Twitch Extensionsを使って動画配信
 
同じ音が二度と鳴らないゲームの環境音を作る
同じ音が二度と鳴らないゲームの環境音を作る同じ音が二度と鳴らないゲームの環境音を作る
同じ音が二度と鳴らないゲームの環境音を作る
 
インタラクティブ・ストリーミングが変えるゲームコンテンツの未来
インタラクティブ・ストリーミングが変えるゲームコンテンツの未来インタラクティブ・ストリーミングが変えるゲームコンテンツの未来
インタラクティブ・ストリーミングが変えるゲームコンテンツの未来
 
「Unityサウンド エキスパート養成講座」振り返り ~単著ができるまで~
「Unityサウンド エキスパート養成講座」振り返り ~単著ができるまで~「Unityサウンド エキスパート養成講座」振り返り ~単著ができるまで~
「Unityサウンド エキスパート養成講座」振り返り ~単著ができるまで~
 
Unity サウンドTips 2019
Unity サウンドTips 2019Unity サウンドTips 2019
Unity サウンドTips 2019
 
Unityのサウンド状況を調べまくって分かったアレコレ
Unityのサウンド状況を調べまくって分かったアレコレUnityのサウンド状況を調べまくって分かったアレコレ
Unityのサウンド状況を調べまくって分かったアレコレ
 
キャラが8人同時にしゃべるんだけど...とPに言われたときの戦い方
キャラが8人同時にしゃべるんだけど...とPに言われたときの戦い方キャラが8人同時にしゃべるんだけど...とPに言われたときの戦い方
キャラが8人同時にしゃべるんだけど...とPに言われたときの戦い方
 

アプリのボイスと曲を潤沢に!「ADX2」のご紹介