イベント
[CEDEC 2012]スクエニのサウンドチームが内製ツール群をどどんと披露。「サウンド開発はこんなに便利になりました」
南 明宏氏(スクウェア・エニックス 開発部 サウンドグループ サウンドプログラマー) |
笠原 直氏(スクウェア・エニックス 開発部 サウンドグループ サウンドプログラマー) |
谷山 輝氏(スクウェア・エニックス 開発部 サウンドグループ サウンドプログラマー) |
一般にゲーム業界のサウンド制作というものは,以下の流れで進む。
- プリプロダクション
実際に担当者が録音してきた素材や過去作の素材,効果音ライブラリのデータを集めて,新しい素材を作成する - 実機実装
据え置き機や携帯ゲーム機,PCといった各プラットフォームが扱えるデータに成形。その後,ゲームプログラマーがこれらサウンドデータを,ゲーム上で必要なときに呼び出せるよう組み込む - デバッグ
実際のゲームに乗せたうえで,どのような音になるのか,きちんと再生できるのかなどを確認し,必要があれば修正する
今回のセッションで明らかになったのは,このうち1.と3.のステージで用いられる内製ツールの概要だ。
この手のツールは通常,その存在すらも公表されることはないので,相当に貴重な機会だったと述べていいだろう。さっそく,順を追って紹介していきたい。
サーバー&クライアント型ファイル検索システムと
クライアントアプリ「波形素材共有くん」
すぐ上のスライドで「波形素材データベースとインタフェース」として紹介されているのが,サーバー&クライアント型サウンドファイル検索システムと,クライアントアプリケーション「波形素材共有くん」だ。
そのユーザーインタフェースはどこかのメディアプレイヤーを彷彿とさせるもので,思わずニヤリとしてしまうが,「よくあるユーザーインタフェースのほうが使いやすい」ということで,このデザインになったそうだ。
提供される機能は基本的に,ファイルのダウンロードとアップロード,検索,再生がメインだが,そこにはサウンドデザイナー視点でさまざまな工夫が盛り込まれているそうだ。
たとえばアップロード時にはタグを設定可能で,後から画面左ペインの「音タグ」から,カテゴリーや素材の出所ごとに絞り込んでいけるようになっているという。スクリーンショットを拡大表示してもらうと分かるのだが,タグに「PSG系」なんていうのがあったりするのは,いかにもゲームメーカーらしい。
検索方法が数種類用意されていて,さらにソート方法を変えられるのもポイントとのこと。ソートの方法が画一的だと,皆がソート時の上位素材ばかり使って,結果,どれも同じ音になってしまう危険があるからだという。
また,サウンドファイルのドラッグ&ドロップに対応しており,検索したファイルを波形編集アプリケーション「Sound Forge」へ転送して即座に編集を始められるようになっていたり,リストから複数のサウンドファイルを開けるようになっているのも特徴だ。データベース検索結果からそのまま波形編集アプリケーションへブリッジできるというのは,確かに便利だろう。
プロジェクトが終了した段階で,各人が作成したサウンドファイルをアップロードすることで,その後のプロジェクトにおいても,過去作品の方向性などを理解したうえで各サウンドデザイナーが個性を発揮できるよう,波形素材共有くんは活用されているそうだ。
波形ループ編集ツール
「Mugen」
Mugenはサウンドファイルの一部をループさせる機能に特化したWindowsアプリケーションだ。現在市販されている波形編集ツールのループ機能があまり充実しておらず,同時に社内でループ処理ツールのニーズが高かったため,開発したのだという。
セッション中では実際にMugenを用いたデモが行われたが,サウンドファイルを前述の波形素材共有くんからドラッグ&ドロップしてMugenで開き,再生しながらループ位置探っていけるので,伝統的かつ必須のループ機能は備えていると言っていいだろう。
見る限り,これはかなりの優れもので,筆者もこのようなものは見た記憶がない(※通常は処理コマンドを使用してから,処理後にサウンドファイルを再生して結果を確認する)。クロスフェードのエンベロープも画面右下のアイコンで設定できるなど,とくにクロスフェード処理関連の機能が充実している印象だ。
なお,Mugenでは,サウンドファイルを再生しながら,サンプル単位でループ位置を移動することもできる。Mugenの左下ペインにに表示される左右の矢印ボタンをクリックすれば,サンプル単位でループ位置を移動させられる。
そして,ループ処理を行ったサウンドファイルは,Mugenから保存しておくと,当然のことながら,「ループ処理が反映された状態」でさらなる素材作成(=ファイル編集)が可能になるわけである。
波形チャネル抽出&結合ツール
「Wave Builder」
これは簡単にいうと,波形編集ソフトを使うことなく,ステレオやサラウンドのサウンドファイルから特定チャネルのサウンドだけを取り出したり,逆にモノラルのサウンドファイルからステレオやサラウンドのサウンドファイルを作成したりできるという,市販ではお目にかかることのない専用ツールだ。
おそらく主目的は,モノラルやステレオのサウンドからサラウンドのサウンドファイルを作ることだろう。先のMugenが非常に伝統的な編集ツールであるのとは対照的にWave Builderは,イマドキのサウンドデザイナーによる需要を満たす,お手軽な――お手軽というのは非常に重要だ――ツールだといえる。
結合する場合は,Wave Builderのウインドウ内にファイルをドラッグ&ドロップすると,それらのファイルで構成されたマルチチャネルサウンドファイルが作成されるという,シンプルな仕掛けだ。
さて,今回は「4つのファイルをWave Builder上で結合し,4chのマルチチャネルファイルを作成する」という処理が披露された。下に示したスクリーンショットは,その結果をMugenから見たものになる。
ここで気づかされるのは,Mugenが一般的な波形編集ソフトと異なり,マルチチャネルループをサポートしていること。南氏はとくに触れていなかったが,マルチチャネルループ処理に対応したツールは非常に珍しいので,画期的な存在といえそうだ。
一方,抽出する場合は,Wave Builderからソールファイルを開いたあと,抽出したいチャネルを選び,さらに出力先を選択するだけとなっている。
4chのファイルから2chめと3chめだけを抽出し,そのファイルをMugenで開いてみると,確かにステレオのサウンドファイルができあがっていた。
ちなみに,この作業を一般的な編集ソフトで行おうとすると,たいていの場合は,抽出したいチャネルをすべて選択してコピーし,それから新規ファイルを作成してペースト,名前を付けて保存……といった流れになる。Wave Builderを使えば,そんな面倒な作業を劇的に単純化できるわけだ。
南氏はプログラマーであってサウンドデザイナーではないため,「いったいどんな局面で使うのか分からないが(笑),リクエストがあったので作成した」と述べていたが,サウンドデザイナーの立場から言わせてもらうと,これ1つで作業工程の短縮が図れるのは間違いない。筆者が効果音を作る作業に明け暮れていた数年前,Wave Builderのようなツールがあればもっと楽ができたなあと,しみじみする次第である。
リニアPCMファイルのエンコーダ
「EncodeMan」
下に示したスクリーンショットはEncodeManデモ時のものだが,EncodeManのウインドウ最上段に対応フォーマットが並ぶ。実際の作業にあたっては,変換したいフォーマットを選択し,出力を選択するだけだ。
要は,「古くからあるバッチ処理対応のエンコーダ」そのものなのだが,ゲーム制作の場合,一度に数百ファイルをエンコードするなどというのは珍しくもなんともないだけに,ファイルをいちいち開くことなく,直接変換してくれるツールというのは大変価値がある。現在,市場では実質的に絶滅状態だったりもするので,EncodeManはサウンドデザイナーが最も重宝するタイプのアプリケーションといえるだろう。
デバッグ時に使用するモニタリングツール
「SoundDebugger」
まずはWindowsアプリケーションである「SoundDebugger」。実機(≒開発用コンソール)と接続してリアルタイムに再生中のサウンドを確認したり,サラウンドサウンドの状態や使用中のメモリ量などをチェックできるので,モニタリングツールと説明したほうが分かりやすいかもしれない。
SoundDebuggerではそのほかにも,ログを保存しておいて,実機と接続していない状態でも調査を行えるようになっており,今回のデモも,この「ログからローカルで状況を再現するデモ」が披露されている。
デモではまず,SoundDebuggerからログを読み出した。すると,下に示したスクリーンショットのような形でその内容が表示される。
最上段のペインはタイムラインで,時間軸に沿ってどのファイルが再生されたのかを確認できるようになっている。その下に見えるのはタイムラインと連動したメモリ使用量インジケータだ。
左下はログテキスト情報,弧や円が多数描かれている右下のペインが3D情報,つまりはサウンドファイルの位置情報および音の鳴る範囲を示したものとなっている。
メモリ使用量インジケータのペインを広げると,メモリ使用量変化をグラフで確認できるようになっており,デモでは3分26秒あたりからメモリ使用量が減っているのを確認できる。
筆者にデバッグの経験はないのだが,それでも現在のゲームプラットフォームでメモリ管理が極めて重要なことは知っている。
大昔の業務用ゲーム機と異なり,今日(こんにち)のゲーム機だとたいていの場合はグラフィックスやメインプログラムとサウンドがメモリを共用するため,サウンドが使用できるメモリの上限は状況によって変化する。また,携帯ゲーム機などを中心に,メモリ周りが非常にタイトで,相当にうまくやりくりしないと,思ったとおりの演出や挙動にならないケースも多いのだ。
メモリ使用量をグラフで把握できるのは,こういった局面に対して有効であるといえ,だからこそスクウェア・エニックスはグラフィカルなユーザーインタフェースを用意したのだろう。
実機用サウンドプレーヤー
「Console Player」
「実機用サウンドプレーヤー」と紹介されたのが「Console Player」で,これは説明されているとおり,コンソール上(≒開発機上)で動作するアプリケーション。実機上に実装されたサウンドファイルを“叩く”目的で作られたものだ。
ただ当然ながらこのフローだと,実行までの手間がかかる。ゲームのデータを取得したり,ゲームプログラマーがデータをビルドして用意しないと確認できなかったり,しかも往々にしてビルドが通らなかったりするのだ。さらに,不具合が見つかった場合,原因がゲームプログラム側にあるのか,サウンド側にあるのかの判断もすぐには判断できないという問題もある。
なんとかサウンドチーム側だけで,実機上の音を聞いたり検証したりできないものか。その結果できあがったのがConsole Playerというわけだ。「デバッグ機能も組み込んで,デバッグの効率を上げていく意図も(開発の背景には)ある」とも笠原氏は述べていた。
さて,セッションでデモされたのはWindows版のオンメモリ再生と,ストリーミング再生,リバーブ(残響)設定,繰り返し再生,デバッグ機能である。
オンメモリのサウンドファイルを呼び出して再生している例 |
ストリーム再生の例。サウンドの再生位置を設定することも可能だ |
リバーブのパラメータを表示・変更できる。設定内容はすぐに反映できる |
3D配置音確認ツール
「ズババババーン」
笠原氏が最後に取りあげたのが,3D配置音確認ツール「ズババババーン」だ。
スクウェア・エニックスでは,サウンドドライバ側で,サウンドデータに発音制限情報を組み込めるようにしているとのこと。つまり,これを利用すれば,「効果音Aはn個までしか同時には鳴らせない」とか,「直前に鳴った音と同じ音が再生されたら前の音は消す」といったことが行えるわけである。
ただし,設定した内容を,複数の効果音が同時に鳴る実機上でチェックしたいとなると,Console Playerの段で述べたとおり,非常に手間であった。
そうしたサウンドデザイナーのリクエストを受けて開発されたのが,ズババババーンである。
ズババババーンを起動すると,同心円の描かれた右ペインに目が留まるのだが,これは,リスナーを中心としたサウンド環境を真上から見たイメージになっている。
下のスクリーンショットで薄い同心円の中心にあるのがリスナー(=プレイヤー)で,格子の入った青い円の中心が音源だ。音源を再生しながらリアルタイムで移動させることももちろん可能で,音源の再生中,円は赤色で表示されるような仕組みになっている。
実のところ,このズババババーンは,Console Playerともども,ゲームの開発当初と終盤で相当に威力を発揮しているのではなかろうか。
これは想像してもらうと「さもありなん」なのだが,プロジェクトの開始当初というのは,「音が実機で鳴らない」状況が続くことが多く,一方,終盤はゲームのビルドに時間がかかるため,思いたったときに音を確認できない状況が往々にして発生するからだ。
とくにズババババーンは,「コンソールごとに異なる発音制限を,コンソールごとに確認できるツール」として非常に重宝されているように思われる。
明らかに時代が変わった「ゲームサウンド開発」
デザイナーとプログラマーの緊密な連携が必須に
セッションでは最後に質疑応答もあったので,その内容も簡単にお伝えしておこう。一部抜粋すると,
- Mac対応版はない
- Waveのタグ情報はすべてデータベース上に格納されている(※Waveファイルには通常,タグ情報を登録できないという仕様がある)
- データベース完成以前のデータはすべて手作業でアップロードした
- ツールのインタフェースなどに対するガイドラインは存在しない。ただ,起動時に社内サーバーへアクセスするため,セキュリティ保護機能だけは組み込んでいる
といった感じで,ここで初めて明かされた情報もある。
また同時に,各社がこういったツールを自前でどんどん用意していかないと,いよいよゲーム開発に支障が出てくる時代になったのだなあと,たいへん感慨深くもある。
あらためて紹介するまでもないが,スクウェア・エニックスは,大手デベロッパ兼パブリッシャのなかでも,とくにビッグタイトルを抱えている率が高い。ビッグタイトルというのは開発規模が大きいこととイコールでもあるため,セッションで述べられているとおり,ゲーム本体の開発と歩調を合わせていたらサウンド関係の作業がまったく進まない。だからこそサウンドプログラマーに依頼してツールを開発するという手段をとらざるを得ないのだろう。
また,競合他社とスクウェア・エニックスのユニークな違いも見えてきた。これまで取材したことがある,あるいは筆者が実際に使ってきた内製ツールは,どちらかというと1つのアプリケーションで多数の機能を実現するものが多く,どちらかといえば,サウンドプログラマー主導で開発されたものが多かった。それに対してスクウェア・エニックスは,明らかに「サウンドデザイナーの要望に応えて,用途を絞ったツールを提供していったら,重要なツール群となった」印象だ。
どちらがよい悪いではなく,社風というか,方向性の違いが見えてたいへん興味深い。
いずれにせよ,もはやゲームにおけるサウンド開発というのは,サウンドデザイナーだけで成立する時代ではない。今後,サウンドデザイナーとサウンドプログラマーの連携はより緊密になっていくのだろう。
個人的には,ひたすら効果音を作っていた当時に,このツール群が欲しかった……。
スクウェア・エニックス公式Webサイト
CEDEC 2012公式Webサイト
- この記事のURL: