CRI ADX2の新機能 SonicSYNC (ソニックシンク)

初めまして!研究開発部の日置です!
梅雨でジメジメし過ぎて見事に精神がやられそうですが、お酒のおかげで元気に今日も生きながらえています!ビールが美味しい!

そんな中、本日 CRI ADX2 SDK Ver.2.22.00 をリリース致しました!
なんと!この SDK には特別な新機能を追加しています!

その名も…「SonicSYNC」!!
……名前を聞いただけだと一体どんな機能かさっぱり分かりませんね…。
というわけで、今回はこのSonicSYNCについて紹介したいと思います!

SonicSYNC とは

CRI ADX2 の再生遅延を極限まで小さくする機能です!

……と言いましたが、以下のような疑問を持っている方が少なからずいらっしゃると思います。

  • そもそも再生遅延とは一体なんぞや…?
  • 再生遅延が小さくなって何の意味があるの…?

本題の詳細に入る前に、まずは上記について簡単な解説をば…。

What’s 再生遅延?

再生遅延は何かというと、「スマホやパソコンなどのデバイスが入力を受けてから実際に音声がそのデバイスから出力(再生)されるまでの時間」です!

「いやいやww入力したらすぐに音出るでしょwww」と思っている方、もしかしたらた〜くさんいらっしゃるかもしれませんが、実際はそうではないんです…。

私たちが普段当たり前のように使用している色んなデバイスには、必ず何かしらの「遅延」が存在しています。
「何らかの操作を行ってから実際にデバイスがその反応を返す」までに掛かった時間…これがいわゆる「遅延」というものです。

例えば、ネットワークを使用した対戦ゲームを遊んでいる人だと、よく「ラグい!」という言葉を使ったことがあるかなーと思います。
この「ラグい」という言葉は元々「タイムラグ (Time lag) 」という言葉から来ており、特にこの「ラグ (lag) 」は「遅れる」という意味を持っています。
つまり、これもまた遅延の一つです。

遅延の要因は様々あり、どうしても避けられないものです。
ただ、なんとかしてこの遅延を小さくしようと、色んな開発会社が日夜努力しています。

低遅延の重要性

遅延は大きすぎると、当然ですが色んな弊害を起こします。
何らかの操作を行ってから実際に画面へ反映されるのが遅い場合、ズレによる違和感が発生して臨場感や没入感などが損なわれてしまいます。
とてもつらい。

逆に遅延が小さいと、遊びやすさは一気に向上します!
少なくとも前述したようなことは起こりませんし、身体の感覚とゲームの同期性が高いため、本来の実力が発揮しやすくなります。
実際に某アーケード向け音楽ゲームでは、低遅延などを謳った新筐体導入により、既存のハイスコアがすぐに更新されました!
低遅延すごい!

低遅延への取り組みとしてよく話題に上がるのは、画面への表示遅延です。
ゲーミングモニターと言われる表示遅延の小さいディスプレイが多く売られていることから、需要の高さも感じます。
再生遅延については、 DAW を触っている人ならお馴染みのオーディオインターフェースにて、低レイテンシー(遅延)を謳った製品がリリースされていますね。

このように、基本的に遅延を改善するためにはデバイスもといハードウェア自体を改良するケースが多いです。
もちろんソフトウェアを改良することでも遅延の改善は可能です!

SonicSYNC による低遅延化

さて、再生遅延と低遅延の重要性について理解していただいたところで話を本題に戻しましょう。
SonicSYNC について詳しくお話したいと思います。

本記事の冒頭でお話した通り、 SonicSYNC は再生遅延を極限まで小さくする機能です。
では一体どのくらい小さくなるのかというと…以下のグラフの通りです!

※上記グラフは CRI ADX2 にて初期化設定および再生方式別に 「デバイスをタッチしてから実際に音声が再生されるまでの時間」を20回計測して得られた結果です。

従来に比べると、最大 70% も再生遅延が小さくなっていることが分かりますね!
やるじゃん SonicSYNC !ヒューヒュー!カッコいい!

「すごいな、 SonicSYNC 。どうやったんだ?」と思われた方が多くいらっしゃると思います。
「いや、普通のことをやったまでです」と答えたいところですが、少しだけその仕組みをお話します。

従来の再生方式では、「再生用の音声データをある程度貯めてから再生」ということを行っていました。

これは音声再生処理としてはオーソドックスな方法であり、音途切れを回避するなどの安定した音声再生を担保するために行っています。
ただ、「再生用の音声データをある程度貯める」というこの処理は、その貯めたデータの時間が再生遅延として現れます…悲しい…。

 

――――逆に考えるんだ、この「再生用の音声データをある程度貯める」処理を無くせば良いさと…!

 

そう、 SonicSYNC はこの「再生用の音声データをある程度貯める」処理を撤廃し、デバイスの音声出力に同期して音声データを生成して再生するようになっています。
結果として、その分の遅延は解消!勝った!

……言っていることは物凄い単純明快な話なのですが、実際はかなり大変でした…。
ADX2が行っている音声処理というのは、思ったより複雑なことをやっています。
各音声のボリュームいじったり、ビートに同期したり、エフェクト掛けたり、ミックスしたり、ミックスした上でまたボリューム調整したり…などなど。
結果として、これらを含めた色んな処理をかなり短い間隔で処理することになりました。またしてもとてもつらい。
しかし!ここ数年でデバイスの性能向上と我々開発陣の力により、この艱難辛苦を乗り越えてなんとか SonicSYNC という機能を完成させました!

現在は Android と iOS のみに対応していますが、今後は別のプラットフォームにも対応していく予定です!
お楽しみに!

SonicSYNC に関連するニュース・レポート

「 SonicSYNC に関してもっと知りたい!」という方は以下のニュースも合わせて見ていただければと思います!

一度この低遅延を体験してしまうと、もしかしたらもう他のゲームでは満足できない身体になってしまうかも…?

最後に

以上、 SonicSYNC についてお話させていただきました。
ここまで読んでいただきありがとうございました!

「いやちゃんと読んでないけど概要は知りたい!」というそんな欲張りな方のためにざっくりまとめると、以下のような感じです!

  • SonicSYNC は極限まで再生遅延を小さくする機能
  • 再生遅延が従来と比較して最大 70% も小さくなる(端末に依存しますが、 50ms 程度になります)
  • 対応プラットフォームは現状 Android/iOS のみ

また、「もっともっと技術的なことが知りたい!」というそんな熱いエンジニアの方向けには、 CEDEC2021 にてマニアックな話をさせていただく予定です!
以下のセッションを楽しみに CEDEC2021 までの日常を過ごしてくださいませ!

最新版 CRI ADX2 試用のお問い合わせはこちらへどうぞ!

また別の記事でお会いしましょう!バイバイ!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です