藤本健のDigital Audio Laboratory

第909回

スマホゲームの音ズレを減らす開発ツール「SonicSYNC」とは

iPhoneやAndroidのスマホにおいて、音のレイテンシー(遅延)をいかに抑制するのかは楽器アプリはもちろん、ゲームにおいても非常に重要なテーマになっている。そんな中、レイテンシーを限りなく小さくする技術「SonicSYNC」が、日本のゲーム開発用ツールメーカーであるCRI・ミドルウェアからリリースされた。

SonicSYNCそのものは、ゲームメーカーが利用する業務用のシステムADX2に含まれる新機能という位置づけなのだが、個人のゲーム開発者向けに提供されているADX2 LE(無料版)にも、業務用ADX2と同じ機能が実装されているという。

SonicSYNCとはどんなシステムで、どのようにして低遅延を実現させているのか、CRI・ミドルウェアの取締役CTOでエンターテインメント事業本部長 兼 エンターテインメント事業本部 研究開発部部長の櫻井敦史氏、執行役員の横山裕一氏、そしてクライアントエンジニアの藤田優治氏の3名に、オンラインで話を伺った。

CRI・ミドルウェア 取締役CTO エンターテインメント事業本部長 兼 エンターテインメント事業本部 研究開発部 部長 櫻井敦史氏
執行役員 横山裕一氏
クライアントエンジニア 藤田優治氏

スマホゲームの音ズレ問題。“音の準備”部分にメスを入れる

――スマホで音のレイテンシーを大きく縮める「SonicSYNC」。開発の理由を教えてください。

櫻井氏(以下敬称略):従来のスマホではどうしても音声の遅延が発生してしまい、大きいものだと30フレームくらい遅れてしまう状況でした。とくにAndroidだと機種によるバラツキが大きく、ゲーム開発において大きな課題となっていました。実際、iPhone 12 Proで測定した結果が、下記の表です。

櫻井:プログラムでかなり工夫をして、遅延をできる限り小さくした状態で109ms。通常のプログラムでは234msという結果となり、これだけ遅延が大きいと、どうしても違和感を感じてしまいます。そこで、このレイテンシーをいかに縮めるか? ということでSonicSYNCの開発が始まりました。SonicSYNCを使うことで、53msというところまで短縮することができました。SonicSYNCを使って制作したゲームであれば、違和感なくゲームを楽しむことが可能になりました。

横山:アコースティックピアノでのレイテンシーが40~60msといわれていますので、それと同等のところまで、遅延を抑制できた格好です。

――あれ? iOSで、そんなにレイテンシーがありますか? シンセサイザアプリなど、iOSの楽器アプリでは30msもないと認識していましたが、通常で100msとか、200msもあるのでしょうか?

櫻井:楽器アプリとゲームアプリとでは、大きな違いがあります。確かに楽器アプリの場合は、1つの音を出すことにだけ集中できますから、最小のレイテンシーで鳴らすことが可能です。しかしゲームの場合、さまざまな音を同時に出して、それぞれにエフェクトをかけ、さらにミキサーでまとめていく必要があります。そうした処理を同時に行なうため、楽器アプリのようにシンプルにはいかないという事情があるのです。

藤田:普通にプログラムを作ると、iPhoneの場合で200ms以上になってしまいます。Unityにも遅延を短縮する機能がありまして、それを利用することでなんとか109msという数値を実現していたのですが、バッファリングするサイズによって遅延も変わりますし、機種によっては音切れのリスクもありますから、簡単にはいかないのです。

――なるほど。確かにゲームだと、BGMも鳴っているし、シチュエーションによって効果音も加わるし、アクションに応じて音声も出るので、楽器アプリとは違うわけですね。とはいえ、100msとか200msものレイテンシーがあると、スマホゲームは厳しいということになりませんか?

櫻井:とくに“音ゲー”においては、致命的な数字です。ですから、いろいろな工夫で、ごまかしているのです。もともとスマホは物理ボタンではありませんし、レイテンシーが気になりにくいという面もあります。というのも、物理ボタンだと押した瞬間から音が出るまでをレイテンシーと感じるのに対し、スマホの場合、スクリーンから指を離した瞬間からの時間をレイテンシーと認知する傾向があるので、それをうまく利用すると、あまり気にならなかったりもするわけです。

藤田:ユーザーが最も気になるのは“タップ音”なので、タップ音だけはミックスせずに直接音を出すというのも、ごまかしの一つのテクニックです。

――一方で、iPhoneを使うかAndroidを使うかなどによっても、レイテンシーは大きく違いますよね?

横山:そうですね。iPhoneでもいろいろ違いますが、Androidだとさらに端末間のバラつきは大きいです。遅い機種は非常に遅いのですが、Pixel 3などはiPhoneよりもレイテンシーが小さいのです。SonicSYNCは、ハードウェア固有にレイテンシーを小さくすることはできませんが、それ以外をほぼゼロに近いところまで縮める事ができるのが特徴です。

スマホの機種別のバッファサイズと遅延時間(CRI・ミドルウェア提供)

――改めて、音ゲーにおけるレイテンシーがなぜ生じるのかを教えてください。

櫻井:スマホにおける遅延は、ユーザーが画面をタップしてから音が出るまでの間に3段階あります。まずは、タップにおける物理的遅延。タップしたことをシステムが認知するまでの時間ですね。これはどうにも変えることはできません。

2番目が「音の準備」のための遅延です。ゲームでは音楽、SE、ボイスなど様々な音を鳴らしています。データは圧縮されていますし、エフェクトもかけたりで、処理がとにかく多いのです。これを安定的に動作させるためには作った音はいったんバッファに溜めておくというのが一般的な方法でして、ここで大きな遅延が発生します。

そして3番目は、先ほどの楽器アプリのときに話題になった音の出口における遅延です。サウンドドライバ部における遅延ですね。これはハードウェアに依存する部分ですから、縮めることが困難です。そのためSonicSYNCでターゲットとしているのは、2番目の音の準備の部分で、ここを限りなくゼロにするということをしているのです。

――どのようにして遅延ゼロを実現しているのですか?

櫻井:複数の音声処理を短時間で終わるように細かく分割し、音が必要になった時に、その場で準備してすぐに鳴らすということを行なっています。

櫻井:もう少し技術的にいうと、最終的に音を出すためのシステムであるオーディオドライバは定期的に音データを取りに来るのに対し、ゲームのシステム側はその周期に合わせてデータを受け渡せるのがベストですが、そう簡単にはいきません。そこで動作の周期の差をバッファリングで吸収するという方法を採りました。要するに、事前にできることはなるべく早めに行っていくといった積み重ねでここを限りなくゼロにするという地道なことをしています。

――結果的には、ゲーム特有の「音の準備」部分をなくしたことで、レイテンシーの問題を解決できたというわけですね。

横山:今回、SonicSYNCをタイトーの音楽ゲームアプリ「ディズニー ミュージックパレード」で採用いただきましたが、最初に触ったときはボタンを押す前に音が鳴ってるような感覚すらありましたからね。効果は抜群だったと思います。

音楽ゲームアプリ「ディズニー ミュージックパレード」
(C) Disney. (C) Disney/Pixar. Published by TAITO
(C) Disney. (C) Disney/Pixar. Published by TAITO

櫻井:もう一つ大きいのが、Bluetoothのワイヤレスイヤフォンを使った場合です。Bluetoothイヤフォンは仕組み上、50ms以上のレイテンシーがあるため、音ゲーにおいてワイヤレスイヤフォンは音の遅れが大きすぎて使えない、というのがこれまでの常識でした。

しかし、SonicSYNCを使うことで、ベースとなる音のレイテンシーを縮めることができたため、Bluetoothイヤフォンでもそこそこ使えるようになりました。このことは多くの方に喜んでいただけるのではないか、と思っています。

――SonicSYNCを使うメリットというのはよくわかりましたが、同機能はゲームソフトメーカーがCRI・ミドルウェアとADX2の使用許諾契約を結んで、初めて使えるというものですよね?

櫻井:基本的にはその通りです。しかし、学生や個人のゲームプログラマが増えているなか、そうした方々でも無料で利用できるADX2 LEというミドルウェアをリリースしており、この中にもSonicSYNCを搭載しております。

コンテンツの配信が自分自身であること、コンテンツの売り上げが1,000万円以内であることなど、いくつかの条件はありますが、個人の方であればほとんどの方が無料で利用できます。ゲームメーカー勤務の方でも、個人で同人ゲーム等を出されている方も多いので、そうした方も含めて利用可能です。

――機能的、性能的な制限はありますか?

櫻井:SonicSYNCについては、ADX2もADX2 LEも同じものを搭載していますから、何ら変わりなく使うことができます。Unityで開発している場合、非常に簡単に使えますから、ぜひ試してみていただきたいですね。基本的にはメールアドレスを登録するだけで、入手することができますので。

横山:ゲーム業界への志を持った学生や、すでにゲーム業界に入った方でも、個人用ツールとしてSonicSYNCというか、ADX2を使ってもらうことで、気持ちいい音が簡単にできるツールであることを理解してもらいたいという啓蒙活動として無料で出しています。いいゲームサウンドにするにはCRI・ミドルウェアのツールを使えばいいということを多くの人に理解していただければと無料開放しているので、ぜひ、多くの方に試していただきたいですね。

藤本健

 リクルートに15年勤務した後、2004年に有限会社フラクタル・デザインを設立。リクルート在籍時代からMIDI、オーディオ、レコーディング関連の記事を中心に執筆している。以前にはシーケンスソフトの開発やMIDIインターフェイス、パソコン用音源の開発に携わったこともあるため、現在でも、システム周りの知識は深い。  著書に「コンプリートDTMガイドブック」(リットーミュージック)、「できる初音ミク&鏡音リン・レン 」(インプレスジャパン)、「MASTER OF SONAR」(BNN新社)などがある。またブログ型ニュースサイトDTMステーションを運営するほか、All AboutではDTM・デジタルレコーディング担当ガイドも務めている。Twitterは@kenfujimoto