『ドラクエ』『FF』を支える“音の技術”。スクエニサウンドシステムに搭載されている音声圧縮コーデックHCAは、開発をどのように助けているのか?

『ドラクエ』『FF』の音作りを支えるHCA( High Compression Audio )コーデックとはなんなのか。どのように音作りに役立っているのか。スクウェア・エニックスのサウンド部の開発者に話を聞いた。

ビデオゲームにおいては、音も重要な役割を担っている。ゲーム中に鳴る音はひとつひとつ、複雑なプログラム処理を経て流れているのだ。スクウェア・エニックスもまた、ゲームプレイ体験における音作りにこだわる会社である。そんなスクウェア・エニックスの音作りを支えるひとつとして、ゲーム開発を支援する技術を20年間提供し続けてきたCRI・ミドルウェア(以下、CRI)が誇るHCAコーデックがあげられる。

HCA( High Compression Audio )コーデックとは、CRI独自開発の高圧縮・高音質・低負荷 音声コーデック(圧縮形式)。膨大なサウンドデータを音質を損なわずに高圧縮し、ゲームシステムに負担をかけない軽量な再生を実現することで高く評価され、家庭用ゲームからスマートフォンゲームまで多くのゲームに採用されている。

この音声コーデックが、スクウェア・エニックス作品の音作りをどのように支えているのだろうか。スクウェア・エニックスのサウンド部の矢島 友宏氏と南 明宏氏に、同社のサウンド開発における歴史や、HCAコーデックの活用例をうかがった。

CRI・ミドルウェア……ゲーム開発を支援する音声・映像技術(ミドルウェア)を提供している企業。これまで6500を超えるゲームに同社の技術が採用されている。技術ブランドCRIWARE(シーアールアイウェア)はゲームの起動画面に表示される青いロゴでおなじみ。なお、問い合わせは以下から

――自己紹介と、普段の業務範囲について教えてください。

矢島:
サウンド部ジェネラルマネージャーの矢島です。現在は管理職の立場ですが、もともとはサウンドデザイナーからキャリアをスタートしています。ゲーム業界に入ったのは初代プレイステーションの頃で、当時のサウンドシステムの発案や実用化なども担当していました。今日はよろしくお願いいたします。

矢島 友宏氏

南:
プログラマーの南です。ゲーム系の専門学校を卒業後、サウンド部のプログラマーとして配属されました。はじめて関わったタイトルは『FINAL FANTASY XIII』で、その後も同シリーズの開発に携わっています。主にサウンドドライバのプログラムやオーサリングツール周りまで含めて、サウンドに関連する業務を広く扱っています。

南 明宏氏

――サウンド職というとBGMやSEの制作などにフォーカスが当たりがちですが、今回はその土台となる部分のお話ということで楽しみにしています。現在、サウンド部には、南氏のようなサウンドプログラマは何名ほど在籍しているのでしょうか。

矢島:
全体の人数は具体的に申し上げられませんが、サウンド部の全体の半数がBGMやSEを実際に制作する職種で、サウンドプログラマは1割強というところですね。

――サウンドプログラマの仕事というのは、具体的にどういった内容でしょうか。

南:
「サウンドの仕事」というと、たしかにBGMやSEなどはユーザーの方にとっても分かりやすい話題ですが、我々のサウンドプログラマという業務は認知されにくいかもしれませんね。基本的な流れとしては、新しいタイトル開発が始まったら、そのプロジェクトに入ってサウンドドライバの組み込みや説明などを行います。現場のサウンドデザイナーが技術的に深いところを理解しなくても作業がしやすいように、CGの分野でいえばテクニカルアーティストのような橋渡しの仕事をしています。さらに、タイトルごとに新しい機能が欲しい場合もあるので、そういった要望にアップデートで応えるのも仕事です。

――基礎となるサウンドドライバの開発と、現場で作業するクリエイターにとって最適な環境の提供と情報共有、そして要望を汲んだアップデートを行っていると。タイトル数も多いと思いますし、大変なお仕事のように感じます。

南:
タイトル数も多いですし、我々のような職種は人数もそれほど多くはないので、いかに自分たちの業務コストを下げつつサポートの質を上げていくかに注力しています。ゲームで使うサウンド素材は年々物量が増えており、ハードスペックが上がったとしてもそれをフルで使い切ろうとするので、既にマンパワーでどうにかなる時代ではないんですね。自動化、効率化は必須になってきていますね。

矢島:
弊社は昔から独自のサウンドドライバ開発を行ってきているんです。ゲーム開発の時代背景にも関連する部分ではあるのですが、昔は今と違ってGUIのあるツールでサウンドを組み込んでいくことは出来ませんでした。ハードごとの再生環境のリファレンスがあり、基本的にはすべて自分たちでプログラムをしていく必要がありました。同じハードでも、タイトルごとに別のドライバになっています。

――長い歴史を持つスクウェア・エニックスの内製サウンドシステムにおいて、いつ頃からHCAコーデックが採用されたのでしょうか。導入経緯を教えてください。

矢島:
先ほど話したように、弊社は独自でドライバをつくり続けていました。その後、プレイステーション 2やXboxの時代から、少しずつマルチプラットフォームの流れが出来てきたわけです。プレイステーション 2後期からは、とにかくハードの種類がどんどん増えていきましたね。従来のようにタイトルごとに専用ドライバをつくっている状況だと、互換性が維持できません。つまり、プラットフォームごとに作り直しの必要があったわけです。

――プラットフォームが増えれば増えるほど、設計のやり直しが発生していたということですね。現在においてマルチプラットフォームは一般的になっていますが、制作する側からすると苦労も多かったということですね。

矢島:
そうです。ですから、あとから移植の話が来てもすぐに対応できるよう、弊社のサウンドドライバをオールインワンの設計にしようと考えました。そこで重要なのが、「ベースとなるコーデックをどうするか」です。当時のコーデックはmp3形式やADPCM形式が標準的で、プレイステーションならATRAC形式、XboxならXMA形式など、さまざまな種類が存在していました。移植のたびにすべてコンバートし直す必要があったわけです。『FINAL FANTASY』シリーズなどはメモリを限界まで使っているので、少しでも容量が変わると不具合の原因にもなります。では、すべてのハードで使えるオールインワンのコーデックはなに?というと、当時はOggファイルだったんですね。

――Oggファイルはmp3やADPCMに比べても圧縮率、音質ともに遜色なく扱える上、パテントフリーです。しかし、実際には採用されていませんよね?これにはどういった事情があったのでしょうか。

矢島:
オープンソースということは、それ自体に問題があったときに、どこにも責任の所在が帰属しないんです。この先長く使っていくことになる汎用的なサウンドドライバなので、責任を持って使えるものを標準にすべきだと考えました。

南:
たとえば、ゲームのBGMはループ再生しますよね。サンプル単位でループ箇所を設定する際など、少し込み入ったことをしなければいけない場合、Oggだと難しかったんです。あるいはすごく検証の手間が掛かることもあり、導入には慎重にならざるを得ませんでした。

矢島:
そこで発見したのが、CRI・ミドルウェアが開発したHCAコーデックだったんです。もともと CRIのサウンドミドルウェア「CRI ADX」(※)がマルチプラットフォームに対応していることは知っていて、「そういえばコーデックはどうなっているんだろう?」というところを問い合わせして。弊社はツール自体は内製で持っていたので、コーデックだけでライセンスを組んでいただき、導入することになりました。すべてのプラットフォームに対応する、メーカーが責任を持ってしっかり作ったコーデックというのは本当に珍しかったんです。素晴らしいなと思いました。

※CRI ADX……CRI・ミドルウェアが提供するサウンドミドルウェア。ゲーム開発で要求される多様なサウンド演出を手軽に実現することが可能。


――余談かもしれませんが、コーデック自体の開発を社内で検討することはありましたか?たとえば、南さんが自分で作ろうとしたことは

南:
いえ、調査までです。どんな技術があるのかは調べましたが、どこかが特許を持っていたりとさまざまなハードルがあるんですね。新しいコーデック開発を1,2年掛けてやるのか、もしくは既にあるきちんとした信頼の置けるコーデックをつかうのか、この判断だと後者になりますね。

矢島:
コーデックって発明なんですよ。狙って発明品をつくるのは難しいんです。真似しようと思えば、どこかの特許に引っかかります。「オリジナルで作れないの?」と南に聞いたこともありましたが、そのときは「できるわけないじゃん!」と言われました。

――導入が決まったあと、組み込み自体はスムーズに終わりましたか?

南:
はい。APIが来るまでは少し不安もありましたが、実際に受け取った後は2,3日でエンコードして、自社のドライバ上でHCAが再生できるところまではいきました。APIもシンプルで使いやすく、組み込みもスムーズにいきましたね。


――HCAコーデックを使うことで可能になったアイデアや実装面の利点はありますか?

矢島:
たとえば『ドラゴンクエストXI 過ぎ去りし時を求めて(以下、DQXI)』では全面的にHCAコーデックが使われています。コーデックが同じということは、圧縮率や音質も均一のクオリティになるということ。これの利点はなにかというと、外部の作家の方に楽曲制作をお願いするとき、ハードによって音質のクオリティが変わらないことを保証できるという点です。ハードごとにコーデックが異なり、音質も変わってしまうと、それぞれで音質評価をする必要が出てきます。同じコーデックであれば「出音は一緒です」と説明できますので、チェックの工程が減るんです。

――たしかに、『DQXI』は最終的には多くのプラットフォームで発売されました。サウンドチームでは、どういった点に気を遣われましたか?


矢島:
ゲームに組み込んだ後に、しっかり鳴り方や響き具合を確認しました。とくに、ゲームの情景に合うかを重視しました。たとえば、バトル曲はバトルで再生する用につくられているので、イベントシーンで再生するのは想定外になります。しかし、イベントからバトルにそのまま繋がるシーンでは、演出上イベントシーンの頭からバトル曲を再生したほうが良いときもあります。「このシーンはこの曲を使おう」「このシーンなら手前のイベントからバトル曲のほうが良い」など、ドラゴンクエストの楽曲を手掛けるすぎやまこういち先生やサウンドチームで話し合いました。それはほかの『ドラゴンクエスト』作品でも同様です。

――そうしたこだわりがあったからこそ、「ドラゴンクエスト」シリーズの音楽演出は素晴らしいのでしょうね。『DQXI』の開発について、エンジニアリング的な観点ではいかがでしょうか?

南:
『DQXI』はWindowsでもプレイできます。ゲーム機であればメーカーが専用コーデックを出してくれますが、Windowsは独自コーデックがありません。つまり、単純な仕様だとデータを抜かれてしまうリスクもあるわけです。HCAコーデックは暗号化が可能で、処理負荷も大きく変わらないため、大切なデータを守ることができていました。「ドラゴンクエスト」は基本に忠実に、丁寧につくっていくような作品です。エンジニア目線としては、ライブラリをお渡ししてすぐに制作が始められるのが理想形なので、その意味では技術的に複雑なことはそこまでなかったかもしれませんね。

『ドラゴンクエストXI 過ぎ去りし時を求めて S』


矢島:
その意味では、ハードスペックをギリギリまで使いにいったのは『FINAL FANTASY VII REMAKE(以下、FFVIIR)』ですね。プレイステーション 2までの時代ではハードスペックの関係上、すごくシビアにメモリ容量を計算したり、ストリーミングバッファ(※)などの処理数を細かく検討していましたが。 プレイステーション 3以降はハードスペックの向上によって少しずつその制限が外れてきて、プレイステーション 4ではかなりのことができるようになりました。

ストリーミングバッファ……音声データを再生するために、一時的にサウンドデータを保存しておく領域

南:
それでも、『FFVIIR』に関して言えば、特に物理シミュレーションや描画処理、AIなどでメモリとCPUをかなり使っていたので、サウンドも設計をしっかり考えなければいけませんでした。ボイス数も多かったので、総容量も細かく計算しながら、どの程度の圧縮率で行くかを決めていきました。

――たしかに『FFVIIR』は最先端のグラフィックス表現やインタラクティブミュージック(※)による音楽演出など、あらゆる分野で高度な技術を用いながらもマルチプラットフォーム対応を行うという、非常に大変なタイトル開発だったと思います。

インタラクティブミュージック……ゲームの状況に応じて曲の展開や音色などがシームレスに変化するサウンド演出

矢島:
シビアな開発の場合は、やはりハード固有のデコーダーの方が速いんです。他のチームから「1%でも軽くなるための選択肢を出してくれ」と言われるので、このレベルまでくるとハード依存のものを使ったほうが良いだろうという判断になります。

南:
つまり、プレイステーション 4版の『FFVIIR』では、ハード固有の高速なハードウェアコーデックを使う必要があったということです。一方、独自コーデックの存在しないWindows版はHCAを使いました。『FFVIIR』のようにギリギリまで調整が必要なタイトルはデコーダーさえ削る必要があったのですが、マルチプラットフォームにおいてはHCAも併用する。このように、「選択できる」というのが大きな利点でもありました。

『FINAL FANTASY VII REMAKE』


――選択肢が広がったというのは、純粋なメリットですね。『FFVIIR』において特に重かったシーンや、苦労した設計などはありますか?

南:
苦労は正直たくさんありましたが……最初のボスを作っている時は特に大変でしたね。インタラクティブミュージックの兼ね合いやSEとの組み合わせなどのバランスに注力しました。

矢島:
過去シリーズでもそうですが、チュートリアルが終わった瞬間から最初のボス戦までは、マイルストーン的にかなり作り込むんです。そのあとの開発は仕様を拡張していく感じなので、最初にプログラマーが頑張るのはこの部分なんですね。『FFVIIR』だと、最初に兵士がたくさん出てくるところとか大変そうだったよね。

南:
もちろん、最終的にはどこも収まってくる印象ではあります。そもそもの技術ベースでいうと、基礎となる部分は『FINAL FANTASY XV』などで完成していたので、更に良くするアイデア出しの部分で苦労があった印象もあります。たとえば、最初の方にお話した自動化の文脈でも、衣擦れの効果音などはすべてアニメーションから生成しているんです。カットシーンでもインゲームでも、どちらでも使えるように、さらに拡張しています。

――衣擦れの自動化をカットシーンで、ということは個別にMA(音の最終調整)をせずインゲームの音声を流用しているということですか?

矢島:
スローモーションシーンなどはさすがに違いますが、基本はカットシーンでも使っています。以前のシステムでは手足だけに対応していましたが、今作からは全身に対応しました。こうすることで、背中から地面に落ちたり、特定のアクションをしたときもきちんと鳴るようになっています。また、インタラクティブミュージックに関しても、それが「しっくりくるかどうか」で話をするんです。プログラマーも言われた通りやるだけではなく、クリエイターのことを考えながら、そしてクリエイターもプログラマーに一方的な主張を押し付けることなく、互いに歩み寄りながら、誰も見たことのない理想に近付けるんです。南はサウンドプログラマであってサウンドクリエイターではないけれど、でもクリエイターの意思を持った上で仕事をしなければいけない。逆も然りです。

――そのほか、既存タイトルでHCAコーデックが活躍した事例などがあれば教えてください。

矢島:
マルチプラットフォームへの対応という意味では、『アクトレイザー・ルネサンス』はNintendo Switch、プレイステーション 4、Steam、スマートフォンに展開しており、HCAコーデックが役に立ちました。楽曲は古代祐三さんにお願いをしているのですが、ハードごとに別コーデックとなると音質評価が困難になります。もちろん、ハードごとの特性を見て、それぞれ異なるMIXを行う手法もあると思いますが、『アクトレイザー・ルネサンス』はそうではない。作曲家の良いと思った作品を均一に提供したいという、お客様への提供の仕方への考え方だと思うんです。

『アクトレイザー・ルネサンス』


マルチプラットフォームで同時発売されている作品の場合、複数のハードを持っていても大抵の場合は、ご自身が1番使うハードで遊ばれていると思います。たとえば、友達の家で同じタイトルをやったとき、自分の環境より音が良い、悪いという優劣が生まれてしまったら、それはサービスの提供としてどうなんだろう?と思うところがあります。もうひとつ、制作時の話になりますがHCAはエンコードがかなり速いんです。従来はプログレスバーが少しずつ伸びていくようなエンコードも、シュッと終わるんですね。たとえば特定のボイス全般に薄いリバーブを掛けましょう、となると全波形を再度エンコードするわけですけど、これが休憩中にサッと終わるのか、一晩掛けなければ終わらないのかはものすごく大きな差があります。特に開発末期では、こういった時間の積み重ねがものすごく効いてくる。そういうイテレーションの面での恩恵は大きいです。

――まだ語られていないHCAのメリットがあれば教えてください。例えば、コスト面についてはいかがでしょうか?

矢島:
ベースコーデックがなかった場合、各ハードのコーデックかOggを使う形になると思いますが、ハードごとの固有の問題は個別に対処しなければいけません。運用タイトルも含めて数十本を担当する中で、その保守に何人を費やすか?という話になると思います。対応が難しい場合、サウンド側でタイトルを止める判断をしなければならない状況さえ起こり得るかも知れません。HCAであれば安心して使えますし、何かあったときもサポート体制が整っていますので、保守に人を充てるよりも結果的にコストを安く、かつ安定的に使えています。


南:
コーデック自体の信頼性が高く、きちんとゲームで使われることを想定されているため、開発コストも下がります。他のコーデックであればシーク位置の計算に時間が掛かったり、シークができても手前にデコードをする必要があったりと、ゲームで使うには制約が多い場合もあります。HCAはそういった仕様上の問題がなく、サンプル位置を計算できることもありがたいです。これまでは個別対応するしかなかったギャップレスループ(※)などが標準的にサポートされているので、使えると分かった時は嬉しかったですね。

ギャップレスループ……音声を継ぎ目なく滑らかにループさせる機能

――HCAの活用手法や実際のゲーム開発事例を広くご紹介いただき、ありがとうございました。今後のタイトル開発も楽しみにしています。

CRIWAREへの問い合わせはこちらから

■CRIWARE(シーアールアイウェア)について
CRIWAREは、スマートフォン、家庭用ゲーム機、Webブラウザなど様々なプラットフォームで高度な演出を実現する音声・映像ソリューションです。累計6,500を超えるタイトルに採用されています。詳しくは「CRIWARE for Games( https://game.criware.jp/)」をご覧ください。







© 2017,2020 ARMOR PROJECT/BIRD STUDIO/SQUARE ENIX All Rights Reserved.

© 1997, 2021 SQUARE ENIX CO., LTD. All Rights Reserved.
CHARACTER DESIGN: TETSUYA NOMURA/ROBERTO FERRARI

© 1990, 2021 QUINTET/SQUARE ENIX CO., LTD. All Rights Reserved.
© YUZO KOSHIRO

Daiki Kamiyama
Daiki Kamiyama

NINE GATES STUDIO コンポーザー/サウンドデザイナー/技術系ライター。商用作品への楽曲提供と並行して、”Yack Lab.”名義でゲーム制作も行っており、代表作『Gen.』は東京ゲームショウSOWNやWIRED CREATIVE HACK AWARDなどにノミネートされるなどの評価を得て来た。好きな時に好きなゲームで遊ぶため、現在はフリーとして活動中。

NINE GATES STUDIO
http://blog.nine-gates.com

Articles: 6